一庇勃、基礎(chǔ)部分
1. ES6/ES7語法和原理實現(xiàn)
2. 異步發(fā)展過程:callback、promise蜀漆、generator涩馆、co又官、
async/await等異步流程控制(async和await的實現(xiàn)原理)
3. promise設(shè)計模式原理及在es6中的應(yīng)用左驾,手寫一個符合promise A+規(guī)范的promise實現(xiàn)
4. Node基礎(chǔ)與實戰(zhàn)
5. Node事件原理和發(fā)布定閱設(shè)計模式
6. 函數(shù)式編程
二镣隶、模塊化的演進(jìn)
1. JavaScript模塊化發(fā)展的演進(jìn)歷史 CommonJS、AMD什荣、CMD矾缓、ES6模塊的演進(jìn)歷史
2. 目前最主流的模塊化實現(xiàn)方案: CommonJS 到 ES Module
3. 手寫 CommonJS 的簡單實現(xiàn)
三怀酷、前端工程化構(gòu)建工具
1. gulp的基本用法以及實現(xiàn)原理
2. 常用插件(壓縮稻爬、合并、編譯蜕依、預(yù)覽服務(wù)桅锄、自動注入)
3. node.js中自定義流的高級用法
4. 實現(xiàn)自定義插件(auto-prefixer)
5. webpack基本用法以及運行原理
6. 常見的loader以及plugin(DllPlugin等)
7. Webpack工作原理分析
8. 編寫自定義Loader、編寫自定義Plugin
9. webpack優(yōu)化(resolve样眠、模塊熱替換友瘤、壓縮、代碼分割檐束、可視化工具)
四.React全家桶
1. react
1. 為什么采用組件化的方式
2. react環(huán)境搭建
3. JSX語法的使用(createElement,render的原理實現(xiàn))
4. JSX表達(dá)式的用法
5. JSX的屬性(className,htmlFor,style,dangerouslyInnerHTML)
6. 組件使用(類聲明,函數(shù)聲明)
7. 組件的屬性和狀態(tài)(屬性的檢驗以及setState詳解)
8. 復(fù)合組件
9. 組件的聲明周期
10. 受控組件 非受控組件
11. children屬性的使用
2. redux
1.手寫redux庫(
getState,
createStore,
dispatch,
subscribe,
applyMiddleware,
combineReducer,
compose,
bindActionCreators
)
3. react&-redux
1.高階組件的原理和使用
2.react高級屬性context上下文
3.react-redux實現(xiàn)todoList
4.手寫react-redux(Provider和connect原理解析)
4. 中間件
1. 手寫applyMiddle和compose(中間件原理)
2. 手寫redux-logger,redux-thunk,redux-promise
3. 手寫自定義本地緩存中間件
5. react-router-dom
1. HashRouter,BrowserRouter的區(qū)別
2. Link,NavLink的使用(extact絕對匹配,state帶參數(shù)跳轉(zhuǎn))
3. Route組件三種渲染方式(component,render,children)
4. 路由參數(shù)以及子路由的使用(params)
5. withRouter,PrivateRouter的用法
6. Prompt組件阻止跳轉(zhuǎn)
7. 重定向(Redirect組件)
8. 手寫HashRouter Route等常用組件
6. React-Transition-group
1. react動畫的實現(xiàn)原理
2. 使用React-Transition-group庫開發(fā)todo動畫應(yīng)用
7. 源碼級Vue+React深度解析與實現(xiàn)
1. 手寫Vue雙向綁定實現(xiàn)
2. Vue虛擬DOM和React虛擬DOM的區(qū)別
3. 如何實現(xiàn)一個 Virtual DOM 算法
4. 通過源碼徹底搞明白setState的更新機制
5. 手寫包含虛擬DOM辫秧、事件監(jiān)聽、基本組件生命周期等功能的React庫
五.node高級
1. http深入和tcp詳解
2. 七層網(wǎng)絡(luò)協(xié)議分析
3. TCP連接和Nagle算法
4. 使用wireshark學(xué)習(xí)七層網(wǎng)絡(luò)協(xié)議
5. DNS服務(wù)器詳解
6. Node靜態(tài)服務(wù)器實現(xiàn)與緩存機制的實現(xiàn)
7. HTTP常用報文的實際應(yīng)用
8. Node Stream的應(yīng)用與文件分片上傳策略
9. RestfulAPI設(shè)計和使用
10. CDN和OSS的使用
11. HTTPS安全通信過程分析
Express
1. 手寫express框架
2. 中間件的實現(xiàn)原理被丧、bodyParser盟戏、cookie-parser、static甥桂、模板原理
Koa
1. 手寫Koa框架
2. 中間件的實現(xiàn)原理柿究、bodyParser、cookie-parser黄选、static蝇摸、模板原理
Linux
1. Linux介紹
2. Linux文件和目錄
3. Linux用戶和組權(quán)限
4. Linux命令
5. Shell腳本
Mongodb
1.Mongodb安裝和使用
2.Mongodb的系統(tǒng)架構(gòu)
3.Mongodb高級查詢
4.Mongodb索引
5.Mongodb安全與權(quán)限
6.mongoose模塊之Schema
7.mongoose模塊之Model
8.使用Model對文檔進(jìn)行增刪改查
六、通信
1.什么是實時通信
2.什么是Websocket
3.websocket和http的對比
4.使用socket.io實現(xiàn)聊天室
七、MySQL
1.MYSQL安裝與使用
2.MYSQL系統(tǒng)架構(gòu)
3.數(shù)據(jù)處理之增刪改查
4.數(shù)據(jù)類型和約束分頁
5.索引和慢查詢性能分析
6.數(shù)據(jù)庫安全之防止SQL注入
八貌夕、Redis
1.Redis安裝和使用
2.5種數(shù)據(jù)結(jié)構(gòu)及使用場景
3.API的理解和使用
4.Redis客戶端
九律歼、Nginx
1.nginx的安裝和使用
2.模塊和基本配置
3.正向反向代理等應(yīng)用場景
十、Docker
1.Docker介紹和安裝
2.Dockerfile
3.存儲和鏡像倉庫
4.Dock實戰(zhàn)
十一啡专、單元測試
1.測試用例和需求分析
2.單元測試框架mocha/ava
3.自動化測試之selenium
十二苗膝、前端性能監(jiān)控與性能優(yōu)化、行為監(jiān)控與安全防范
1.針對重繪重排的優(yōu)化策略
2.如何發(fā)現(xiàn)性能短板與各個短板的優(yōu)化
3.前端埋點上報
4.前端錯誤上報
5.前端性能上報
6.前端行為監(jiān)控上報
7.前端恢復(fù)上線與A/B測試
8.網(wǎng)絡(luò)緩存技術(shù)分析
9.瀏覽器渲染過程分析(DOM樹植旧、RenderObject辱揭、繪圖上下文)
十三、項目部署
1.npm script工作流
2.shell腳本布署
十四病附、安全
1.XSS的原理與代碼實戰(zhàn)
2.CSRF的原理與代碼實戰(zhàn)
十五问窃、功能測試與性能測試
1.測試用例和需求分析
2.常用功能測試框架基礎(chǔ)使用(mocha/ava)
3.常用性能測試框架基礎(chǔ)使用(Benchmark)
十六、全鏈路優(yōu)化
1.DNS優(yōu)化
2.請求速度優(yōu)化
3.渲染優(yōu)化之 JS css image html
4.緩存優(yōu)化
5.服務(wù)器優(yōu)化
6.數(shù)據(jù)庫優(yōu)化
十七完沪、前端設(shè)計模式
創(chuàng)建型設(shè)計模式
1.工廠模式
2.建造者模式
3.原型模式
4.單例模式
結(jié)構(gòu)型設(shè)計模式
1.外觀模式
2.適配器模式
3.代理模式
4.裝飾者模式
5.組合模式
行為型設(shè)計模式
1.觀察者模式
2.狀態(tài)模式
3.策略模式
4.命令模式
5.訪問者模式
6.中介者模式
5.迭代器模式
十八域庇、算法&數(shù)據(jù)結(jié)構(gòu)
1.時間復(fù)雜度
2.空間復(fù)雜度
3.常見排序算法
排序
1.冒泡排序、優(yōu)化
2.選擇排序
3.插入排序
4.歸并排序
5.快速排序式
6.計數(shù)排序
7.桶排序
8.基數(shù)排序
2.鏈表(鏈表反轉(zhuǎn)覆积、鏈表是否有環(huán))
3.樹(高度听皿、前序、中序宽档、后序尉姨、廣度優(yōu)先算法、反轉(zhuǎn))
4.二叉樹搜索算法