#### 数据结构与算法
1. 多种方式实现数组去重、扁平化、对比优缺点
2. 多种方式实现深拷贝、对比优缺点
3. 手写函数柯里化工具函数、并理解其应用场景和优势
4. 手写防抖和节流工具函数、并理解其内部原理和应用场景
5. 实现一个sleep函数
#### 手动实现前端轮子
1. 手动实现call、applay、bind
2. 手动实现符合Promise/A+规范的Promise、手动实现async await
3. 手写一个EventEmitter实现事件发布、订阅
4. 可以说出两种实现双向绑定的方案、可以手动实现
5. 手写JSON.stringify、JSON.parse
6. 手写一个模板引擎,并能解释其原理
7. 手写懒加载、下拉刷新、上拉加载、预加载等效果
#### 数据结构
1. 理解常见数据结构的特点,以及他们在不同场景下的优缺点
2. 理解数组、字符串的存储原理,,并熟练应用他们解决问题
3. 理解二叉树、栈、队列、哈希表的基本结构和特点,并可以应用它解决问题
4. 了解图、堆 的基本结构和使用场景
#### 算法
1. 可计算一个算法的时间复杂度和空间复杂度,可估计业务逻辑代码的耗时和内存消耗
2. 至少理解五种排序算法的实现原理、应用场景、优缺点、可快速说出时间、空间复杂度
3. 了解递归和循环的优缺点、应用场景、并可在开发中熟练应用
4. 可应用回溯算法、贪心算法、分治算法、动态规划等解决复杂问题
5. 前端处理海量数据的算法方案