面试题
- 手写call/apply/bind
- 手写new
- 手写Object.create()
- typeof、instanceof比较、原理、实现
- 手写深拷贝、深比较、深合并
- 手写节流与防抖函数
- 数组操作(扁平化、去重、求和、最大最小值、交并差集、排序、乱序)
- 字符串操作(数字千分化、驼峰命名转化、字符串查找、解析 URL Params 为对象)
- 手写函数柯里化、反柯里化
- 手写promise
- 手写async/await
- 手写支持绑定、解绑和派发的事件类Event (发布/订阅模式)
- 手写JSON.stringify()、JSON.parse()
- 基于ES5/ES6实现双向绑定
- 手写sleep(一段时间后就去执行某个函数)
- 手写事件委托
- 手写可以拖拽的div
- 手写模板引擎
- 常用算法排序(快排)
- 常见设计模式
- 实现水平垂直居中
- vue/react/angular源码
- webpack源码(tappable、HMR)
- nodejs源码(KOA)
参考:
面试官:既然React/Vue可以用Event Bus进行组件通信,你可以实现下吗?
面试官: 实现双向绑定Proxy比defineproperty优劣如何?