會寫代碼不如會演講?白板面試是否篩掉了真正優秀的求職者
在程序員面試中,白板測試是評估應聘者現場溝通和解決問題能力的一種很好的方式。但北卡羅來納州立大學和微軟最近的一項研究發現,應聘者在白板面試過程中可能會因為緊張焦慮等自身情緒而無法發揮正常水平,進而在社交網絡上引發了對白板面試利弊以及其他影響面試因素的熱烈討論。
又快到一年一度的秋招季,想必大家已經在摩拳擦掌躍躍欲試了。但是,除了準備好技術能力以外,你還需要熟悉面試過程的諸多環節,比如白板面試。
在軟件技術求職面試中,白板面試旨在測試候選人溝通和解決問題的能力。一般情況下,在白板面試時,候選人會被給予一個任務、一個代碼問題,還有一塊白板。在面試時,候選人不能依賴外部參考,直接在白板上手寫程序,給出整體的解決方案,并向面試官解釋過程中的每一個步驟。
與傳統的編程環境相比,白板面試過程中,你需要面對不熟悉的編程環境(白板、手寫、面試官的目光),還要表達自己的思路和解決方案。許多企業希望通過白板面試檢測候選人在陌生環境中解決問題的能力、表達能力、應變能力等等。
不過,業界對白板面試歷來褒貶不一。
聚焦白板面試中的「焦慮」問題
最近,北卡羅來納州立大學和微軟合作進行的一項新研究發現,目前在許多招聘軟件工程方向職位的技術面試中,測試的方向往往是應聘者是否有表現焦慮,而不是其編程能力。研究者對這個問題做了調查研究,撰寫了論文《Does Stress Impact Technical Interview Performance?》,并將在 11 月 8 日 - 13 日召開的 ACM ESEC/FSE 2020 虛擬會議上展示。

論文鏈接:http://chrisparnin.me/pdf/stress_FSE_20.pdf
這項隨機對照試驗中包含 48 名計算機科學學生,研究者將他們在私人面試和公共白板面試環境下的表現進行對比后發現,在有一名面試官的情況下,候選人的表現要比私人面試降低一半還多。此外,與私人面試相比,在傳統技術面試過程中,候選人的壓力和認知負擔要高得多。
也就是說,面試官將解決問題的能力和不必要的壓力混雜在一起,可能會篩掉原本合格的應聘者。
最后,該研究提出修改面試流程,以便面試過程能夠更加公正、更具包容性地評估候選人解決問題的能力。例如,使用私人面試和回顧式出聲思維的形式,從而幫助企業從更寬泛和多樣性的人才池中選取員工。
該論文的作者之一、北卡羅來納州立大學計算機科學系助理教授 Chris Parnin 表示:「業界對技術面試的態度是恐懼和憎惡,這些面試方式可能不利于業界聘用到技術能力強的軟件工程師。這項研究表明,大量合格的求職者被淘汰的原因,僅僅是他們不善于在觀眾面前使用白板編程。」
之前的一些研究發現,軟件工程領域的許多開發者認為技術面試流程存在嚴重缺陷。因此這項研究旨在評估面試過程對有抱負的軟件工程師的影響。
此外,該研究對 48 位計算機科學專業的本科生和研究生進行了技術面試。一半參與者進行的是常規技術面試,由一名面試官來觀察他們的表現。另外一半的參與者被要求在私人房間中使用白板解決問題。私人面試不需要參與者口頭解釋他們的解決方案,而且也沒有面試官觀察他們的表現。
研究者通過評估每種解決方案的準確性及效率來衡量參與者的面試表現。換句話說,他們是想了解參與者編寫的代碼是否有效,以及運行這些代碼所需的計算量。
Parnin 表示:「常規面試參與者的表現遠遠不及私人面試參與者,才達到后者的一半。簡而言之,這項研究表明很多公司錯失了真正優秀的程序員,只因為他們不擅長在白板上書寫,不能在寫代碼的同時清楚地進行口頭解釋。」

研究者還注意到,當前的技術面試形式可能還被用來排除某些求職者群體。
Parnin 表示,有的面試官可能會給他們偏愛的應聘者提一些比較簡單的問題。但是這種形式可能會影響到特定類別的應聘者。比如該研究發現,所有的女性參與者在公共面試中都失敗了,但進行私人面試卻都成功了。
這項研究樣本有限,可能需要更大的樣本量才能得到更確切的結論。但是通過對面試過程進行精心設計就能夠有效地排除一整類求職者,這一點非常令人擔憂。
而且,技術面試過程的特殊本質意味著,許多求職者會花費數周或數月時間集中精力準備技術面試,而不是為他們實際要做的工作做準備。
該研究第一作者、北卡羅來納州立大學博士 Mahnaz Behroozi 表示:「技術面試流程使具備行業聯結(industry connection)的人更有優勢。但是對于那些僅僅花費時間準備技術面試卻對工作本身不甚了了的人而言,技術面試給他們帶來更多優勢。」
「這項研究想要突出的不止是與技術行業招聘流程相關的一系列其他問題。如果技術行業能夠以有效方式解決這些問題,它將在更加公平包容的道路上取得巨大進步。更重要的是,行業能夠從更大、更多樣化的人才池中挑選人才。」Behroozi 補充道。
網友:面試不易,學點心理學吧
這個話題在 Hacker News 等社交媒體上引起了巨大反響,眾多網友紛紛以自己的親身經歷來驗證這一說法的正確與否。

Hacker News 鏈接:https://news.ycombinator.com/item?id=23848039
下面這位網友親身說法,詳細描述了自己對候選人認識的前后轉變。ta 表示,起初為 FAANG(Facebook、蘋果、亞馬遜、網飛和谷歌)五大科技巨擘面試職員的時候,震驚地發現一部分具有數年微軟和 Facebook 工作經驗的應聘者竟然不知道如何編程,并戲謔地稱自己大概知道他們為何離職了。
但之后的面試經歷打了這位網友大大的「一巴掌」,ta 開始意識到自己錯了。顯然這些應聘者都是非常棒的程序員,但他們大多數可能因為緊張焦慮而在面試過程中表現糟糕。
所以 ta 承認自己太狂妄無知了,不應該理所當然地認為那些無法在 45 分鐘內快速且正確地在白板上解出高難度算法題的應聘者不合格。
由此可見,即使是經驗豐富的大廠程序員,如果他們在面試中過于緊張焦慮也會無法發揮自己的真實水平,而這將不可避免地影響面試效果,給面試官留下不好的印象,進而可能無法順利通過面試。

那么,除了面試過程中的緊張焦慮情緒,還有其他影響面試結果的因素嗎?
有網友認為,緊張焦慮當然不是唯一的影響因素。所有的面試,特別是 FAANG 五大科技巨擘的面試,都是隨機的。面試官可能會問一些涉及種族和性別歧視等方面的問題。面試官也可能受個人情緒的左右,問一些他們自己了解但應聘者不曾聽說過的古怪問題。
還有一種情況,即使應聘者回答對了所有問題,但面試官偏偏不喜歡你回答問題的方式。總之,應聘者真的太難了!

還有網友提到了面試時間和環境也會對面試結果造成影響。
ta 通過自己的面試經歷發現,午飯前或者下午 4 點以及更晚時間的應聘者會得到更糟的分數。此外,應聘者在一些味道難聞、嘈雜或由貯藏室改造而成的房間內接受面試,面試分數也可能更低一些。
所以,在調整應聘者房間以及確保他們吃飽喝足之后,面試效果出現了真實的改觀。

針對緊張焦慮等面試過程中存在的諸多影響因素,有人建議程序員等知識工作者可以多學習一些心理學知識。這或許有助于調節面試過程中的不利情緒,以一種更冷靜的心態面對種種突發情況。

總之,面試不易,且面且珍惜!