我做了七年多前端面试官,经手过几百场技术面试。直到去年深秋的一个下午,这种“经验”第一次让我感到了真实的困惑。
那天我照例在面试一位五年经验的候选人。在“如何实现一个高性能的虚拟列表”这个经典问题上,他的回答堪称完美——边界情况、缓存策略、滚动优化,面面俱到。但当我把问题改成“假设我们的用户主要来自非洲,网络条件很差,手机内存只有1GB,你的虚拟列表方案需要做什么调整”时,他明显愣住了。
后来复盘时我意识到一个让我后背发凉的事实:刚才那套完美的答案,大概率是AI在面试前替他准备的。而那些追问,才是属于他的真实水平。
AI时代的面试,正在经历一场深刻的信任危机。但比危机更值得思考的是:当AI能写出80分的代码,我们到底在筛选什么?
一、传统面试的“失效时刻”
过去五年,前端面试经历了从“八股文”到“工程化”的演变。我曾经也习惯问这些问题:
“说一下浏览器从输入URL到渲染页面的完整过程”
“手写一个深拷贝”
“React的diff算法原理是什么”
这些问题的本质是知识点的存量测试。在信息获取成本极高的时代,能记住这些细节本身就是一种能力。但现在,任何一个人打开ChatGPT,三十秒内就能获得比教科书更完整的答案。
更尴尬的是,我观察到两个让我不安的趋势:
第一,AI正在制造“伪高级工程师”。
有些候选人简历光鲜,面试对答如流,甚至能给出多种技术方案的对比。但只要追问“你当时为什么选择方案A而不是B,考虑过团队的学习成本吗”,或者“如果现在让你重新做一遍,会有什么不同”,他们就会露出破绽——那些决策痕迹不属于他们。
第二,AI让“造假”变得极其廉价。
以前伪造项目经验需要编造细节、自圆其说,成本很高。现在AI可以帮你生成一整套虚拟的技术方案,连代码示例、踩坑记录、性能数据都可以伪造得滴水不漏。
当一个人的“知识库”和“经验”都可以被AI低成本伪造时,我们曾经引以为傲的面试体系,正在面临系统性失效的风险。
二、AI时代的工程师,真正值钱的是什么?
我花了很长时间反思这个问题。最终我得出的结论可能有些反直觉:AI时代,工程师最稀缺的能力,恰恰是那些“非技术”的东西。
1. 架构直觉:权衡的智慧
AI可以生成代码,但它无法理解“为什么这个项目不需要微前端”,无法感知“三个月后这个功能大概率会变成核心业务”。架构的本质是在不确定性中做权衡——用多少复杂度换取多少灵活性?代码写得“脏”一点可以抢出多少上线时间?这些决策依赖于对业务、团队、甚至公司政治的理解。
AI没有商业压力,没有KPI,没有产假带来的交接风险。它能写出完美的代码,但它不知道什么是“恰到好处”。
2. 调试的韧性:面对未知的勇气
我职业生涯中最有价值的技能不是写代码,而是在黑暗里摸到线头的能力。当一个诡异的线上Bug出现,所有文档都查不到,AI也给出似是而非的建议时,真正能解决问题的是那种近乎偏执的探究欲——打开Chrome DevTools一步步追踪,在源码里打断点,甚至去读编译后的代码。
这种能力无法通过刷题获得,也无法被AI替代。它来自于一个人面对不确定性的勇气和耐心。
3. 语言的可翻译性
这是我最近两年最在意的能力。优秀的工程师能把复杂的技术问题翻译成产品听得懂的语言,能让老板理解为什么“重构”不是在浪费工时,能在跨部门协作中减少90%的沟通损耗。
AI的“沟通”是单向的信息输出,而人类的沟通是双向的共情、博弈、妥协。这一点在AI时代反而更加珍贵。
4. 代码的“手感”
这是一种很难量化的能力。一个有经验的工程师,写出的代码即使功能简单,你也觉得干净、舒服、有层次感——变量命名恰到好处,边界条件处理周全,不会过度设计,也不会偷工减料。
这种“手感”来自大量的真实项目历练,来自无数次Code Review的打磨,来自被线上事故教训后的肌肉记忆。AI可以模仿风格,但很难真正拥有这种积累出的判断力。
点击下方小卡片免费获取前端资料前端资料https://mp.weixin.qq.com/s/iBmSycbmeTCSRNKJQ10EuA
三、面试的进化:从“知识测试”到“场景共演”
基于这些思考,我在过去一年彻底重构了我的面试方式。核心思路是:不再把面试看作“考试”,而是看作一次“真实的协作预演”。
1. 开放AI,但追踪思考
我现在明确允许候选人使用AI工具,但会提一个特殊要求:“请把屏幕共享打开,我希望能看到你如何使用AI。”
我观察的重点是:
Prompt的质量——是“给我写一个表格”还是“我需要一个支持虚拟滚动、行高可变的表格,考虑内存占用”
批判性使用——是否会照搬AI的答案,还是会质疑、修改、追问AI
知识的边界——当AI给出错误建议时,能不能识别出来
2. 设计“无法被AI回答”的问题
这些问题通常有两个特征:强上下文依赖和多目标约束。
比如我会给一个真实的场景:
“我们现在有一个老项目,用了jQuery + Backbone,技术债很重。产品要求在下个月上线一个类似Notion的协同编辑功能,团队只有三个人。你建议怎么推进?技术选型、人力分配、风险控制都说说。”
这种问题没有标准答案,AI可以给出泛泛的建议,但真正的思考在于:候选人能否追问清楚现有系统的细节?能否权衡新老技术的融合成本?能否预见团队能力与目标之间的差距?
3. 重视“决策痕迹”
我会在面试中反复追问同一个问题:“当时还有其他方案吗?你为什么选了现在这个?”
一个好的工程师,他的决策往往是可追溯的——他记得当时的技术限制、团队状态、业务压力,甚至记得某个关键决策是在什么会议上、和谁讨论后确定的。这些细节很难伪造,也是区分“真经验”和“AI包装”的试金石。
4. 引入“反向面试”环节
我会留出15分钟,让候选人问我问题。不是客套的“你问吧”,而是明确告诉他:“现在你可以问我关于团队、技术栈、业务、发展空间任何问题。我想通过你问的问题,了解你在乎什么。”
一个在乎工程质量的人,会问“你们的CI/CD流程是怎样的”;一个在乎成长的人,会问“团队的技术氛围和分享机制”;一个只想要个饭碗的人,可能会问“加班多吗”。
四、面试官的自省:我们被时代追赶
这一年的改变,也让我不断审视自己。我渐渐意识到,真正需要进化的不只是面试标准,还有面试官本身。
经验正在成为负担。我曾经引以为傲的知识积累,现在AI三秒就能生成。如果不及时更新判断维度,我可能会错过很多新范式下的优秀人才。
偏见需要不断破除。面对一个习惯用AI辅助工作的候选人,第一反应不该是“这人不诚实”,而是“他是否比不用AI的人更高效”。技术中性的道理我们都懂,但在面试中往往很难做到。
面试本身也需要重新定义。当代码不再是护城河,面试的价值就不再是筛选“能写代码的人”,而是识别“能驾驭代码创造价值的人”。这意味着面试官需要更懂业务、更懂协作、更懂人。
五、写在最后:技术人的终极追问
AI的到来,对技术人来说,其实是一场终极追问。
我们曾经引以为傲的“技术壁垒”——那些我们花无数个夜晚啃下的源码、记下的API、练出的手速——正在被技术本身瓦解。当代码不再是稀缺品,什么才是?
我想,是对复杂系统的理解,是在不确定中做出判断的勇气,是与人和机器协作的能力,是把一个模糊想法落地为可用产品的工程直觉。
这些东西无法被压缩成一个Prompt,也无法通过一次考试获得。它们来自于真实世界的摸爬滚打,来自于失败后的复盘,来自于对“创造”这件事本身的敬畏。
作为面试官,我的责任不是筛选出“知道最多的人”,而是识别出那些在AI时代依然能创造独特价值的人。这不仅是对候选人的考验,也是对我自己的审视——在这个技术加速迭代的时代,我是否也在成长?
毕竟,AI不会淘汰技术人,但会用AI的技术人,可能会淘汰那些拒绝拥抱变化的同行。
而面试官,不过是这个变化中的一个缩影
点击下方小卡片免费领取前端资料前端资料https://mp.weixin.qq.com/s/iBmSycbmeTCSRNKJQ10EuA