本文是面試系列的第二篇,第一篇面試官到底想看什麼樣的簡歷?.前端
相關的簡歷模板能夠去公衆號『程序員面試官』後臺回覆『模板』二字領取。webpack
技術面試一般至少三輪:程序員
固然,對於初級崗或者校招生會涉及一輪筆試,至關多的公司會在現場面以前進行一輪電話面試,目的是最快速有效地把不符合要求的候選人篩除,對於個別須要跨部門協做的崗位會涉及交叉面試,好比前端候選人會被後端的面試官面試,一些有管理需求的崗位或者重要崗位可能會涉及總監面試或者vp面.web
而一個正常的技術面試流程(以項目面爲例)分爲大體三個部分:面試
那麼該如何準備技術面試,如何在面試中掌握主動權呢?算法
幾乎全部的面試都是從自我介紹這個環節開始的,因此咱們得搞清楚爲何自我介紹一般做爲一個面試的開頭.後端
首先,有一個很廣泛的問題就是面試官極可能纔剛拿到你的簡歷,他須要在你自我介紹的時候快速瀏覽你的簡歷,由於技術面試的面試官不少是一線的員工,面試候選人只是其工做中的一小部分,不少狀況下是沒有提早看過你的簡歷的.緩存
其次,自我介紹實際上是一個熱身,面試官和候選人實際上是陌生人,自我介紹無論是面試仍是其餘狀況下,都是兩個陌生人彼此交流的起點,也是緩解候選人與面試官之間尷尬的一種熱身方式.性能優化
最後,自我介紹是展現自我、引出接下來技術面試的引子,是你本身指定技術面試方向的一次機會。架構
知道了以上緣由,咱們才能進行準備更好的自我介紹。
自我介紹歸根究竟是一個熱身運動,所以切忌佔用大量的篇幅,上來就把本身從出生的經歷到大學像流水帳同樣吐出來的,每每會被沒耐心的面試官打斷,而這也暴露了候選人講話缺少重點、溝通能力通常的缺點。
可是,一些關鍵信息是必須體現的,就我我的而言,如下信息是必備的:
你的面試簡歷可能包含了各類各樣的技術棧,可是在自我介紹過程當中須要匹配當前崗位的技術要求.
就好比你目前面試的是移動端H5前端的開發崗位,就重點在自我介紹中突出本身在移動前端的經驗,而此時大篇幅得講述本身如何用Node支撐公司的web項目就顯得很不明智.
若是你的自我介紹跟流水帳同樣,沒有任何重點,其實面試官也很難辦,由於他都無法往下接話...
而只要你稍做引導,絕大部分面試官就會接你的話茬,好比「你在自我介紹中重點說起了一個項目,碰到了一些難點,而後被你攻克了,效果如何如何好等等」,若是我是面試官必定會問「你的xx項目的xx難點後來是怎麼解決的?」。
面試官的目的是考察候選人的能力,對候選人作出評估,所以須要知道候選人擅長什麼,是否匹配崗位,面試官絕大多數狀況下很樂意你這種有意無心的引導,這樣雙方的溝通和評估會很順利,而不是故意刁難候選人。
其實最好的方法也是最笨的方法就是把自我介紹寫下來,這個自我介紹必定要體現上面提到的幾大必備要素,在面試前簡單過幾遍,能把自我介紹的內容順利得表達出來便可,切忌跟背課文同樣.
自我介紹的時間最好控制在1-3分鐘之間,這些時間足夠面試官把你的簡歷過一遍了,面試官看完簡歷後正好接着你的自我介紹進行提問是最舒服的節奏,別上來開始10分鐘的演講,面試官等待的時候會很尷尬,這麼長的篇幅說明你的自我介紹必定是流水帳式的.
一個好的技術考察的開始,必須得有自我介紹部分好的鋪墊和引導,有一種狀況咱們常常碰見:
候選人說了一大堆非重點的自我介紹,面試官一時語塞,徹底get不到候選人的重點,也不知道候選人擅長什麼、有什麼亮點項目,而後就在他簡歷的技術棧中選了本公司也在用的技術,候選人這個時候也開始冒汗,由於這個技術棧並非他的擅長,回答的也磕磕絆絆,面試官的引導和深刻追問也沒有達到很好的效果,面試就在這種尷尬的氣氛中展開了,面試結束後面試官對候選人的評價是技術不熟練、沒有深刻理解原理,候選人的感覺是,面試官專挑本身不會的問。
因此在前面的部分,必定要作好引導,把面試官的問題引到咱們擅長的領域,可是這樣還不夠,正所謂不打無準備之仗,咱們依然須要針對可能出現的問題進行準備.
那麼如何準備可能的面試題?
好比你擅長前端的性能優化,在自我介紹的部分已經作好了引導,接下來面試官必定會重點考察你性能優化的能力,極可能會涉及頗有深度的問題,即便你擅長這方面的技術,可是若是沒有準備也可能臨場亂了陣腳.
自我多重提問的意思是,當一個技術問題拋出的時候,你可能面對更深層次的追問
依舊之前端性能優化爲例,面試官可能的提問:
你把這個手機端的白屏時間減小了150%以上,是從哪些方面入手優化的?這個問題即便你沒作過前端性能優化也能回答個七七八八,無非是組件分割、緩存、tree shaking等等,這是第一重比較淺的問題。
我看你用webpack中SplitChunksPlugin這個插件進行分chunk的,你分chunk的取捨是什麼?哪些庫分在同一個chunk,哪些應該分開你是如何考慮的?若是你提到了SplitChunksPlugin插件可能會有相似的追問,若是沒有實際操做過的候選人這個時候就難以招架了,這個過程必定是須要必定的試錯和取捨的.
在分chunk的過程當中有沒有遇到什麼坑?怎麼解決的?其實SplitChunksPlugin這個插件有一個暗坑,那就是chunk的id自增性致使id不固定惟一,極可能一個新依賴就致使id所有打亂,使得http緩存失效.
以上只是針對SplitChunksPlugin插件相關的優化提問,固然也可能從你的性能測試角度、代碼層面進行考察,可是思路是相似的。
所以不能把本身準備的問題答案停留在一個很淺顯的層面,一方面沒法展現本身的技術深度,另外一方面在面試官的深度體狀況下容易丟分,所以在本身的答案後面多進行自個人追問,看一看能不能把問題作的更深刻。
不少面試相關的寶典都推薦使用STAR法則進行問題的應答,咱們不想引入這個額外的概念,基礎技術面試的部分老老實實回答面試官的問題便可,一般須要問題運用到這個法則的是項目面,好比讓你介紹一下你最得意的項目,回答問題的法則有這幾個要點:
重點就在於後面三條,也是最體現你我的綜合素質的一部分,我是面試官的話會很是欣賞那種能夠發現問題、找到多種方案、能對多種方案進行比對取捨還能夠總結沉澱出通用解決方案回饋團隊的人。
從上述幾點能夠體現出一我的的技術熱情、解決問題的能力和總結提升的能力。
是的,在回答面試官提問的時候也能夠作到刻意引導。
咱們就舉幾個簡單的例子:
除了Vue還用過Angular嗎? 這個時候不少候選人就很實誠回答「沒有」,其實咱們能夠回答的更好,把你知道的說出來展現本身的能力纔是最重要的,你能夠說「我雖然沒用過,可是在學習雙向綁定原理的時候瞭解了一下Angular髒檢查的原理,在學習Nestjs的時候瞭解了依賴注入的原理,跟Angular也是相似的」,面試官必定會接着問你髒檢查和依賴注入的問題,雖然你沒有用過Angular,可是Angular的基本原理你都懂,這是很好的加分項,說明候選人有深刻理解原理的意願和舉一反三的能力
Vue如何實現雙向綁定的? 不少候選人老老實實答了object.defineproperty
如何如何操做,而後就沒有了,其實你能夠在回答完以後加上一嘴「Vue 3.0則選擇了更好用的Proxy來替代object.defineproperty」或者「除了object.defineproperty這種數據劫持的方式,觀察者模式和髒檢查均可以實現雙向綁定」,面試官大機率會問「Proxy好在哪?」或者「聊聊髒檢查」等等,這樣下一個問題就會依然在你的可控範圍內
咱們第一個例子把原本回答不上來的問題,轉化爲了成功展現本身能力的加分項,第二個例子讓本身更多的展現了本身的能力,並且始終使面試官的問題在本身的可控範圍內。
這個部分基本到了面試尾聲了,屬於作好了不影響大局,可是可能加分,若是作很差很容易踩雷的區域.
首先咱們聲明幾個雷區:
有幾個比較好的提問可供參考:
儘可能圍繞你的崗位進行提問,這可使得你更快得熟悉你的工做內容,也讓面試官看到你對此崗位的興趣和熱情,重要的是這些問題對於面試官而言既能夠簡略回答,也能夠詳細的給你講解,若是他很熱情得跟你介紹此崗位相關的狀況,說明你可能表現得不錯,不然的話,你可能不在他的備選名單裏,這個時候就須要你早作打算了.
咱們用大量篇幅介紹了技術面試中的一些應試技巧,可是歸根到底候選人的基本功和豐富的項目經驗纔是硬道理.
若是你看完了整篇文章,並進行了精心的準備,他是可讓你從75分到85分的實用技巧,而不是讓你從55到85的什麼祕籍.