HackerRank 面试:两种轮次,两套相反的打法
HackerRank 不是一种面试格式,而是两种,而且它们奖励的行为几乎相反。一种由机器按隐藏测试用例打分,没有人在看。另一种由人打分,而他主要关心你能不能把自己讲清楚。按错误的那一种去准备,丢掉的分和你的能力毫无关系。
HackerRank 是什么?HackerRank 测试怎么进行?
HackerRank 是一个技术招聘平台。公司用它做两件事:给候选人发在线编程测评(HackerRank Tests),以及进行实时编程面试(HackerRank Interview,也就是长期以来大家熟知的 CodePair)。根据 HackerRank 官方的候选人 FAQ,测试通常是第一道筛选,通过的人会进入同一平台上的实时面试。
流程是这样的:打开邀请邮件里的链接,填写登录表单,同意诚信守则(honor code),然后开始——候选人 FAQ 说明,参加测试不需要 HackerRank 账号。开始之前,登录页会显示时长和测试形式。代码在内置的编辑器和编译器里运行,并用测试用例检查。测试必须在电脑或笔记本上完成,手机和 iPad 不支持。改期不归 HackerRank 管,答题时间窗口由招聘公司决定。
HackerRank 的题目也不只是算法题。HackerRank 列出的题型包括:编程题、选择题、数据库(SQL)、前端、后端和全栈项目、Jupyter 里的数据科学题、Linux 机器上的 DevOps 任务、代码评审(Code Review)、图表题(Diagram)、白板题、主观题和补全句子。你的测试包含哪些题型,登录页上会写明。
先搞清楚你收到的是哪一种
看邀请邮件。带时长、并且给你几天窗口自行开始的 Test / Assessment 链接,是自动化那一种:你独自对着计时器写代码,提交跑测试用例,没有人在场。约在具体时间、带日历邀请的 CodePair 链接,是实时那一种:共享编辑器,面试官在通话里,时长取决于面试官约的时间,HackerRank 没有统一标准。HackerRank 帮助中心现在把这个产品叫作 HackerRank Interview;CodePair 是旧名字,很多邀请里还在用。
如果邮件写得含糊,直接问 HR。这是完全正常的问题,而答案会改变你该怎么准备。
HackerRank 样题测试和练习题
官方有样题测试(sample test),值得花十分钟。在真实测试邀请的登录页上,Instructions 部分有一个 Try Sample Test 链接:输入一个邮箱,点击 Agree & Start,就会进入同样的环境,做一道极简单的题。HackerRank 的样题就是“把 hello world 打印 N 次”——重点不在题本身,而在于看清输入怎样从 stdin 进来、Run Code 和 Submit 按钮在哪里、测试用例结果怎么显示。样题测试可以做不止一次,但每次都要换一个邮箱。
实时面试这边,HackerRank 的面试准备清单里给了新版和旧版 Interview 的示例面试板(sample interview pad),正式面试前就能看到编辑器、通话控制和题目标签页。HackerRank 建议用无痕窗口打开。
练习题方面,HackerRank 公开网站上有 Interview Preparation Kit:按主题分组的题目——数组、字典和哈希表、排序、字符串处理、贪心、搜索、动态规划、栈和队列、图、树、链表、递归与回溯。真实测试里的题由雇主挑选,所以把这套题当作熟悉形式和主题的练习,而不是“提前看题”。
自动化测评到底怎么算分
你的分数是通过的隐藏用例占比,通常按题加权。由此带来几个并不显然的后果:
- 部分分是真的。一个暴力解,小数据过、大数据超时,仍然有分。什么都不提交,才是零分。永远先落地一个能跑的版本,再去优化。
- 丢分丢在隐藏用例上。空输入、只有一个元素、所有元素相同、负数、大输入下的整数溢出。大部分失分住在这里,不在算法里。
- 读输入的那段也算分。平台给的读 stdin 模板并不总是能覆盖你的边界情况,而在那里崩掉,和算法写错得到的分数一样。
- 计时从你开始测试那一刻算起,不是从收到邮件开始;HackerRank 说明计时器不会因技术问题暂停。准备好要工作时再开始,而不是“先瞄一眼”。
一个实用顺序:先把所有题读一遍,从最有把握的那道开始,让它先通过,再往下走。回头优化是便宜的;时间用完而三道题都写了一半,不是。
Codility 的计分方式相同,只是在大输入上另有一个单独的性能分——见 Codility 测试怎么计分。
HackerRank CodePair:实时面试怎么进行
CodePair 轮(现在叫 HackerRank Interview)就是一个共享代码板加一通电话。点开招聘公司发来的链接后,页面会检查浏览器、窗口大小和设备,让你填姓名和邮箱,并展示候选人面试守则(Candidate Interview Guidelines)。接着请求权限,而新旧版本要的权限不一样。新版 Interview 要麦克风和摄像头权限,以及向面试官共享屏幕的权限。旧版要麦克风权限——HackerRank 的原话是“录制你的音频用于转写”——以及显示器权限,用来检测连接了几块屏幕。之后你会在虚拟等候室里等面试官放你进来。
进去以后,你和面试官实时编辑同一份代码。旧版代码板支持 58 种以上语言,Run Code 用你自己的输入运行,Run Tests 跑题目预设的测试用例;Python、JavaScript、Ruby 这类有 REPL 的语言还有控制台。音视频就在代码板里(由 Zoom 提供,不需要 Zoom 账号),视频通话开始后双方都可以共享屏幕。面试官可以把多道题以标签页形式加进来:编程、前端、后端、数据库、白板、代码仓库。
面试过程中,面试官能看到在线状态指示、跟随你操作的 Observer Mode、双方的网络质量指示;你离开代码板时还会出现 “Out of Interview” 标签。如果公司开启了 Interview Integrity Signals,一旦可疑行为扎堆出现——反复从外部粘贴、频繁调整窗口大小、切换标签页,或者(在 Chrome 里、授予了显示器权限时)多接了一块显示器——面试官会收到一条汇总提醒,并可能请你共享屏幕。
面试结束后公司会拿到一份报告。新版的报告包括整场面试的录像,以及每道题的代码回放、I/O 控制台和与 AI Assistant 的对话记录。面试官会填一张不公开的评分卡:默认技能项是解决问题、技术沟通、代码质量、语言熟练度和系统设计,每项从“strong no”到“strong yes”打分。HackerRank 不会把报告或结果发给候选人——告诉你什么,由公司决定。
CodePair 考的是另一回事
在实时那一轮,通过多少测试用例的权重,远比大多数人以为的低。面试官在填的是一张关于解决问题、沟通、以及你怎么接住提示的评分表。一个沉默地写出干净 O(n log n) 的人,分数常常低于一个把较慢的解法讲出来、自己发现它的弱点、并当着镜头改好的人。
所以策略是反过来的:复述题目,动手前先说思路,边写边讲,卡住时说出你卡在哪。沉默是这种格式里最贵的习惯,因为面试官只能给传到他那里的东西打分。
那个编辑器不是你的 IDE
HackerRank 的编辑器是刻意做得很朴素的。取决于配置,你可能没有像样的自动补全、没有语言服务、没有 import 提示、也没有调试器——只有运行和打印。平时严重依赖 IDE 的人在这里会很难受:那些平时靠补全填上的、记得半准的标准库签名,突然变成了实打实的成本。
两个便宜的防御。一是在这轮之前,用纯文本编辑器做几道题,让“没有补全”不再是意外。二是把你那门语言的核心集合 API 背熟——几乎每道题都会用到的 map、set、带比较器的排序、字符串切分。
为什么样例过了,隐藏用例却挂了
题面里的样例是用来告诉你输入格式的,它不是一套测试集,通过它几乎预测不了任何东西。隐藏用例是由一个专门去找“看起来合理的解法在哪里会崩”的人写的,而那通常就是同一份短清单:空输入、单个元素、所有元素相同、已经有序的输入、约束允许的最大规模,以及整数范围边缘的取值。
把约束条件当成隐藏用例的规格说明来读,而不是背景信息。如果题面说数组最多 10⁵ 个元素、取值最大 10⁹,它其实在告诉你两件事:平方复杂度会超时,而且把它们求和会超出 32 位整数。两件都是故意的。
每次提交之前,手动用那六种输入跑一遍自己的代码。两分钟,比任何优化都更能救回分数。
选哪门语言,会改变超时这件事
HackerRank 的执行环境页面列出了按语言区分的默认时间限制:C 和 C++ 2 秒,Java 4 秒,Python 3 和 Ruby 10 秒。解释型语言本来就多给了时间,但这个倍数并不总能抵消差距——同一个正确算法,在 C++ 或 Java 里能过,在 Python 里仍可能纯粹因为常数因子而超时。
如果你写 Python,有两个习惯能回本:用 sys.stdin 读输入,而不是在循环里 input();以及优先用标准库而不是手写循环,因为库跑在 C 里。如果你看到很紧的时间限制配上很大的输入上界,那就是在提示你——只要你写得顺手,就换更快的语言。一个能过的 C++ 解法,胜过一个在 80% 用例上超时的优雅 Python 解法。
HR 实际收到的是什么
测评结束后,公司看到的是一份报告,而不只是一个分数:每道题的得分、哪些用例通过、你花了多久,以及包含早期尝试在内的提交历史。复制粘贴记录和标签页离开记录是内置功能,默认开启;报告里还有代码回放。如果公司加购了付费的 Proctor Mode,还会有带定期截图的会话回放、摄像头检测和一个总体诚信评级。
由此有两个推论。第一,你早早提交的那个暴力解、后来又改好了,在报告里呈现为“进展”,不是“失败”,所以尽早提交一个能跑的版本毫无代价,还能保你不至于时间用尽。第二,往一个空编辑器里一次性粘贴一整份完整解法,和稳定的敲字过程比起来,非常显眼。
如果考砸了:能重考吗,多久能再投
测评链接通常是一次性的,除非公司重新发邀请,否则没有重考;重新邀请时,HackerRank 会删除你之前的报告。计时器不会因技术问题暂停,所以如果确实出了可验证的故障,值得给 HR 写一封礼貌的邮件——HackerRank 允许公司给你加时或重新邀请。分数归属于各家公司,在一家考砸了不会跟着你到另一家。
很多公司在你再次投递之前设有冷静期。时长是每家公司自己的政策,不是 HackerRank 规定的,去看招聘页或直接问 HR。无论如何,把这一次当成练习而不是判决,是更健康的读法。
每场 HackerRank 测试都会记录什么
有些监控在每场 HackerRank 测试里都是开着的,雇主不需要做任何设置。根据 HackerRank 的 Test Integrity 文档:
- 复制和粘贴。每一次复制或粘贴都会被记录,粘贴的内容会出现在报告里(编程题、主观题和补全句子题)。HR 能在时间线上看到复制的文本,导出的 CSV 里还有一列复制粘贴次数。
- 离开测试窗口。标签页监控会记录你离开测试窗口的次数和时长——报告里的 “Number of Window Exits” 和 “Out of Window Duration”。
- 代码相似度。MOSS 查重把你的代码和 HackerRank 数据库里的其他提交比对;候选人帮助中心还补充说,抄袭检测也会找从网上复制的代码,以及只改了变量名或结构、逻辑却相同的代码。查重结果不会告知候选人。
- 你的提交和用时——每题得分、通过的用例、花费的时间、提交历史和代码回放,前面已经讲过。
HackerRank 给候选人的说明里,以下行为算违规:从书本或网站复制代码、接受他人帮助、与其他候选人的解法高度相似、退出全屏、切换标签页。它提醒,违规可能被记录在测试报告里,并导致你失去后续轮次的资格。
想把这些信号和 CoderPad、CodeSignal、Codility、Karat 对比,请看各面试平台到底记录什么。
HackerRank 会录屏、录音或开摄像头吗?
取决于雇主选的诚信模式;HackerRank 说,测试是否有监考,邀请邮件里会写明。逐项来看:
- 屏幕。标准测试和 Secure Mode 下,HackerRank 文档描述的是标签页和粘贴记录,而不是截取你的屏幕。在 Proctor Mode(付费的 AI 附加功能)下,你必须共享整个屏幕:HackerRank 每 15 秒截一次图,在切换窗口、退出全屏等可疑事件前后每 5 秒截一次,雇主会拿到会话回放——覆盖整个浏览器屏幕、类似视频的测试过程录像。HackerRank 桌面应用在 macOS 上会要求屏幕录制权限,在 Windows 和 Mac 上都要求屏幕共享。
- 摄像头。只有雇主开启时才用。Image Proctoring 默认关闭;开启后需要摄像头,开考前检查能否看到你的脸,并定时截取图像放进报告。Image Analysis 用 AI 标记出现多张脸、换了人、没有人脸或静态照片的画面。Proctor Mode 再加上持续的摄像头监控:每 5 秒一张图,识别画面里的手机和平板,并且(小范围开放)检测反复移开视线再看回来的眼动。
- 音频。我们读过的 HackerRank 测试诚信文档——Test Integrity、Secure Mode、Proctor Mode、Desktop App Mode、Image Proctoring——没有一篇提到测试中采集麦克风或音频;摄像头功能描述的都是图像。实时面试则不同:有带音频的通话,旧版面试要求麦克风权限“录制你的音频用于转写”,新版面试报告包含整场面试的录像。
Secure Mode 居中:强制全屏、禁止复制粘贴、只允许一块显示器、切换标签页时警告,但不用摄像头也不共享屏幕。Desktop App Mode 最严格:它会关闭其他应用——HackerRank 点名了 Cluely、视频会议、即时通讯和大模型应用——阻止截图、远程访问和虚拟机,并保持全屏直到你交卷。Proctor Mode 和 Desktop App Mode 结束时会给出 High 或 Medium 的诚信结果,雇主会对照回放来审核。
在 HackerRank 上用 AI:雇主定规则,平台留记录
HackerRank 没有一条统一的 AI 规则——每场测试或面试由雇主自己定。有些测试在编辑器里内置了 HackerRank 自家的 AI Assistant 面板;开始前的说明会告诉你,如果看不到这个面板,就说明这场测试不允许用 AI。在 guarded 模式下,它帮你解决语法、报错、平台和概念上的问题,但不写完整解法;在 unguarded 模式下,它就像一款现代 AI 编程工具,有 plan、ask、agent 模式、行内补全,还能选模型。HackerRank 说使用它不影响分数,但对话会被记录并展示给评估者。在实时面试中,面试官能实时看到你怎么用 AI Assistant,报告里也有你的提问和它的回答。
在这个面板之外,平台就是为了发现外部帮助而设计的。每场测试都记录粘贴;Proctor Mode 用模型在截图里查找外部 AI 编程助手、答案分享网站、悬浮窗应用和协作工具;桌面应用则直接把它们关掉。老实的读法是:读邀请和说明,用雇主允许的东西,并默认其他一切都会出现在报告里。快速理解一道题,和提交一份你自己讲不清的代码,是两回事;被标记的提交,通常就意味着在这家公司的流程到此为止。如果规则不清楚,考前问 HR——这是正常的问题,而答案该由雇主给。
想逐个信号了解 HackerRank 怎么标记 AI 写的代码(MOSS 查重、AI 抄袭模型、Secure Mode 和 Proctor Mode),请看 HackerRank 能检测出 AI 吗? 如果另一家公司发来的是 CodeSignal 链接,CodeSignal 与 HackerRank 对比讲了两种形式的区别。
当天的清单
- 确认你收到的是哪种格式,以及时长。
- CodePair 就用有线耳机和安静的房间;两种格式都需要稳定的网络。
- 动笔之前先把所有题读一遍。
- 能跑胜过优雅——先交一个能过的,再改好它。
- 每次提交前:空输入、单元素、重复元素、极大输入。
- CodePair 里一直说话;自动测评里一直盯着表。
资料来源
HackerRank 有两个帮助中心:面向雇主的 Knowledge Base 和面向候选人的 Candidate Knowledge Base。
- HackerRank Candidates — Frequently Asked Questions Before the Test (sample test, proctored tests, devices)
- HackerRank Candidates — Question Types in HackerRank Tests
- HackerRank Candidates — Sample Problem Statement & Solutions
- HackerRank Candidates — Test Integrity and Plagiarism Detection
- HackerRank Candidates — AI Assistant in Tests
- HackerRank Candidates — Attempting Tests using HackerRank Desktop App
- HackerRank Candidates — Introduction to HackerRank Interviews (joining, permissions)
- HackerRank Candidates — Interview Preparation Checklist
- HackerRank Candidates — AI Assistant in Interview
- HackerRank Candidates — Evaluation Method of HackerRank Interviews
- HackerRank Candidates — Results of your HackerRank Interviews
- HackerRank Knowledge Base — HackerRank Test Integrity
- HackerRank Knowledge Base — Secure Mode
- HackerRank Knowledge Base — Proctor Mode
- HackerRank Knowledge Base — HackerRank Desktop App Mode
- HackerRank Knowledge Base — Image Proctoring and Image Analysis
- HackerRank Knowledge Base — Introduction to HackerRank Interview
- HackerRank Knowledge Base — Audio and Video Calls in Interviews
- HackerRank Knowledge Base — Interview Integrity Signals
- HackerRank Knowledge Base — Interview Report (new Interview experience)
- HackerRank — Interview Preparation Kit
- HackerRank Support — Execution Environment (time and memory limits per language)
- HackerRank Knowledge Base — Plagiarism Detection Using MOSS
- HackerRank Knowledge Base — Plagiarism Best Practices Guide
- HackerRank Knowledge Base — Extend Test Duration for Candidates
- HackerRank Knowledge Base — Reinvite Candidates to a Test
关于 HackerRank 是什么、样题测试、CodePair、记录内容、录制和 AI 的部分,已于 2026 年 10 月 27 日对照这些官方页面核对;计分、时间限制和重考的事实于 2026 年 10 月 14 日核对。平台规则会变,考试前请再确认一遍。
FAQ
HackerRank 的 Test 和 CodePair 有什么区别?
Test(或 Assessment)是自动化那一轮:你独自对着计时器和隐藏用例写代码,没有人在看。CodePair 是实时轮:共享编辑器,面试官在通话里,时长取决于约定的时间(这个产品现在叫 HackerRank Interview)。邀请里就能分辨——带时长和多天窗口的是自动测评,约在具体时间的日历邀请是 CodePair。
HackerRank 有部分分吗?
有。每道题的得分是通过的隐藏用例占比,所以一个小数据能过、大数据超时的暴力解仍然有分。因此先交一个能跑的版本,再去优化,永远是对的顺序。
为什么样例都过了,提交却分很低?
题面里的样例只是用来说明输入格式,不是测试集。隐藏用例专门去打边界:空输入、单个元素、全部相同、已经有序、最大规模,以及整数范围边缘。把约束条件当成隐藏用例的规格来读。
用 Python 会吃亏吗?
有可能。HackerRank 的默认时间限制按语言区分——C 和 C++ 2 秒,Java 4 秒,Python 3 10 秒——Python 本来就多给了时间,但在限制很紧的题上,同一个算法仍可能在 C++ 里过、在 Python 里因常数因子超时。写 Python 时用 sys.stdin 读输入并多用标准库;看到很紧的限制配大输入,就换更快的语言。
HackerRank 能发现切换标签页或复制的代码吗?
能。复制粘贴记录和标签页记录是内置功能,默认开启;MOSS 查重会把你的代码和 HackerRank 数据库里的其他提交比对。雇主还可以开启 Secure Mode(全屏、禁止复制粘贴)或付费的 Proctor Mode(摄像头、截图、会话回放)。标记会交给人工审核,系统不会自动判你不通过,但汇总会和你的成绩放在一起。
HackerRank 测评要多长时间?
HackerRank 没有公布统一时长:时长和题量由雇主设定,开始前你就能看到。一旦开始,整场测试只有一个计时器,而且不会因技术问题暂停,所以提前给每道题分好时间——大多数失分来自在一道题上花太久,而不是做不出来。
HackerRank 测评能重考吗?
通常不能——链接是一次性的,重考需要雇主重新发邀请,新邀请会替换你之前的报告。HackerRank 允许雇主给候选人加时或重新邀请,所以如果当天确实出了可验证的故障,值得给 HR 写封邮件。
HackerRank 是什么?
一个技术招聘平台。公司用它发送在线编程测评(HackerRank Tests)和进行实时编程面试(HackerRank Interview,原名 CodePair)。按 HackerRank 的说法,测试通常是第一道筛选,通过的候选人会进入同一平台上的实时面试。
HackerRank 会录屏吗?
标准测试不会:HackerRank 会记录粘贴,以及你离开测试窗口的次数和时长,但文档里没有描述截取屏幕。如果雇主开启了 Proctor Mode,你必须共享整个屏幕;HackerRank 每 15 秒截图一次(可疑事件前后每 5 秒一次),雇主会拿到会话回放。测试是否监考,邀请里会写明。
HackerRank 会录音或使用摄像头吗?
测试中,HackerRank 的诚信文档描述的是摄像头图像,而不是音频。只有雇主开启时才会用摄像头——Image Proctoring 定时截取图像,Proctor Mode 再加上 AI 检查:没有人脸、多张人脸或画面里有手机。实时面试不一样:有音视频通话,新版面试报告包含整场面试的录像。
HackerRank 测试有监考吗?
只有雇主开启时才有,HackerRank 说邀请邮件里会告诉你。每场测试都会记录粘贴和标签页切换;监考会加上摄像头图像(Image Proctoring),或者在 Proctor Mode 下加上摄像头、屏幕共享和经 AI 审查的会话回放。监考测试需要一台摄像头可用的电脑。
HackerRank CodePair 怎么进行?
CodePair 现在叫 HackerRank Interview,是实时轮。你通过链接加入,授予麦克风、摄像头和屏幕共享或显示器权限,在虚拟等候室等待,然后和面试官在共享编辑器里写代码,通过内置通话交流,在代码板里运行代码和测试。结束后公司会拿到带代码回放和面试官私人评分卡的报告;HackerRank 不会把结果发给候选人。
HackerRank 有样题测试吗?
有。真实测试邀请的登录页上,Instructions 部分有 Try Sample Test 链接。它会打开同样的环境和一道简单的题,让你在正式考试前熟悉输入格式和按钮。可以重复做,每次换一个邮箱。实时面试方面,HackerRank 的候选人帮助里有示例面试板的链接。
HackerRank 在测试中记录什么?
每场测试都记录:复制和粘贴(包括粘贴的文本)、离开测试窗口的次数和时长、与其他提交的代码相似度,以及你的提交和用时。视雇主设置,还可能有 Secure Mode(全屏、禁止粘贴、单显示器)、摄像头图像,或带屏幕共享、截图、AI 摄像头分析和会话回放的 Proctor Mode。
HackerRank 测试能用 AI 吗?
只有雇主允许时才能用。有些测试和面试内置了 HackerRank 自家的 AI Assistant,对话会被记录并展示给评估者。除此之外,粘贴会被记录,Proctor Mode 的截图会被分析以发现外部 AI 工具,所以按说明来;规则不清楚就问 HR。