四年前,我申请加入自由职业平台 Toptal。
前几轮考核都顺顺利利,包括 90 分钟的 Codility 在线编程测试 —— 记得考了三道题。可到了最后一轮,那场 30 分钟的实时编码面试,我栽了。
其实那道题不算难。几个小时后我重新做了一遍,几分钟就写出来了。
这让我特别困惑:明明是同一个人,为什么现场就写不出来?这次经历勾起了我的好奇心,于是我开始查资料,发现这事儿早就有科学解释,关键就在于两个字:压力。
压力是怎么让你 “突然变笨” 的?
人在遇到高压、限时、还被人盯着的场景时,比如实时编码面试,大脑会把这当成一种威胁。
这时,你的杏仁核会被激活,压力激素皮质醇会急剧上升,结果就是:大脑里负责逻辑推理和工作记忆的 “前额皮质” 功能被抑制了。
而所谓的 “工作记忆”,其实是衡量流体智力的关键指标 —— 像解决新问题、抽象思考、一步步推理这些能力,都和它有关。
所以,当你被压力击垮时,就会出现这些状况:没法进行多步思考,刚打完的字转眼就忘,注意力变得特别狭隘,感觉智商好像掉了 30 分,整个人就像变成了另一个更笨的自己。尤其是那些有轻度 “表演焦虑” 的人,这种影响会更明显。
但这并不代表你不会写代码,只是你没办法在别人盯着的时候正常思考而已。
一篇真正严谨的研究:实时编码到底测的是什么?
我写这篇文章时,看到了一篇让我特别震惊的论文 ——《压力会影响技术面试的表现吗?》
这篇论文是微软的研究人员主导的,设计得非常严谨。他们让参与者在两种环境下解同一道编程题:
- 私密场景:独自在房间里,没人看着;
- 公开场景:有面试官在场,还得边写边说思路。
结果发现:同一道题,在公开场景下的得分只有私密场景的一半!
不仅如此,公开场景下的得分差距更大,这说明有些人一面对压力就彻底崩溃,而另一些人却不受影响,甚至能发挥得更好。
更让人震惊的是,在公开场景里,没有一个女性参与者通过;但在私密场景中,所有女性都做对了题。所以,如果哪家公司嘴上说着 “支持女性进入科技领域”,却还在坚持用实时编码面试,那这就相当于设置了一个 “被科学认证的排他机制”。
实时编码≠编程能力
换句话说,实时编码更像是在测试抗压能力。
有些公司确实明确说过想要 “抗压强” 的员工,那这种面试方式还算说得过去;但大多数公司在招聘启事里,根本没提过 “抗压”“高压场景” 这些词,他们要的只是一个 “能写出好代码” 的工程师。
然而,那些在 30 分钟的 LeetCode 面试里卡壳的人,可能正是那个能默默写出高质量、零 Bug 代码的后端工程师,那个能一眼看穿系统问题的调试高手,那个文档写得比产品经理还清晰的开发者。
他们筛掉的,不是 “不会写代码的人”,只是 “被当场盯着写不出代码的人”—— 而 “被当场盯着写代码”,并不是大多数岗位的工作要求。
很多公司把实时编码包装成考察 “代码能力” 的方式,这其实是种误导。更糟糕的是,它会加重应聘者的焦虑,让他们误以为这场面试就能决定 “自己到底是不是个合格的程序员”。这根本不公平,也不科学。
所以说,实时编码测的根本不是你的编码能力,而是你在压力下的激素水平。
如何降低实时编码带来的压力感?
或许我们改变不了实时编码是主流面试方式这个现实,但可以学着去 “脱敏”:
比如,自己模拟真实场景多练习。可以试试 Pramp、Interviewing.io、LeetCode 的模拟面试;给自己设个倒计时,边写边说思路;录下自己写代码的过程(模拟 “被盯着” 的感觉);还可以逐步增加压力,比如让朋友假装成考官。
不过,每个人对压力的反应不一样,开始实践前一定要自己先测试、评估。
最后,我要再强调一遍:实时编码写不好,并不意味着你不是个好工程师。这只能说明,在高压、被注视、还有倒计时的情况下 —— 你和所有正常人一样,大脑没办法正常运转而已。
.
.
.
.
.
