2020.6.29 字节一面
- 自我介绍
- 对项目做一个简单的介绍(实现的功能以及收获)(建议把项目设计的知识点汇总,关键点提炼)
- 项目中如何进行登录认证(jwt中的token)
- token 是如何实现认证的?通过什么存储?(sessionStorage)
- 浏览器中存储cookie,sessionStorage,localStorage对比,涉及到cookie的安全认证(CSRF攻击),
- 如何解决cookie跨域引起的安全问题(三种:same-sit,Referer认证,token)
- put和get的区别
- get的缓存功能是自己缓存的还是需要手动?
- 缓存了解吗?说下缓存的类型?强缓存,协商缓存,建议service worker看下
- 项目中有没有使用到缓存(DNS缓存,浏览器缓存,服务器缓存)
- 三道编程题:
- 字符串去重(时间复杂度为O(n)
- 写一个函数,奇数次打印1,偶数次打印2,不能再全局中声明变量(使用闭包知识)
- 括号匹配问题(使用栈),返回true/false
- 在map中为什么读取值的时间复杂度是O(1),底层实现是hash,哈希的有一个哈希函数,(Hash表的物理存储其实是一个数组)
- 反问问题
阿里
使用过的koa2中间件
koa-body原理
介绍自己写过的中间件
有没有涉及到Cluster
介绍pm2
master挂了的话pm2怎么处理
如何和MySQL进行通信
React声明周期及自己的理解
如何配置React-Router
路由的动态加载模块
服务端渲染SSR
介绍路由的history
介绍Redux数据流的流程
Redux如何实现多个组件之间的通信,多个组件使用相同状态如何进行管理
多个组件之间如何拆分各自的state,每块小的组件有自己的状态,它们之间还有一些公共的状态需要维护,如何思考这块
使用过的Redux中间件
如何解决跨域的问题
常见Http请求头
移动端适配1px的问题
介绍flex布局
其他css方式设置垂直居中
居中为什么要使用transform(为什么不使用marginLeft/Top)
使用过webpack里面哪些plugin和loader
webpack里面的插件是怎么实现的
dev-server是怎么跑起来
项目优化
抽取公共文件是怎么配置的
项目中如何处理安全问题
怎么实现this对象的深拷贝
网易
介绍redux,主要解决什么问题
文件上传如何做断点续传
表单可以跨域吗
promise、async有什么区别
搜索请求如何处理(防抖)
搜索请求中文如何请求
介绍观察者模式
介绍中介者模式
观察者和订阅-发布的区别,各自用在哪里
介绍react优化
介绍http2.0
通过什么做到并发请求
http1.1时如何复用tcp连接
介绍service worker
介绍css3中position:sticky
redux请求中间件如何处理并发
介绍Promise,异常捕获
介绍position属性包括CSS3新增
浏览器事件流向
介绍事件代理以及优缺点
React组件中怎么做事件代理
React组件事件代理的原理
介绍this各种情况
前端怎么控制管理路由
使用路由时出现问题如何解决
React怎么做数据的检查和变化
滴滴
react-router怎么实现路由切换
react-router里的Link标签和a标签有什么区别
a标签默认事件禁掉之后做了什么才实现了跳转
React层面的性能优化
整个前端性能提升大致分几类
import { Button } from ‘antd’,打包的时候只打包button,分模块加载,是怎么做到的使用import时,webpack对node_modules里的依赖会做什么
JS异步解决方案的发展历程以及优缺点
Http报文的请求会有几个部分
cookie放哪里,cookie能做的事情和存在的价值
cookie和token都存放在header里面,为什么只劫持前者
cookie和session有哪些方面的区别
React中Dom结构发生变化后内部经历了哪些变化
React挂载的时候有3个组件,textComponent、composeComponent、domComponent,区别和关系,Dom结构发生变化时怎么区分data的变化,怎么更新,更新怎么调度,如果更新的时候还有其他任务存在怎么处理
key主要是解决哪一类的问题,为什么不建议用索引index(重绘)
Redux中异步的请求怎么处理
Redux中间件是什么东西,接受几个参数(两端的柯里化函数)
柯里化函数两端的参数具体是什么东西
中间件是怎么拿到store和action,然后怎么处理
state是怎么注入到组件的,从reducer到组件经历了什么样的过程koa中response.send、response.rounded、response.json发生了什么事,浏览器为什么能识别到它是一个json结构或是html
koa-bodyparser怎么来解析request
webpack整个生命周期,loader和plugin有什么区别介绍AST(Abstract Syntax Tree)抽象语法树
安卓Activity之间数据是怎么传递的
安卓4.0到6.0过程中WebView对js兼容性的变化
WebView和原生是如何通信跨域怎么解决,有没有使用过Apache等方案
今日头条
- 对async、await的理解,内部原理
- 介绍下Promise,内部实现
- 清除浮动
- 定位问题(绝对定位、相对定位等)
- 从输入URL到页面加载全过程
- tcp3次握手
- tcp属于哪一层(1 物理层 -> 2 数据链路层 -> 3 网络层(ip)-> 4 传输层(tcp) -> 5 应用层(http))
- redux的设计思想
- 接入redux的过程
- 绑定connect的过程
- connect原理
- webpack介绍
== 和 ===的区别,什么情况下用相等== - bind、call、apply的区别
- 动画的了解
- 介绍下原型链(解决的是继承问题吗)
- 对跨域的了解
本文链接: https://sparkparis.github.io/2020/04/16/%E9%9D%A2%E8%AF%95-1/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!