#### 數據結構與算法
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. 前端處理海量數據的算法方案