#### 運行環境
1. 瀏覽器作為JavaScript的一種運行環境,為它提供了文檔對象模型( DOM )
2. 瀏覽器對象模型( BOM )
3. Node也是JavaScript的一種運行環境,為它提供了操作 I/O、網絡等API
#### 瀏覽器API
1. 瀏覽器提供的符合W3C標準的DOM操作API、瀏覽器差異、兼容性
2. 瀏覽器提供的瀏覽器對象模型BOM的全局API,瀏覽器差異、兼容性
3. 大量DOM操作、海量數據的性能優化( 合并操作、Diff、requestAnimationFrame等 )
4. 瀏覽器海量數據存儲、操作性能優化
5. DOM事件流的具體實現機制、不同瀏覽器的差異、事件代理
6. 前端發起網絡請求的幾種方式及其底層實現、可以手寫原型ajax、fetch、可以熟練使用第三方庫
7. 瀏覽器的同源策略,如何避免同源策略,幾種方式的異同點以及如何選型
8. 瀏覽器提供的幾種存儲機制、優缺點、開發中正確的選擇
9. 瀏覽器跨標簽通信
#### 瀏覽器原理
1. 各瀏覽器使用的JavaScript引擎以及它們的異同點、如何在代碼中進行區分
2. 請求數據到請求結束與服務器了幾次交互
3. 可詳細描述瀏覽器從輸入URL到頁面展現的詳細過程
4. 瀏覽器解析HTML代碼的原理,以及構建DOM樹的流程
5. 瀏覽器如何解析CSS規則,并將其應用到DOM樹上
6. 瀏覽器如何解析好的帶有樣式的DOM樹進行繪制
7. 瀏覽器的運行機制,如何配置資源異步同步加載
8. 瀏覽器回流與重繪的底層原理,引發原因,如何有效避免
9. 瀏覽器的垃圾回收機制,如何避免內存泄漏
10. 瀏覽器采用的緩存方案,如何選擇和控制合適的緩存方案
#### Node
1. 理解Node在應用程序中的作用,可以借助Node搭建前端運行環境,使用Node操作文件、操作數據庫等等
2. 掌握一種Node開發框架,如Express、Koa,Express和Koa的區別
3. 熟練使用Node提供的API如Path、Http、Child Process等并理解其實現原理
4. Node的底層運行原理、和瀏覽器的異同
5. Node事件驅動、非阻塞機制的實現原理