在科技迅速发展的今天,大型语言模型(LLMs)已经成为软件开发者日常工作中的重要助力。作为招聘方,我们面对的传统编码面试模式正在经历前所未有的变革。过去,人们常担心面试中使用LLMs是“作弊”,进而设立诸多规避措施,例如强制面对面面试或禁止使用AI辅助工具。然而,事实证明,限制使用这些工具往往适得其反,无法全面真实地考察候选人的能力,而鼓励合理利用LLMs则为面试带来了全新的思路和效率提升。我们作为面试官,深刻感受到促使候选人开放使用LLM和搜索工具,不仅提高了面试流畅度,也更能反映他们在真实工作环境下的表现。作为一个坚持远程优先工作的公司,我们无法强制要求候选人线下面试,毕竟实际工作中沟通和问题解决都依赖远程协作。
因此,倘若面试流程剥离了远程环境的真实性,那么评估结果也将失去参考价值。与此同时,传统的线上编程作业因外部资源易获取面临严峻挑战,无法再作为有效筛选手段。我们深入研究LLM本质特征后发现,这些模型擅长于模式匹配和信息召回,却不善于进行首次深度分析。换言之,LLM容易被上下文干扰,导致推理错误,而人类则拥有更为灵活和准确的分析能力。基于这一洞察,我们决心拥抱LLM技术,将其融入面试流程,而非视之为“作弊工具”。我们将面试过程设计为“开卷考试”,全权允许候选人使用任何语言、集成开发环境(IDE)、AI工具以及搜索引擎。
虽然出于业务需要,鼓励优先选择Python或JavaScript,但关键在于观察候选人如何选择与运用这些工具。根据候选人简历和既往学习背景,我们会精心挑选具有挑战性的问题,例如设计和实现一个多层级的计算器求解器,从基础的整数运算逐步过渡到支持自定义函数等复杂功能。面试前我们明确告知候选人,题目难度较大,旨在观察他们在压力环境下的思维方法和解决策略,因此不必强求完成所有阶段。更重要的是,鼓励候选人持续讲解思路,沟通设计理念。我们发现,许多候选人倾向于急于开始编写代码,我们会引导他们先进行问题分析与设计规划。这与我们公司内部习惯先发起RFC(征求意见请求)再编码的流程一致,也有助于候选人条理清晰地处理复杂问题。
随着候选人完成一个阶段的目标,我们再引导进入更高难度的问题,通常这些进阶题目会挑战先前阶段的假设设计。我们通过互动了解候选人如何应对新要求,以及他们是否具备良好的架构拓展能力。在整个面试过程中,我们重点观察三个方面:完成层级的数量、解决方案的设计扩展性以及候选人与AI及搜索工具的互动情况。特别是在后者方面,我们深入探讨候选人是如何设计AI提示词或搜索关键词的,考察其是否对AI给出的答案保持批判性思维,能够识别并过滤潜在错误,最终提取有效信息。优秀的候选人能够清楚表达他们对信息提取环节的预期和实际收获,展示理性分析能力和主动思考过程。而表现欠佳者则常出现循环论证,忽视检验AI结论的步骤,甚至盲目接受AI结果。
值得一提的是,以往面试因担心作弊需要花费30分钟到一小时仔细甄别,而现今借助LLM的合理使用,我们往往在15分钟内便能判断出候选人的水平和思路质量,显著提高了面试效率。我们的面试实践表明,将AI和搜索工具纳入面试是顺应时代发展、尊重现实工作流程的明智选择。面试不仅考察技术能力,更关注候选人如何与辅助工具协作,展现信息筛选、分析和总结的能力,这些才能是真正衡量未来开发者的关键能力。此外,给予候选人自由使用工具的权利,也降低了焦虑感,使其更能发挥真实实力,从而帮助公司识别真正适合岗位的人才。技术面试本质是评估候选人面对未知问题时的思维方式和解决问题的能力。大型语言模型在工作中的普及不可阻挡,将其融入面试流程是一条必由之路。
面试官应当关注的是候选人如何与LLM协作、如何验证和分析AI输出,而非完全禁用这类辅助工具。未来招聘趋势或将进一步体现在促进人机协作的能力上,而非单纯依靠个人知识储备。综上所述,鼓励合理利用大型语言模型和搜索工具,能够显著优化远程优先企业的招聘流程,使面试更高效、更贴近实际工作需求,也能更快做出准确的职位匹配判断。这一崭新面试范式代表了技术与人才评估相结合的未来方向,值得更多企业与招聘平台广泛借鉴推广。