2019前端工程師自檢清單與思考

2019前端工程師自檢清單

對於JavaScript,掌握其語法和特性是最基本的,可是這些只是應用能力,最終仍舊考量仍然是計算機體系的理論知識,因此數據結構,算法,軟件工程,設計模式等基礎知識對前端工程師一樣重要,這些知識的理解程度,能夠決定你在前端工程師這條路上能走多遠,是時候進行一波自檢了,查漏補缺,只有全面發展,纔會使你更強,如下會進行自問的形式按照圖片裏面的知識點進行自我checkcss

知識點在面試過不下50人後進行的一波總結前端

可能不全,有新增的點能夠放在評論區討論

前端技術棧


1.你關於性能優化是否只知道js文件擺放順序、減小請求、雪碧圖等等,卻連衡量指標window.performance.timing都不清楚是幹什麼的?node

2.請你描述下一個網頁是如何渲染出來的,dom樹和css樹是如何合併的,瀏覽器的運行機制是什麼,什麼是否會形成渲染阻塞?webpack

3.請簡述下js引擎的工做原理,js是怎樣處理事件的eventloop,宏任務源tasks和微任務源jobs分別有哪些?js是如何構造抽象語法書(AST)的?nginx

4.你是否考慮全面你編寫的整個函數,或者整個功能的容錯性與擴展性?怎樣構建一個組件是最合理最科學的,對於錯誤的處理是否有統一的方式方法?git

5.瀏覽器緩存的基本策略,何時該緩存何時不應緩存,以及對於控制緩存的字段的相關設置是否清楚?github

6.你是否能夠利用面向對象的思惟去抽象你的功能,你會構建一個class(ES6)嗎?你對於前端架構的理解?web

7.你會用VUE,你會用React,你讀得懂這兩個架構的源碼嗎?你懂他倆的基本設計模式嗎?讓你去構建一個相似的框架你如何下手?面試

8.你瞭解的ES6只是const、let、promise嗎?你考慮過ES6提出的真正趨勢嗎?算法

9.你會用less,那麼讓你去寫一個loader你能夠嗎?

10.webpack你也會用,你瞭解其中原理嗎?你知道分析打包依賴的過程嗎?你知道tree-shakeing是如何幹掉無用重複的代碼的嗎?

11.你真的熟練使用css嗎,那你知道position有幾個屬性嗎,具體參考https://github.com/wintercn/b...

12.你瞭解js的數據結構嗎?基本數據類型有哪些?複雜數據類型有哪些?在內存是如何表現的?

13.你能夠用js去實現一個單向、雙向、循環鏈表嗎?你能夠實現查找、插入、刪除操做嗎?

14.你瞭解基本常見算法嗎?快速排序寫一個?要是限制空間利用你該如何寫?

15.你瞭解貪心算法、動態規劃、分治算法、回溯算法等常見的算法嗎?

16.你是如何理解前端架構的?你瞭解持續集成嗎?

17.你瞭解基本的設計模式嗎?舉例單例模式、策略模式、代理模式、迭代模式、發佈訂閱模式。。。?

18.寫一個事件監聽函數唄?實現once、on、remove、emit功能

19.node.js的實現層是什麼?

20.node的事件循環機制是怎樣的?

21.node的child_process模塊有幾個api,分別的做用是什麼?

22.http1.0與1.1協議的區別?

23.node是如何實現http模塊的?

24.如何構建一個主從模式?

25.nginx相關配置瞭解過嗎?

26.你真的理解前端嗎?


有落下的方面,請在評論區寫下您寶貴的見解,我會第一時間加入進來!!!

雖然有些方面還未補足,可是能夠做爲參考~
相關文章
相關標籤/搜索