前言
雖然立刻就要金九銀十了,面試的人應該很多,雖然我也有在面,寫文的目的主要是梳理下知識,能對複習有點幫助就行,本文主要針對前端知識體系相關,涉及的內容有:javascript
- 瀏覽器
- 計算機網絡
- 前端基礎(html、css、js)
- node
- webpack
- 數據結構和算法
- web安全
- 前端工程化(編譯原理的應用)
- 渲染優化
- 性能監控
不包括:css
- 跨端(小程序、混合應用)
- 框架
- typescript
- 移動端
不過前端是真的內卷啊,內容是真多,並丟了點面試題做爲參考,以上基本涵蓋前端整個知識體系。html
其他部分的話,就不算很熟了,因此有人要整第二部分嗎?前端
其餘
看了下評論,有人對本身的能力感受受限,這也正常,因爲前端體系自己內容比較多,該文也只是整理了下,不必所有都關注,只是目前的一個趨勢而已。java
目前的前端領域方向:node
- 可視化
- 跨端
- 小程序
- 工程化
- 遊戲
- DevOps
- webAssembly(rust、c、cpp)經過其餘語言對前端進行擴展,實現前端沒法作到的方案
- 音視頻(FFmpeg)
- 全棧
必備:webpack
- html、css、js
- typescirpt(2021了,如今ts也差很少算必備技能了)
- 框架
- 瀏覽器相關知識
- 監控、埋點
- 團隊協做
可選:git
本文內的連接
應評論要求,本文全部內容均可以在這上面找到,而且只會增長,基本不會減小,連接可能有的並沒什麼內容,如數據結構和算法這個,後續應該會慢慢補充吧,只限於我的的知識體系範圍,至於其餘告辭。github
吐槽:
用飛書的思惟筆記作的(變相打廣告?),說下體驗web
優勢:
缺點:
- 粘貼的連接沒辦法修改title,默認自動識別
- 沒辦法換行
- 不支持圖片
- 採用2邊結構的時候,沒辦法拖拽
- 分享不支持文件夾(讓我添加協做者?????),文件多了,分享就很麻煩。
- 預覽感受會糊?編輯的時候明顯要比預覽更清晰
連接:
前端知識體系
![前端知識體系 (1).png](http://static.javashuo.com/static/loading.gif)
瀏覽器
- 從輸入網址到看到網頁發生了什麼
- dom 解析規則
- css、js是否會阻塞渲染
- xss、csrf
- 重繪和重排的區別
- 瀏覽器緩存是怎樣的
- 跨域
做爲個前端,畢竟天天都和瀏覽器打交道,不懂瀏覽器的前端不算好前端。
![瀏覽器](http://static.javashuo.com/static/loading.gif)
瀏覽器渲染詳細過程:重繪、重排和 composite 只是冰山一角
瀏覽器工做原理與實踐_瀏覽器_V8原理-極客時間
圖解 Google V8_虛擬機_JavaScript_Node.js_前端_Google-極客時間 (geekbang.org)
前端基礎
CSS
- css 盒模型
- bfc
- 居中
- 僞類和僞元素
- css選擇器優先級
![css.png](http://static.javashuo.com/static/loading.gif)
CSS層疊上下文
js
- 事件循環
- 原型鏈
- this
- 做用域
- 閉包
- 柯里化
- 事件流
- 數據類型
- promise、generator、async await
- 0.1 + 0.2 爲何不等於0.3 (IEEE754)
- 浮點精度
![javascript.png](http://static.javashuo.com/static/loading.gif)
(圖靈社區 (ituring.com.cn))
事件循環
一文搞懂V8引擎的垃圾回收 (juejin.cn)
JavaScript 深刻之浮點數精度 (juejin.cn)
計算機網絡
- https 爲何安全
- http2的特色
- tcp阻塞
- http狀態碼
- http3
- http和https握手
![計算機網絡.png](http://static.javashuo.com/static/loading.gif)
HTTP/3 原理實戰 - 知乎 (zhihu.com)
前端工程化
- amd、cmd、esmodule、commonjs區別
- import from 和require、import()區別
- babel
- vite
- eslint
- postcss
- ast
- 微前端
![前端工程化.png](http://static.javashuo.com/static/loading.gif)
git commit 規範指南
node
- 模塊查找機制
- stream 流
- 非阻塞異步io
- 中間件
![node.png](http://static.javashuo.com/static/loading.gif)
深刻淺出node中間件原理
Node.js理論實踐之《異步非阻塞IO與事件循環》
webpack
- loader和plugin的區別
- tapable
- webpack hmr原理
- webpack 編譯流程
- webpack 優化
- tree shaking
![webpack.png](http://static.javashuo.com/static/loading.gif)
Webpack HMR 原理解析
性能優化
![前端性能優化.png](http://static.javashuo.com/static/loading.gif)
performance各階段: ![](http://static.javashuo.com/static/loading.gif)
前端性能優化之雅虎35條軍規 (juejin.cn)
網站性能監測
Performance - Web API
前端監控
一篇講透自研的前端錯誤監控
數據結構和算法
宮水三葉的刷題日記
算法面試通關40講_算法面試_LeetCode刷題
javascript-algorithms
VisuAlgo - 數據結構和算法動態可視化
書:
結束
整理這個,也算是本身的複習,也算總結,立刻9月了,dalao們加油。