# 酷家乐

# 一面

  1. 项目中的性能优化
  2. 项目中有什么值得说的
  3. ts 有什么优势
  4. type 和 interface 的区别
  5. React 的事件机制
  6. 聊聊 React 的 diff
  7. React 优化
  8. 如何理解闭包
  9. 节流的实现
  10. es5 继承

# 二面

  1. React 基本原理

  2. React 的性能优化

  3. Redux 重点概念

  4. 聊一下 React 的生命周期

  5. Hooks 如何处理生命周期

  6. 笔试题

    1. const a = { b: 3 }
      
      function foo(obj) {
        obj.b = 5
      
        return obj
      }
      
      const aa = foo(a)
      
      console.log(a.b)
      
      console.log(aa.b)
      
      
    2. function Ofo() {}
      
      function Bick() {
      	this.name = 'mybick'
      }
      
      var myBick = new Ofo()
      
      Ofo.prototype = new Bick()
      
      var youbick = new Bick()
      
      console.log(myBick.name)
      
      console.log(youbick.name)
      
      
    3. 考察盒子模型和 box-sizing 属性,判断元素的尺寸和颜色。

    4. 实现一个 fill 函数,不能用循环

    5. 用 ES5 实现私有变量

# 三面

  1. 性能优化
  2. class组件如何做性能优化
  3. 实现一个 TypeScript 里面的 Pick
  4. 手写 Promise.all
  5. 手写并发限制器
  6. 算法题,判断单链表相交
  7. 算法题,如何找到第一个相交的点

# 四面

  1. 吹逼
  2. 如何实现水平垂直居中
  3. 看过开源库的源码吗
  4. 聊聊 React 的源码
  5. FiberNode 有哪些属性
  6. stateNode 有什么作用

# 拼多多

# 一面

  1. React 16 生命周期的变化
  2. 详细介绍一下 getDerivedStateFromProps
  3. flex: 0 1 auto 具体表示什么含义
  4. less 的 & 代表什么
  5. 算法题:求字符串最大公共前缀
  6. interface 和 type 的区别
  7. 状态管理工具
  8. 有用过 ssr 吗
  9. node 熟悉吗

# 二面

  1. class组件和函数组件的区别
  2. css 优先级
  3. 避免 css 全局污染
  4. css modules 原理
  5. 有一个 a 标签,如何动态决定他的样式
  6. import 和 require 的区别
  7. require 有什么性能问题
  8. 组件库如何做按需加载
  9. webpack 如何实现动态加载
  10. react 动态加载的 api
  11. React.lazy 的原理
  12. webpack 能动态加载 require 引入的模块吗
  13. require 引入的模块能做摇树吗
  14. 设计一个input组件需要哪些属性
  15. value 的类型是什么
  16. onChange 怎么规定 value 的类型
  17. interface 和 type 的区别
  18. 写一个 Promise 重试函数,可以设置时间间隔

# 三面

  1. 组件平台有哪些功能
  2. 实现一个 redux
  3. 用 ts 实现一个 redux