每周AI观察:Vibe Coding时代的面试

Cover created with Nano Banana 我们组的面试方式变了。 从写leetcode题变成让候选人实现一个完整功能。如果你不用AI编程,除非手速超快,否则根本完不成。这种改变看似只是工具的升级,但实际上正在重塑我们对"优秀工程师"的定义。 差距被放大了 原来的算法面试,写不出来和写得出来之间,可能只是一个提示的差别。但现在让你实现一个界面或一个功能,完成度可以是天差地别。 有人能在一小时内做出一个基本可用的页面,交互流畅,样式得体。有人却在和AI的来回修改中越陷越深,最后连基本功能都跑不通。同样是用AI工具,结果却大相径庭。 这种面试方式,把候选人之间的差异放大到了前所未有的程度。 沟通能力成了硬通货 在这种新面试下,沟通能力变得特别关键。不仅是和面试官的沟通,和AI沟通好同样重要。 我最近观察到一个有意思的现象:不善于沟通的人往往对vibe coding比较失望。这不仅体现在讲不清楚需求,更重要的是预期管理的问题。 你不能给沟通对象设定一个好的预期,就很难有好的沟通策略。拿vibe coding举例: 明确告诉AI要改哪些文件,可以大幅减少AI改错的情况 时不时把反馈提给AI让它重构,可以避免工程越写越歪 但如果把AI想得太差,事无巨细都说得一清二楚,效率又会很低 这种把握度,恰恰考验的是对工具能力边界的理解,以及与之协作的能力。 品味变得可以考察了 另一个变得重要的是品味。 这个东西在传统面试里真不太好考察,顶多看看代码风格。我想没有前端面试会去计较CSS里的配色吧。但现在因为面试做的东西展示性强了很多,品味这个以前很虚的东西,突然变得具体可见了。 界面布局是否合理?交互是否流畅?视觉是否舒适?这些过去被认为是"设计师的活"的东西,现在成了工程师面试的考察点。 所以现在应该多花点时间观察和揣摩各个出色的产品。品味不是天生的,是可以通过大量观察和实践培养的。 技术深度依然重要,但体现方式变了 那这种情况下是不是技术就不重要了?并不是。 今天我就遇到了一个特别值得学习的面试者。他在一家澳洲的大厂工作,公司提供了非常完备的AI编码工具给员工用,所以他很习惯这套面试方式。他很快就把我让他实现的功能写出来了,经过一两轮反馈,完成度又提高了不少。 但更厉害的是:他在AI开始工作前,会先给我讲一下他认为AI会在哪里做修改。等AI写完,他会打开对应的地方来验证一下。 这个策略让我对他的好感度一下子提升。一个能指挥AI、让AI放大自己生产力、当AI出错时能给与正确指示的工程师形象就这样树立起来了。 这才是技术深度的新体现方式:不是你能不能手写红黑树,而是你能不能预判AI会怎么实现,能不能快速验证AI的输出是否正确。 工具还没跟上 目前的面试工具好多都还没有适应这套范式。 比如今天用的Show Me Bug,原来他们一个网页端的IDE可以运行代码还挺好用的,但目前还没引入AI编程功能。所以现在最好用的还是视频电话然后共享桌面。 希望以后会有更好用的工具出来,专门为vibe coding面试设计。 AI作弊的悖论 想起来不久之前有个很火的用AI帮面试者作弊的公司。但现在当使用AI成为重要的考察项目,作弊是不是也就无从谈起了? 如果面试本身就是要考察你和AI协作的能力,那用AI还算作弊吗?这个问题挺有意思的。 不得不感叹这两年的变化真的太快了。 从10.11那期我提到Claude Code让我一晚上写了5700行代码,到10.19那期提到AI让我们一周完成三周的工作,再到今天我们已经开始用vibe coding来面试新同事。 AI不仅改变了我们的工作方式,也在改变我们对"优秀工程师"的定义。沟通能力、品味、对工具的掌控力,这些过去相对软性的能力,现在都成了核心竞争力。 而技术深度依然重要,只是它的体现方式变了。

November 19, 2025 · 1 min · Yuanhao

2021面试总结

今年由于各种原因参加了很多面试,面过的候选人可能快一百个了。其中有经验丰富的高P,也有初出茅庐的应届生。面的多了之后不仅能发现候选人的问题,也能发现自己作为面试官的问题。就像古人说的,千里马常有而伯乐不常有,为了以后能更好地评估候选人(主要是工程师)的水平,我做了一些总结,也分享出来跟大家讨论。 明确要招什么样的人 正所谓看人下菜碟,在面试之前要对候选人有个大致的定位,当然这个不是静态的,可以在面试的过程中调整。总体来说我目前接触过的大概分成三类 工具人。对应的大概是三年以内工作经验的人,可以完成安排的任务,不需要考虑为什么做这个。 能独立解决问题的人。三年以上经验的候选人我会期待他能够在工具人的基础上具有方案设计能力,如果能有一些业务洞察就更好了。 能带团队做业务的人。带队大佬还聊得不多,这篇就先不谈。 考察什么 目前我认为有以下三个方面需要考察: 业务能力 专业技能 数理逻辑能力 知识面 三观 软技能 沟通能力 领导力 首先业务能力达标是候选人需要满足的基本要求;然后是三观,跟一个价值取向正确、积极向上、有趣的人一起工作一点会让自己和公司收益;最后是软技能,基本是作为加分项。 怎么考察 聊项目 这部分对面试官的要求最高,因为候选人做的东西可能超出了自己的知识范围,但我觉得这部分又特别重要。以技术面为例,候选人在项目上花的时间远比花在面试时的代码测试长,所以这部分更能综合地看出候选人的上限。 聊项目我认为有几个层次: 第一个层次是聊出候选人在其中的工作量和项目的完成度。一个合格的工具人应该能做到高完成度并讲清楚自己做的事情。 第二个层次是聊价值和动机。为什么做这些事情,技术指标和业务指标怎么对应,为什么按照简历里写的方案做。一个能独立解决问题的人应该能回答出这些问题。 聊项目的时候我觉得应该避免太泛也难量化评估的问题,例如:之前项目里遇到的最大困难是什么,怎么解决的。如果是候选人是大神应该觉得都没啥困难,真的困难大概率也还没有被解决。 方案设计 这是我目前认为比较好的一种考察方式,刚才聊项目是顺着候选人来,方案设计则是由面试官来主导。这里可以选一个工作里实际遇到且比较开放的问题和候选人进行讨论,几乎可以考察到业务能力里面的各个维度。可以提前准备一些比较细致、刁钻的follow up,不仅能考察候选人,说不定还能对自己的工作产生启发。 代码测试 代码测试也很重要,但我认为这是用来控制下限的。考LeetCode上的数据结构和算法感觉也不是一个特别好的选择,试问大家工作中用过几次动态规划呢。所以我比较倾向于考一些即使没有见过也能用基本编程思想解决的问题。 数学题、基础知识 我之前面试的时候也被问过数学题和基础知识,这是考察之前项目不是特别对口的候选人或者应届生的一个好手段。对于比较有经验的候选人可以让总结一下近些年技术的发展脉络,这个对逻辑思维和知识面是个不错的考察。 聊天 聊天主要是对三观和软技能的考察,最直接的可以聊一下换工作的动机,对年轻候选人可以聊聊人生规划,对老人可以聊聊对领域和行业的看法,有个前辈经常问候选人平常有什么兴趣爱好等等。 让候选人问问题 从我面试的结果看,不同人问的问题不太一样。不少人会问公司规模、工作节奏相关的问题,有的会问自己面试的岗位定位业务发展相关的问题。有两个候选人的问题我印象比较深刻。一个是说他看了应用商店里的评论后发现不少用户在抱怨一个问题,问为什么会出现这个问题,从这个问题可以看出候选人主动做了功课,还对后面的技术问题有好奇心。另一个问我当时为什么决定加入这家公司,这个问题不仅可以拉近和面试官的距离,也可以给候选人带去很多信息,如果一个新人问这个问题,那ta大概率是比较有探索精神的一类人。 建立打分表 不管公司的打分表是怎么样的,最好都给自己的考察方案设计一套最合适的打分表,提前确定好各个维度的权重和打分细则,这样不仅能更加公平地做候选人之间的比较,也能让面试更加有针对性。这里也给出我针对3-5年经验工程师的打分表,算是对上面内容的总结。 维度 分值 细则 备注 项目:工作量和完成度 6 工作量正常、完成良好4分,能回答各种问题2分 项目:价值和动机 5 抓住对业务的价值重点2.5分,技术方案综合考虑效果、成本、可行性2.5分 方案设计 5 方案能满足功能3分,方案体现优秀的技术深度、广度2分 代码测试 6 正确、完整实现功能4分,速度快、代码风格好2分 三观 2 正常人1分,特别正2分 不正常人直接淘汰 软技能 1 沟通、表达特别好1分 总和 25

December 20, 2021 · 1 min · Yuanhao