react 16.x版本的变化
16.x以后引用了一个fiber的架构,异步渲染。改变了之前react的组件渲染机制,新的架构使原来同步渲染的组件现在可以异步化,可中途中断渲染,执行更高优先级的任务。释放浏览器主线程,vue 3.x 可能考虑引入
react 生命周期
16.4以后的版本,将componentWillMount , componentWillReciveProps, componentWillUpdate去掉,因为新版本推出filber后,开启async rendering,在render之前的函数,有肯能会被执行多次。譬如在componentWillMount中发布ajax请求,会赶不上render 的渲染速度
创建时生命周期
- constructor()
- render()
- componentDidMount()
更新阶段为:
- shouldComponentUpdate()
- render()
- componentDidUpdate
pureComponent vs Component
- 它们几乎完全相同,但是PureComponent通过prop和state的浅比较来实现shouldComponentUpdate,某些情况下可以用PureComponent提升性能,
- PureComponent不仅会影响本身,而且会影响子组件,所以PureComponent最佳情况是展示组件
- 如果prop和state每次都会变,那么PureComponent的效率还不如Component,因为你知道的,进行浅比较也是需要时间
react hook 高阶组件原理
函数式编程, 在函数组件中可以操作state, 生命周期
vue-router react-router 区别
节流防抖
防抖是将多次执行变为最后一次执行,节流是将多次执行变为每隔一段时间执行
所谓节流,就是指连续触发事件但是在 n 秒中只执行一次函数,节流会稀释函数的执行频率,对于节流,一般有两种方式可以实现,分别是时间戳版和定时器版。
所谓防抖,就是指触发事件后在 n 秒内函数只能执行一次,如果在 n 秒内又触发了事件,则会重新计算函数执行时间
单点登录原理
单点登录: 登录一次,可以到处访问
1,用户访问系统A,未登录跳转到登录界面
2,将当前url以参数形式传入 认证中心sso, 验证用户密码没问题,发放一个令牌跟系统A,并生成一个全局的
3,A 拿到令牌,允许访问,并生成一个局部会话
上传插件流程,怎么测试
get/post区别
跨域
weback 打包原理
中台的理解
AST抽象语法树
for in for of区别
js 事件的循环机制
长链接 短连接 区别
原型原型链
前端并发解决办法
三次握手四次挥手
cros xss原理
最近配置的webpack项目
vuex rudux区别
redux 中只有同步没有异步,只有dispatch没有commit
1, vuex的同步异步方式不一样,
- view——>commit——>mutations——>state变化——>view变化(同步操作)
- view——>dispatch——>actions——>mutations——>state变化——>view变化(异步操作)
2, redux的同步异步方式一样,只有同步操作,没有异步操作,异步操作可以用redux-thunk。
view——>dispatch——>actions——>reducer——>state变化——>view变化(同步异步一样)