以面試前端工程師爲例前端
咱們通常會有 2-3 輪面試,對於高級別的工程師可能會有 4-5 輪面試。git
代碼編寫筆試github
問答式面試
過程遵循 STAR 面試法 。瀏覽器
基礎紮實性能優化
從多年的經驗看,那些發展好的同窗都具有紮實的基礎知識前端工程師
好比只懂 jQuery 不懂 JavaScript 是不行的哦數據結構
若是瞭解計算機基礎會更好,由於咱們將面臨不少非前端技術的問題ide
主動思考性能
被動完成任務的同窗在這裏進步會很慢
你須要有本身的想法,而不是僅僅完成任務
愛學習
前端領域知識淘汰速度很快,因此最好能常常學習和接觸新東西
有深度
遇到問題時多研究背後深層次的緣由,而不是想辦法先繞過去
好比追蹤某個 Bug 一直了解它本質的緣由
有視野
創新每每來自於不一樣學科的交集,若是你瞭解的領域越多,就越有可能有新想法
如下會列出一些咱們常問的問題,請提早作好準備。
須要注意的是,校招和社招的是不同的,校招會更加關注基礎知識,而社招會更加關注以前作過的項目狀況。
面試其實說白了就是根據一我的以前的經歷,來判斷出後續這人會作得怎樣,若是你以前從沒作成過一件事情,憑什麼讓別人相信你以後能作成呢?所以不管哪裏的面試都會問你以前作過的項目
項目能夠是多人協助開發一個產品,也能夠是本身我的作過的業餘應用,只需介紹 一、2 個就夠了,須要注意的是 1 + 1 != 2,作了兩個平庸的項目不如作了一個好項目
通常來講會問以下幾方面的問題:
作過最滿意的項目是什麼?
項目背景
爲何要作這件事情?
最終達到什麼效果?
你處於什麼樣的角色,起到了什麼方面的做用?
在項目中遇到什麼技術問題?具體是如何解決的?
若是再作這個項目,你會在哪些方面進行改善?
技術一面主要判斷對基礎知識的掌握
描述一個你遇到過的技術問題,你是如何解決的?
這個問題很常見,有沒有遇到過很不常見的問題?好比在網上根本搜不到解決方法的?
是否有設計過通用的組件?
請設計一個 Dialog(彈出層) / Suggestion(自動完成) / Slider(圖片輪播) 等組件
你會提供什麼接口?
調用過程是怎樣的?可能會遇到什麼細節問題?
更細節的問題推薦參考 https://github.com/darcyclark...
技術二面主要判斷技術深度及廣度
你最擅長的技術是什麼?
你以爲你在這個技術上的水平到什麼程度了?你以爲最高級別應該是怎樣的?
瀏覽器及性能
一個頁面從輸入 URL 到頁面加載完的過程當中都發生了什麼事情?越詳細越好
(這個問既考察技術深度又考察技術廣度,其實要答好是至關難的,注意越詳細越好)
談一下你所知道的頁面性能優化方法?
這些優化方法背後的原理是什麼?
除了這些常規的,你還了解什麼最新的方法麼?
如何分析頁面性能?
其它
除了前端之外還了解什麼其它技術麼?
對計算機基礎的瞭解狀況,好比常見數據結構、編譯原理等
最近在學什麼?接下來半年你打算學習什麼?
作什麼方面的事情最讓你有成就感?需求設計?規劃?具體開發?
後續想作什麼?3 年後你但願本身是什麼水平?
咱們沒有 PM 每天跟在你後面催你作事情,因此你須要自主去發現和解決問題,主動性是咱們最看重的軟素質之一
在以前作過的項目中,有沒有什麼功能或改進點是由你提出來的?
是否有參與和改進其它開源項目