刪除線划掉的可以不掌握,Node 和瀏覽器原理部分可以不掌握,性能優化部分不要求列全,有自己的理解,知道有哪幾個努力的方向即可
HTML
- defer & async
- Fetch API & 使用
- Localstorage & SessionStorage
- postMessage
- 自定義屬性
data=*
- Document Type
- 轉義 & 實體字符
- 語義化
requestAnimationFrameServiceWorker
CSS
- 盒模型 box-sizing
- 定位(static、relative、absolute、fixed、
sticky) - z-index(生效元素、父子 z-index 關系、相鄰容器子元素 z-index 關系)
- 布局 & 居中(雙欄布局、三欄布局、垂直居中、垂直對齊)
- 浮動 & 清理浮動
- media query
- flex 相關屬性
- rem
- sass、less
建議看看 《CSS 世界》
JavaScript 基礎
- ES6
- 數據類型
- 引用類型
- 原型鏈 & 繼承
- this & 修改 this 指向(bind、箭頭函數、apply、call)
- 事件 & 事件代理
- Ajax、jsonp
- 使用 Promise 改善異步代碼
- 閉包
defineProperty & Proxy 作用TypeScript,TS 應用越來越廣泛,有余力一定要學一下
Web 基礎 & HTTP 協議
- cookie & session
- 本地 hosts 綁定
- User Agent
- MIME Type
- HTTP 狀態碼含義
- 客戶端緩存
- 協商緩存
- GET、POST 協議區別、限制、語義
- 無狀態是什么意思
- gzip 是做什么的
- XSS 與 CSRF
- 跨域及解決
Transfer-EncodingHTTPS 原理正向代理 & 反向代理含義
建議閱讀《圖解 HTTP》,只要從事 web 相關工作都應該了解 HTTP 協議
React
- 數據驅動 UI
- state & props 區別
- 生命周期、useEffect 第二個參數
- 常用 hook
- 父子組件通信
- Context & redux
- redux 發送異步請求
- ant design
- 性能優化
HOCsagadva
React 15 和 16 都應該學習
工程
- 語義化版本號
- package.json 常用字段(version、main、scripts、repository、dependencies,devDependencies)
- npm 常用命令(install、test、link、dev、build)
- webpack & babel(bundle、JSX、ES6、Sass)
- eslint 常見規則 & 錯誤解決辦法
- git & commit 規范
- 非覆蓋式發布(多版本發布)
- 簡單的 linux 命令
性能優化
Performance API & Performance timeline- 針對瀏覽器渲染頁面原理的 CSS、JavaScript 語法層面優化
- 針對 HTTP(2) 協議特性網絡性能優化(合並資源、壓縮、多個域名等)
- 用戶體驗層面性能優化(懶加載之類)
Node
- 單線程
- EventLoop
- Buffer & Stream
- pipe
- Koa、eggjs
瀏覽器工作原理
http://www.html5rocks.com/zh/tutorials/internals/howbrowserswork/