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

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

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

可能不全,有新增的點可以放在評論區討論
在這裏插入圖片描述

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

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

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

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

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

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

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.你真的理解前端嗎?


瀏覽博客發現這篇寫的不錯,值得深入瞭解
版權歸原作者所有
作者:SuperX
https://segmentfault.com/a/1190000018873042

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章