如何進行技術面試
來自專欄耿直的程序員
說起技術面試有大把的文章來指導應聘者怎樣通過面試收割offer。可是卻少有文章介紹作為面試官怎樣通過面試找到最適合的候選人。
作為一個對技術面試的兩種角色都頗有心得的老司機,我想談談作為面試官應該如何進行技術面試。所謂知己知彼,百戰不殆,我相信了解面試官的想法對申請職位的候選人也是有幫助的。
首先作為面試官要端正心態,面試是為團隊挑選足夠優秀的夥伴,他們今後將會是你的戰友。絕對不能有高高在上的考官心態。面試最重要的是平等交流。要知道,很多技術很牛的人也許並不擅長面試。面試官一旦帶著傲慢的心態進行面試,應聘者要麼被這種無禮的態度激怒,草草應對了事甚至拂袖而去;要麼應聘者在不友好的氛圍下發揮失常。你的團隊失去一名優秀的工程師的同時,也損害了你們公司在應聘者的心目中的印象。
一次良好的技術面試,要求面試官要做面試準備工作。首先是要明確崗位需求,明確以下幾個問題:
- 要招什麼級別的人?
- 哪些技術是必須達到的要求?
- 哪些屬於加分項?
- 在團隊合作和溝通上有沒有要求?
要仔細地閱讀簡歷,不要一上來就讓人家做自我介紹。通過項目經驗及在項目中的角色可以大概了解候選人的技術棧和能力。根據候選人的工作年限,項目經驗等情況,基本可以產生一個對候選人能力的預期。可能的話,在現有團隊中找一個和這個預期接近的小夥伴。面試的時候可以拿這個小夥伴做為候選人的對標對象。
實際進行當面溝通的時候。可以先拉拉家常做為暖場,營造出一個輕鬆友好的氛圍。溝通過程中不要表現出諸如:「連這個都不會?」的情緒。可以開誠布公的告訴候選人,我想了解你在XX方面的能力。對於XXX你的看法是什麼?面試溝通時候選人不說出標準的正確答案不代表他在這方面的能力不及格,關鍵是要看候選人是不是能理解問題,根據問題進行思考和探索。這個思考過程是不是符合邏輯?解決問題的思路是否正確?有沒有積極尋求解決方案的勁頭?
比如提問一個關於c++指針int和int**區別的問題。如果候選人不能說出理想的答案,我們可以嘗試追問是否解理指針是什麼?指向指針的指針又是什麼?以此來判斷候選對指針和內存方面是真的一無所知還是有一定的背景知識,只是忘記了一些細節。
面試過程不是追求把候選人考倒,而是要了解和評估候選人的知識水平。所以如果候選人的經驗或者溝通過程中候選人有提到面試官自己也不太了解的知識點,可以換成一個請教的態度。請候選人向你介紹這個知識點。能自己組織語言把一個知識點向並不解的人解釋清楚是需要相當水平的!而且在這個場景下,候選人往往會更加放鬆和自信的表達,面試官也有機會多了解一些新知識簡直是雙贏嘛。
面試是一個雙向選擇,所以面試的最後環節總是應該讓候選人提問。認真的回答候選人的提問是對對方的尊重,而且通過候選人所提的問題也能了解到候選人對公司,對崗位,對職業發展的態度。由此對候選人的印象也能更立體一些。
面試結束後,可以拿候選人和面試準備時找的對標小夥伴進行比較了。這個時候應該比較容易對候選人各方面的能力打分。我自己的評分標準:
- 滿分為5分,在這個方面候選人給我極大的驚喜,給他跪了!
- 4分,超過預期/對標對象
- 3分,符合預期,和對標對象平分秋色
- 2分,勉強及格
- 1分,小白一名或只有基本了解
除了技術能力之外,面試官還應該關注候選人的溝通和表達能力如何?現在的軟體項目都是團隊作戰,溝通能力不及格是有可能會拉低團隊戰鬥力的。另外還可以關注候選人的性格是否和團隊匹配。比如團隊里已經有一個杠精了,其他人不和他計較也就相安無事,如果候選人也是杠精,那麼對團隊的合作氛圍會不會造成影響?
面試的結果說到底其實是個適不適合的問題,而不是合不合格的問題。所以面試官在挑選候選人的時候,也在代表公司/團隊接受候選人的挑選。端正心態,平等交流,友好切磋。祝大家都能找到合適的小夥伴。
推薦閱讀:
※面試黑科技——如何與面試官求同不存異
※面對奇葩應聘者的高級面試官
※還沒人真正講清楚面試了的本質
※求職試水,當面試官說你有什麼要問我的嗎?你該問些什麼?
※面試官:你會寫簡歷嗎?我教你擺脫千篇一律