Codility 会检测作弊吗?
作者 Aaron Cao · 更新于

会,但主要发生在你提交之后。Codility 会将你的解答与以往提交和公开代码进行相似度比对,在测试过程中记录切换标签页和粘贴事件,还能回放解答的编写过程。标记会交给人工审核员处理,而不是自动判定不合格。
提交之后,Codility 会检测什么?
你想知道的是,在你答题时是否有什么在监视你。多数情况下并没有;更重的分析是在你提交之后进行的。本节按检测实际发生的先后顺序逐一说明,让时间线更清楚。
在测试过程中,平台会记录一些行为信号:离开窗口时的焦点变化、大段粘贴内容的时间戳,以及构建每个函数时的编辑顺序。有些评估会要求全屏运行,有些还会拍照用于身份核验。
提交之后,代码会与大量以往提交和公开可得的解答进行相似度比对。这是权重最大的一项检测,因为一道知名题目往往已经积累了成千上万份此前的答案可供比对。
相似度检测究竟是如何运作的?
相似度比对并不是在找完全相同的文本。它比较的是结构:逻辑的形状、变量使用的模式、操作的顺序。重命名变量或重新排版并不会让结果发生太大变化,因为被衡量的是底层结构。
这也是为什么这项检测会产生误报。一个用标准方式写出的标准算法,看起来会和其他所有正确实现别无二致,而二分查找本来就没有多少种写法。审核员深知这一点,所以高相似度分数只是开启一次对话,而不是直接定案。
其他评估平台的对比细节收录在检测能力主题合集中。
报告被标记之后会发生什么?
报告连同你的代码、答题用时和编辑历史,会一起送到招聘人员或工程师手中,并附带标记。接下来发生什么完全取决于公司。有些公司会直接淘汰候选人;许多公司则会以此为由,加开一轮实时环节,让你现场讲解自己提交的解答。
一位应聘物流公司的数据工程师,因为解答与常见教科书实现相似而被标记。后续的电话沟通只用了十五分钟:他讲解了自己的思路,并在对方要求下现场调整,流程随后照常继续。能够为自己的代码辩护,正是这个标记最终考验的东西。
SubcueAI 在实时面试中会记录什么、事后又会保存什么,安全页面有说明。
SubcueAI 能派上用场的地方,以及派不上用场的地方
SubcueAI 协助的是实时对话。原生的 macOS 和 Windows 应用会捕捉系统音频和你的麦克风声音,并在悬浮的本地叠加层中显示建议;浏览器扩展的侧边栏则为 Chromium 浏览器上的会议标签页提供实时协助,只捕捉该标签页的音频。不会有任何会议机器人加入通话,也不会向会议页面注入任何内容。
Codility 评估并不是一场对话,所以以上这些都不适用。如果该评估启用了监考或屏幕录制,叠加层就会出现在录制画面之内,这是一种局限,而不是配置问题。它真正适配的环节,是招聘人员初筛、行为面试,以及通常在通过评估之后进行的设计讨论。
至于评估本身,有用的准备方式是限时练习,可以在模拟面试页面上进行。