哪些平台用于编程面试,它们有何区别?
作者 Aaron Cao · 更新于
大多数编程面试采用实时共享编辑器(CoderPad、CodeSignal、HackerRank Interview 或普通共享文档)、限时在线测评(HackerRank、Codility、CodeSignal),或由 Karat 等面试服务供应商主持。主要区别在于是实时还是异步、能否运行代码,以及面试是否受监考。
你实际会遇到哪些平台?
邀请邮件通常会注明平台名称,而这个名称基本能让你了解面试过程会是什么样。平台可分为四类。
- 实时共享编辑器。CoderPad、CodeSignal 的面试模式、HackerRank Interview(原 CodePair)及类似编辑器会打开一份你和面试官都能编辑的文档。大多数平台能运行少数几种语言的代码;有些雇主会特意关闭执行功能,让你通过推理解决问题,而不是反复试错。
- 普通共享文档。有些团队仍会通过 Zoom 或 Google Meet 发来 Google 文档或空白文本编辑器。没有语法高亮、运行按钮或测试;面试官会像代码审查者一样阅读你的代码。
- 限时在线测评。HackerRank、Codility 和 CodeSignal 会提供一组固定题目、计时器和自动评分器。不会有人与你通话;平台会记录你的答题过程,并根据隐藏测试用例评分。
- 面试服务供应商。Karat 及类似供应商会安排一名受过培训的工程师,在供应商自己的编辑器上主持实时技术面试,并撰写供雇主阅读的报告。这种形式是实时的,但与你通话的人并不是你未来的同事。
雇主会混合使用这些形式。典型流程从测评开始,随后进行一轮或两轮实时编辑器面试,最后通过白板工具或普通通话进行设计讨论。平台审核主题更深入地介绍了各家供应商。
它们在关键方面有何区别?
五项属性决定了面试如何进行,而不同平台在这些方面的差异甚至大于题目难度的差异。
- 实时或异步。实时编辑器面试是一场对话;你可以询问约束条件并获得提示。测评则是无声的考试;唯一的说明就是题目描述。
- 代码执行。带运行按钮的编辑器允许你在声称代码可用之前检查测试用例。普通文档和禁用执行功能的编辑器会让你充当解释器,因此需要讲解每一行代码的作用。
- 输入过程的可见性。在实时编辑器中,面试官会即时看到每次按键、停顿和删除。将一个函数重写三遍也会被看到;这未必是坏事,但在此过程中保持沉默就不妥了。
- 语言和工具。大多数编辑器支持主流语言,但库访问权限、自动补全和调试器各不相同。测评通常只允许使用评分器支持的语言。
- 录制和监考。实时面试通常会被录制,以供复盘。测评平台提供可选的监考功能,其中可能包括摄像头快照、浏览器标签页切换记录或复制粘贴标记;是否启用由雇主决定,而邀请中很少说明。
最后一项属性最需要提前规划。除非说明中明确表示不会监考,否则应将任何限时测评都视为已启用监考。
应如何针对每种形式做准备?
担心在一个平台上的练习无法迁移到另一个平台很正常。本节按形式提供准备方法;简而言之,编程能力可以迁移,但面试习惯不能,因此要有意识地演练这些习惯。
- 针对实时编辑器:在没有自动补全的浏览器编辑器中练习,边输入边讲解,并在运行任何代码前手写一个小型测试用例。如果编辑器有运行按钮,请在解释完思路后使用,而不要用它代替解释。
- 针对普通文档:练习在没有编译器的情况下编写正确代码。统一的缩进和简短的函数很重要,因为面试官会阅读代码,而不是执行代码。
- 针对限时测评:在计时环境下练习,并考虑隐藏测试:处理空输入、重复项和允许的最大规模。先阅读整套题目,再按预计工作量安排解题顺序。
- 针对供应商面试:应预期采用标准化评分准则。Karat 类供应商的面试官会明确评估沟通和问题拆解能力,因此请在编写代码前说明你的计划。
一名应聘支付公司高级职位的后端工程师在一周内收到三种不同的邀请:CodeSignal 测评、启用执行功能的 CoderPad 面试,以及使用共享文档的终面。她针对每种形式各演练一次,唯一调整的是讲解的详细程度。SubcueAI 上的模拟面试工具可以方便地练习大声讲解。
AI 面试助手能在这些平台上提供帮助吗?
它只适用于有人与你交谈的形式。SubcueAI 的原生 macOS 和 Windows 桌面应用会同时捕获系统音频和你的麦克风,因此能听到面试官在 Zoom、Google Meet 或 Microsoft Teams 上提出的问题,并在仅显示于你自己屏幕上的浮动浮层中给出建议。其浏览器扩展的 Side Panel 可为 Chrome 或 Edge 浏览器标签页中进行的通话提供相同功能,但只捕获会议标签页的音频,因此它能听到面试官,却绝不会转录你的语音。两种界面都不会以机器人的身份加入通话,也不会向会议页面或编程编辑器注入任何内容;该扩展的 Firefox 版本仅支持模拟练习。
这一适用范围有明确边界。限时测评中没有对话,因此聆听型助手无从发挥作用;会记录标签页或监控摄像头的监考测评也不属于 SubcueAI 的用途。在实时编辑器中,共享整个屏幕会使浮层出现在共享画面中;应只共享编辑器窗口,或完全不共享。被录制的面试和雇主管理的设备同样不在适用范围内。SubcueAI 创始人 Aaron Cao 正是出于这个原因,将浮层设计成本地窗口,而非会议参与者:它绝不应成为平台录制内容的一部分。各界面的设置步骤请参阅教程页面,安全页面则说明了会捕获和不会捕获的内容。