要在200天內完成這些,過程當中會更新前端
大體目標就是這樣,達到以後,就只看看前沿的技術,不被淘汰就好,就去作其餘的事情vue
前端知識體系webpack
HTML5 WebStoragenginx
HTML5 ApplicationCachegit
HTML5 WebWorkerses6
JavaScript
規定了幾種基本數據類型JavaScript
對象的底層數據結構是什麼null
和undefined
的區別JavaScript
數據類型的方式,以及他們的優缺點,如何準確的判斷數組類型JavaScript
能夠存儲的最大數字、最大安全數字,JavaScript
處理大數字的方法、避免精度丟失的方法JavaScript
中的原型設計instanceof
的底層實現原理,手動實現一個instanceof
Node
)中應用原型繼承的案例new
一個對象的詳細過程,手動實現一個new
操做符es6 class
構造以及繼承的底層實現原理JavaScript
的做用域和做用域鏈JavaScript
的執行上下文棧,能夠應用堆棧信息快速定位問題this
的原理以及幾種不一樣使用場景的取值try
裏面放return
,finally
還會執行,理解其內部機制JavaScript
如何實現異步編程,能夠詳細描述EventLoop
機制Node
與瀏覽器EventLoop
的差別Promise
實現串行JavaScript
異常處理的方式,統一的異常處理方案ECMAScript
和JavaScript
的關係es5
、es6
提供的語法規範JavaScript
提供的全局對象(例如Date
、Math
)、全局函數(例如decodeURI
、isNaN
)、全局屬性(例如Infinity
、undefined
)map
、reduce
、filter
等高階函數解決問題setInterval
須要注意的點,使用settimeout
實現setInterval
JavaScript
提供的正則表達式API
、可使用正則表達式(郵箱校驗、URL
解析、去重等)解決常見問題sleep
函數call、apply、bind
Promise/A+
規範的Promise
、手動實現async await
EventEmitter
實現事件發佈、訂閱JSON.stringify
、JSON.parse
懶加載
、下拉刷新
、上拉加載
、預加載
等效果W3C
標準的DOM
操做API
、瀏覽器差別、兼容性BOM
)提供的全部全局API
、瀏覽器差別、兼容性DOM
操做、海量數據的性能優化(合併操做、Diff
、requestAnimationFrame
等)DOM
事件流的具體實現機制、不一樣瀏覽器的差別、事件代理ajax
、fetch
、能夠熟練使用第三方庫URL
到頁面展示的詳細過程HTML
代碼的原理,以及構建DOM
樹的流程CSS
規則,並將其應用到DOM
樹上Node
在應用程序中的做用Node
事件驅動、非阻塞機制的實現原理Node
的底層運行原理、和瀏覽器的異同Node
開發框架,如Express
,Express
和Koa
的區別Node
提供的API
如Path
、Http
、Child Process
等並理解其實現原理泛型
、接口
等面向對象的相關概念,TypeScript
對面向對象理念的實現TypeScript
的好處,掌握TypeScript
基礎語法TypeScript
的規則檢測原理React
和vue
選型和優缺點、核心架構的區別React
的事件底層實現機制React
中setState
的執行機制,如何有效的管理狀態React
的虛擬DOM
和Diff
算法的內部實現React
的Fiber
工做原理,解決了什麼問題React Router
和Vue Router
的底層實現原理、動態加載實現原理React API
、生命週期等,可應用HOC
、render props
、Hooks
等高階用法解決問題MVVM
框架設計理念Vue
的API
、生命週期、鉤子函數Vue
雙向綁定實現原理、Diff
算法的內部實現Vue
的事件底層實現機制React
和Vue
傳統的跨組件通訊方案,對比採用數據流管理框架的異同Redux
管理數據流,並理解其實現原理,中間件實現原理Mobx
管理數據流,並理解其實現原理,相比Redux
有什麼優點Vuex
管理數據流,並理解其實現原理Charles
Android
、IOS
模擬器進行調試,並掌握一種真機調試方案Vue
、React
等框架調試工具的使用UI
組件框架,如antd design
,理解其設計理念、底層實現Echart
,理解其設計理念、底層實現,能夠本身實現圖表GIS
開發框架,如百度地圖API
Three.js
、D3
lodash
、underscore
、moment
等,理解使用的工具類或工具函數的具體實現原理SPA
)的原理和優缺點,掌握一種快速開發SPA
的方案Viewport
、em
、rem
的原理和用法,分辨率、px
、ppi
、dpi
、dp
的區別和實際應用JavaScript
`PC客戶端開發技術,如
Electron:可搭建
Electron開發環境,熟練進行開發,可理解
Electron`的運做原理npm
、yarn
依賴包管理的原理,二者的區別Babel
、webpack
、ESLint
等工具在項目中承擔的做用ESLint
規則檢測原理,經常使用的ESLint
配置Babel
的核心原理,能夠本身編寫一個Babel
插件Polyfill
Webpack
的編譯原理、構建流程、熱更新原理,chunk
、bundle
和module
的區別和應用loaders
和plugins
解決問題,能夠本身編寫loaders
和plugins
nginx
服務器nginx
內置變量,掌握經常使用的匹配規則寫法nginx
實現請求過濾、配置gzip
、負載均衡等,並能解釋其內部原理mock
工具的使用,如yapi
TDD
與BDD
模式,至少會使用一種前端單元測試框架CI/CD
技術的意義,至少熟練掌握一種CI/CD
工具的使用,如Jenkins
Web
應用、移動客戶端應用、PC
客戶端應用、小程序、H5
等等)Git
的核心原理、工做流程、和SVN
的區別Git
命令、git rebase
、git stash
等進階命令線上分支回滾
、線上分支錯誤合併
等複雜問題Web
、App
性能優化方案SEO
排名規則、SEO
優化方案、先後端分離的SEO
SSR
實現方案、優缺點、及其性能優化Webpack
的性能優化方案Canvas
性能優化方案React
、Vue
等框架使用性能優化方案XSS
攻擊的原理、分類、具體案例,前端如何防護CSRF
攻擊的原理、具體案例,前端如何防護HTTP
劫持、頁面劫持的原理、防護措施