# 酷家乐
# 一面
- 项目中的性能优化
- 项目中有什么值得说的
- ts 有什么优势
- type 和 interface 的区别
- React 的事件机制
- 聊聊 React 的 diff
- React 优化
- 如何理解闭包
- 节流的实现
- es5 继承
# 二面
React 基本原理
React 的性能优化
Redux 重点概念
聊一下 React 的生命周期
Hooks 如何处理生命周期
笔试题
const a = { b: 3 } function foo(obj) { obj.b = 5 return obj } const aa = foo(a) console.log(a.b) console.log(aa.b)
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)
考察盒子模型和
box-sizing
属性,判断元素的尺寸和颜色。实现一个 fill 函数,不能用循环
用 ES5 实现私有变量
# 三面
- 性能优化
- class组件如何做性能优化
- 实现一个 TypeScript 里面的 Pick
- 手写 Promise.all
- 手写并发限制器
- 算法题,判断单链表相交
- 算法题,如何找到第一个相交的点
# 四面
- 吹逼
- 如何实现水平垂直居中
- 看过开源库的源码吗
- 聊聊 React 的源码
- FiberNode 有哪些属性
- stateNode 有什么作用
# 拼多多
# 一面
- React 16 生命周期的变化
- 详细介绍一下 getDerivedStateFromProps
flex: 0 1 auto
具体表示什么含义- less 的 & 代表什么
- 算法题:求字符串最大公共前缀
- interface 和 type 的区别
- 状态管理工具
- 有用过 ssr 吗
- node 熟悉吗
# 二面
- class组件和函数组件的区别
- css 优先级
- 避免 css 全局污染
- css modules 原理
- 有一个 a 标签,如何动态决定他的样式
- import 和 require 的区别
- require 有什么性能问题
- 组件库如何做按需加载
- webpack 如何实现动态加载
- react 动态加载的 api
- React.lazy 的原理
- webpack 能动态加载 require 引入的模块吗
- require 引入的模块能做摇树吗
- 设计一个input组件需要哪些属性
- value 的类型是什么
- onChange 怎么规定 value 的类型
- interface 和 type 的区别
- 写一个 Promise 重试函数,可以设置时间间隔
# 三面
- 组件平台有哪些功能
- 实现一个 redux
- 用 ts 实现一个 redux