有些人喜欢 Live Coding(现场编程)面试,但显然我不是。
几天前,我在 LinkedIn 上刷到了一条帖子:

听上去是不是有点离谱?一个经验丰富的高级工程师,居然搞不定这么基础的算法题?难道他们突然忘了怎么写代码?可能吧,但我有另一种看法。
01
一个简单的小故事
四年前,我申请加入自由职业平台 Toptal。
我顺利通过了前几轮,包括一个 90 分钟的 Codility 在线编程测试(我记得是三道题)。但在最后一轮——30 分钟的 Live Coding 面试中,我失败了。
那道题其实不算难。几个小时后我重做了一遍,几分钟就写出来了。
这让我极度困惑:同样是我,为什么现场就写不出来?这个经历触发了我的好奇心。于是我开始查资料,发现这其实早就有科学解释,关键在于两个字:压力。
02
压力是怎么让你“突然变笨”的?
人在面对高压、限时、被注视的场景时,比如 Live Coding 面试,大脑会将其识别为威胁。
你的杏仁核(amygdala)被激活,皮质醇(压力激素)急剧上升,这导致的结果是:大脑中负责逻辑推理和工作记忆的“前额皮质”功能被抑制了。
而所谓的“工作记忆”(Working Memory),其实是衡量你流体智力(Fluid Intelligence)的关键指标——比如解决新问题、抽象思考、一步步推理。
所以,当你被压力打垮时:你无法保持多步思考;容易忘记刚打的字;注意力变得狭隘;感觉 IQ 掉了 30 分;简直就像变成了另一个更蠢的自己。尤其是对那些有轻度“表演焦虑”(Performance Anxiety)的人来说,这种影响更明显。
但这不表示你不会写代码,而是你没法在别人盯着时正常思考。
03
一篇真正严谨的研究:Live Coding 到底测的是什么?
我写这篇文章时,找到了一篇让我大为震惊的论文:《Does Stress Impact Technical Interview Performance?(压力会影响技术面试的表现吗?)》
这篇论文由微软的研究人员主导,设计非常严谨。他们让参与者在两个环境下解同一道编程题:
● 私密场景(Private):独自在房间,无人观看;
● 公开场景(Public):有面试官在场,需要边写边说思路。
结果发现:同一道题,公开场景下的得分只有私密场景的一半!
不仅如此,公开场景的得分差距更大(方差更高),这说明一些人面对压力会完全崩溃,而另一些则不受影响,甚至发挥得更好。
而最令人震惊的一个发现是:在公开场景下,一个女性参与者都没有通过;而在私密场景中,所有女性都做对了题。所以,如果你的公司嘴上说“支持女性进入科技领域”,但依然坚持 Live Coding 面试——这就相当于设置了一个“科学认证的排他机制”。
04
Live Coding ≠ 编程能力
换句话说,Live Coding 更像是一种对抗压能力的测试。
有些公司确实明确表示他们想要“抗压强”的员工,这种面试方式也还说得过去;但多数公司根本没在招聘启事中提过“抗压”、“高压场景”这些关键词,他们要的只是一个“写得出好代码”的工程师。
然而,他们在30分钟的LeetCode面试中卡住的人,可能就是那个能默默写出高质量、无Bug代码的后端、能一眼看穿系统问题的 Debug 高手、文档写得比产品经理还清晰的开发者。
他们筛掉的,不是一个“不会写代码的人”,只是一个“被当场盯着写不出代码的人”——而“被当场盯着写代码”,并不是大多数岗位的工作要求。
很多公司把 Live Coding 包装成对“代码能力”的考察,这其实是误导。更糟糕的是,它反而会放大应聘者的焦虑:让他们误以为这场面试决定了“我到底是不是个合格的程序员”。这根本不公平,也不科学。
所以说,Live Coding 测的根本不是你的编码能力,而是你处于压力下的激素水平。
05
如何降低 Live Coding 带来的压力感?
我们也许无法改变 Live Coding 是面试主流这个现实,但可以学着去“抗敏”:
例如,自行模拟真实场景,多练习。可以试试 Pramp、Interviewing.io、LeetCode Mock 面试;给自己设定倒计时、边写边说;录自己写代码的过程(模拟“被盯着”);逐步加压,比如让朋友假装考官。
不过,每个人对压力的反应不同,实践前请务必自行测试、评估。
最后,我要再强调一遍:写不好 Live Coding,并不意味着你不是一个好工程师。它只能说明,在高压、注视和倒计时之下——你像所有正常人一样,大脑没法正常运转罢了。
作者 | Mustapha Hadid