react 部分
- 生命周期简述
答: 总体分为三个主要阶段:挂载阶段、 更新阶段、卸载阶段,16.3版本之前与之后版本有所不同 16.3版本之前:
挂载阶段依次:constructor, componentWillMount, render, componentDidMount
更新阶段:componentWillReceiveProps, shouldComponentUpdate, componentWillUpdate, render, componentDidUpdate,
卸载阶段: componentWillUnmount
16.3版本及之后: 挂载: constructor() static getDerivedStateFromProps() render() componentDidMount()
更新: static getDerivedStateFromProps() shouldComponentUpdate() render() getSnapshotBeforeUpdate() componentDidUpdate()
卸载: componentWillUnmount()
- setState是同步还是异步
答: setState在react自身合成事件和生命周期函数中是“异步”的,在原生事件和 setTimeout 中都是同步的。
异步的时候可以通过第二个参数 setState(partialState, callback) 中的callback拿到更新后的结果。
如果是同时 setState 多个不同的值,在更新时会对其进行合并批量更新。
React合成事件和原生事件区别 React合成事件一套机制:React并不是将click事件直接绑定在dom上面,而是采用事件冒泡的形式冒泡到document上面,然后React将事件封装给正式的函数处理运行和处理
- HOC
- 受控组件or非受控组件
- 单页测试jest
redux 部分
- 中间价(middleware)
原生js部分
- 原型链,继承
- 浅比较or深比较
- es6(promise)
- 前端安全部分xss,CSRF
- 函数节流,防抖
- wcag
- 闭包
- 跨域
- 事件机制
- dom的渲染机制
css部分
- 文档流 postion
- 水平、垂直居中
- 响应式response(css实现, js实现)
综合部分
- git 工作流程
- 项目角色、任务
- 技术选型
- 开发组件接口设计