技术面经

加粗代表重点+高频

  1. HTML & CSS
  1. 什么是BFC,BFC有什么作用
  2. 列举你所知道的所有水平垂直居中的方法
  3. flex:1是哪些属性的缩写,flex-glow, flex-shrink, flex-basis 都分别有什么作用
  4. em和rem区别
  5. 响应式怎么做
  6. 1px 方案
  7. grid是否了解
  8. 重绘和回流
  1. JS

列举常见数组方法,常见字符串方法
节流、防抖的应用场景以及实现方式
原型链原理
什么是闭包,有什么作用
说说什么是高阶函数, 和React中的高阶组件有什么关系
说说浅拷贝深拷贝,以及实现一个深拷贝函数的思路
数组的map和forEach方法的区别
说说EventLoop的原理,什么是宏任务什么是微任务
map是浅拷贝还是深拷贝
bind两次是否有作用
bind的作用是什么
for of 和for in的区别
forEach怎么中断
怎么实现继承,call这种方式有什么缺点
使用new关键词实例化一个类的的时候都发生了什么,能否自己实现一个new函数做到与new关键词实现同样的功能
Set 和 Map的区别
Map数据结构的使用方法
weakSet和weakMap区别
Promise.race和Promise.all的区别
promise all的时候如果出错了是怎么返回

  1. React

constructor里为什么要调用super方法
React有哪些生命周期
父子组件之间通信有几种方式
setState方法是同步还是异步
在一个事件处理函数里面多地调用this.setState,页面会渲染几次
redux的流程
redux中connect函数的作用
class组件和function组件的区别
shouldComponentUpdate有什么作用, 是否用过PureComponent和React.memo
hooks和class风格的区别在哪儿
useCallback和useMemo分别有什么作用
useRef的使用场景
forwardRef使用场景
虚拟dom的大致原理
路由有几种模式(hash和history),有哪些区别
redux thunk中间件的实现原理
hooks写法比较容易犯的错误都有哪些

  1. 设计模式

什么是观察者模式
观察者模式和发布订阅模式的区别

  1. Webpack

webpack和loader的区别是什么
你自己写过plugin吗,项目中都用到了哪些plugin和loader,都有哪些作用

其他

  1. 你在工作中有没有遇到什么让你印象深刻,比较困难的问题,你当时是怎么解决的
  2. 你在团队中扮演一个什么样的角色,发挥了什么作用
  3. 有没有做过对业务提效有价值的工作
  4. 有没有写博客的习惯

推荐阅读更多精彩内容