【CSDN 編者按】在技術(shù)招聘領(lǐng)域,Live Coding(現(xiàn)場(chǎng)編程)面試已成為不少公司的“標(biāo)配”。它看似是在考察應(yīng)聘者的編程能力,實(shí)則更多是在測(cè)試一個(gè)人在高壓、被注視環(huán)境下的臨場(chǎng)表現(xiàn)。本文作者以親身經(jīng)歷為引,結(jié)合科學(xué)研究揭示了一個(gè)事實(shí):許多經(jīng)驗(yàn)豐富的工程師并非“不會(huì)寫(xiě)代碼”,而是在面試環(huán)境中被壓力擊垮。
原文鏈接:https://hadid.dev/posts/living-coding/
作者 | Mustapha Hadid 翻譯 | 鄭麗媛
出品 | CSDN(ID:CSDNnews)
投稿或?qū)で髨?bào)道 | zhanghy@csdn.net
有些人喜歡 Live Coding(現(xiàn)場(chǎng)編程)面試,但顯然我不是。
幾天前,我在 LinkedIn 上刷到了一條帖子:
聽(tīng)上去是不是有點(diǎn)離譜?一個(gè)經(jīng)驗(yàn)豐富的高級(jí)工程師,居然搞不定這么基礎(chǔ)的算法題?難道他們突然忘了怎么寫(xiě)代碼?可能吧,但我有另一種看法。
一個(gè)簡(jiǎn)單的小故事
四年前,我申請(qǐng)加入自由職業(yè)平臺(tái) Toptal。
我順利通過(guò)了前幾輪,包括一個(gè) 90 分鐘的 Codility 在線編程測(cè)試(我記得是三道題)。但在最后一輪——30 分鐘的 Live Coding 面試中,我失敗了。
那道題其實(shí)不算難。幾個(gè)小時(shí)后我重做了一遍,幾分鐘就寫(xiě)出來(lái)了。
這讓我極度困惑:同樣是我,為什么現(xiàn)場(chǎng)就寫(xiě)不出來(lái)?這個(gè)經(jīng)歷觸發(fā)了我的好奇心。于是我開(kāi)始查資料,發(fā)現(xiàn)這其實(shí)早就有科學(xué)解釋,關(guān)鍵在于兩個(gè)字:壓力。
壓力是怎么讓你“突然變笨”的?
人在面對(duì)高壓、限時(shí)、被注視的場(chǎng)景時(shí),比如 Live Coding 面試,大腦會(huì)將其識(shí)別為威脅。
你的杏仁核(amygdala)被激活,皮質(zhì)醇(壓力激素)急劇上升,這導(dǎo)致的結(jié)果是:大腦中負(fù)責(zé)邏輯推理和工作記憶的“前額皮質(zhì)”功能被抑制了。
而所謂的“工作記憶”(Working Memory),其實(shí)是衡量你流體智力(Fluid Intelligence)的關(guān)鍵指標(biāo)——比如解決新問(wèn)題、抽象思考、一步步推理。
所以,當(dāng)你被壓力打垮時(shí):你無(wú)法保持多步思考;容易忘記剛打的字;注意力變得狹隘;感覺(jué) IQ 掉了 30 分;簡(jiǎn)直就像變成了另一個(gè)更蠢的自己。尤其是對(duì)那些有輕度“表演焦慮”(Performance Anxiety)的人來(lái)說(shuō),這種影響更明顯。
但這不表示你不會(huì)寫(xiě)代碼,而是你沒(méi)法在別人盯著時(shí)正常思考。
一篇真正嚴(yán)謹(jǐn)?shù)难芯浚篖ive Coding 到底測(cè)的是什么?
我寫(xiě)這篇文章時(shí),找到了一篇讓我大為震驚的論文:《Does Stress Impact Technical Interview Performance?(壓力會(huì)影響技術(shù)面試的表現(xiàn)嗎?)》
這篇論文由微軟的研究人員主導(dǎo),設(shè)計(jì)非常嚴(yán)謹(jǐn)。他們讓參與者在兩個(gè)環(huán)境下解同一道編程題:
● 私密場(chǎng)景(Private):獨(dú)自在房間,無(wú)人觀看;
● 公開(kāi)場(chǎng)景(Public):有面試官在場(chǎng),需要邊寫(xiě)邊說(shuō)思路。
結(jié)果發(fā)現(xiàn):同一道題,公開(kāi)場(chǎng)景下的得分只有私密場(chǎng)景的一半!
不僅如此,公開(kāi)場(chǎng)景的得分差距更大(方差更高),這說(shuō)明一些人面對(duì)壓力會(huì)完全崩潰,而另一些則不受影響,甚至發(fā)揮得更好。
而最令人震驚的一個(gè)發(fā)現(xiàn)是:在公開(kāi)場(chǎng)景下,一個(gè)女性參與者都沒(méi)有通過(guò);而在私密場(chǎng)景中,所有女性都做對(duì)了題。所以,如果你的公司嘴上說(shuō)“支持女性進(jìn)入科技領(lǐng)域”,但依然堅(jiān)持 Live Coding 面試——這就相當(dāng)于設(shè)置了一個(gè)“科學(xué)認(rèn)證的排他機(jī)制”。
Live Coding ≠ 編程能力
換句話說(shuō),Live Coding 更像是一種對(duì)抗壓能力的測(cè)試。
有些公司確實(shí)明確表示他們想要“抗壓強(qiáng)”的員工,這種面試方式也還說(shuō)得過(guò)去;但多數(shù)公司根本沒(méi)在招聘啟事中提過(guò)“抗壓”、“高壓場(chǎng)景”這些關(guān)鍵詞,他們要的只是一個(gè)“寫(xiě)得出好代碼”的工程師。
然而,他們?cè)?0分鐘的LeetCode面試中卡住的人,可能就是那個(gè)能默默寫(xiě)出高質(zhì)量、無(wú)Bug代碼的后端、能一眼看穿系統(tǒng)問(wèn)題的 Debug 高手、文檔寫(xiě)得比產(chǎn)品經(jīng)理還清晰的開(kāi)發(fā)者。
他們篩掉的,不是一個(gè)“不會(huì)寫(xiě)代碼的人”,只是一個(gè)“被當(dāng)場(chǎng)盯著寫(xiě)不出代碼的人”——而“被當(dāng)場(chǎng)盯著寫(xiě)代碼”,并不是大多數(shù)崗位的工作要求。
很多公司把 Live Coding 包裝成對(duì)“代碼能力”的考察,這其實(shí)是誤導(dǎo)。更糟糕的是,它反而會(huì)放大應(yīng)聘者的焦慮:讓他們誤以為這場(chǎng)面試決定了“我到底是不是個(gè)合格的程序員”。這根本不公平,也不科學(xué)。
所以說(shuō),Live Coding 測(cè)的根本不是你的編碼能力,而是你處于壓力下的激素水平。
如何降低 Live Coding帶來(lái)的壓力感?
我們也許無(wú)法改變 Live Coding 是面試主流這個(gè)現(xiàn)實(shí),但可以學(xué)著去“抗敏”:
例如,自行模擬真實(shí)場(chǎng)景,多練習(xí)??梢栽囋?Pramp、Interviewing.io、LeetCode Mock 面試;給自己設(shè)定倒計(jì)時(shí)、邊寫(xiě)邊說(shuō);錄自己寫(xiě)代碼的過(guò)程(模擬“被盯著”);逐步加壓,比如讓朋友假裝考官。
不過(guò),每個(gè)人對(duì)壓力的反應(yīng)不同,實(shí)踐前請(qǐng)務(wù)必自行測(cè)試、評(píng)估。
最后,我要再?gòu)?qiáng)調(diào)一遍:寫(xiě)不好 Live Coding,并不意味著你不是一個(gè)好工程師。它只能說(shuō)明,在高壓、注視和倒計(jì)時(shí)之下——你像所有正常人一樣,大腦沒(méi)法正常運(yùn)轉(zhuǎn)罷了。
2025 全球產(chǎn)品經(jīng)理大會(huì)
8月15–16日·北京威斯汀酒店
互聯(lián)網(wǎng)大廠&AI創(chuàng)業(yè)公司產(chǎn)品人齊聚
12 大專題,趨勢(shì)洞察 × 實(shí)戰(zhàn)拆解
掃碼領(lǐng)取大會(huì) PPT,搶占 AI 產(chǎn)品新紅利
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.