简短回答
HackerRank测试是一种在线编程测评,许多雇主会在HackerRank平台上创建这类测评,在面试前筛选开发人员。HackerRank测试并非只有一种:题目、编程语言和时间限制都由各个雇主自行决定。这项免费练习测试包含10道相关领域的原创题,时长为30分钟。
- 免费试做
- 30分钟完成10道题
- 格式
- 由各雇主设定
- 示例(HackerRank Python Basic)
- 90分钟完成2道题
- 编程题得分
- 根据测试用例自动评估
- 我们的完整模拟测试
- 90 分钟 14 道题,编写并运行代码
免费试用
30分钟内完成10道题,按正式考试节奏作答。结束后查看得分和每道题的解析。
选择您的套餐
解锁完整练习
HackerRank 风格测试:完整长度的限时模拟测试,另含所有其他测试
开通月度方案- 本测试的完整限时模拟测验
- 每道题均附有解析
- 查看各题型得分和练习记录
- 包含全部 93 项练习测试
- 手机和笔记本电脑均可使用
如果您完成的完整模拟测验不超过一套,可在 7 天内申请退款。价格以美元计。
完整练习包含哪些内容
完整模拟测验采用实际测试的形式和计时方式,每套完成后均可查看完整解析。
- Free免费试做10道题 · 30分钟
- 完整模拟测验实际测试的题量和时间限制
- 概念与代码阅读练习限时作答,每道题均附解析
- 编程题练习限时作答,每道题均附解析
- 数据库题练习限时作答,每道题均附解析
- 完整复盘每次模拟测试后查看各题型得分
- 概念与代码阅读90%
- 编程题75%
- 数据库题60%
下一步练习:数据库题。
免费样题或完整练习
| 功能 | Free | 完整 |
|---|---|---|
| 仿真实际测试风格的题目 | ||
| 每道题都附有解析 | ||
| 完整限时模拟测验 | ||
| 按题型查看成绩 | ||
| 各次模拟测试的成绩记录 | ||
| 全部 93 项练习测试 |
免费备考指南
通过简短课程,了解有关实际测试的一切。
正式测试通常是什么样
**目前没有一套统一的 HackerRank 测试。**HackerRank 是一个平台:每家雇主都会自行设计测试,选择题目、允许使用的语言和时限。雇主发来的邀请是了解你要参加哪种测试的最佳依据。
**题目类型。**HackerRank 列出了多种测试题型,包括编程、数据库、选择题、前端、后端、全栈、代码审查、主观题等 (HackerRank)。大多数编程测试会涉及其中几种:
- **编程题:**你需要在编辑器中编写解法。HackerRank 表示,考生可以运行代码来对照测试用例进行检查,之后系统会根据你能看到的示例用例和你看不到的隐藏用例评分 (HackerRank support)。
- **数据库题:**你需要编写 SQL 查询,系统会将查询结果与预期输出进行比较 (HackerRank support)。
- **选择题:**考查概念、复杂度以及代码片段的功能,并由系统自动评分 (HackerRank)。
**公开的时长示例。**HackerRank 自己的技能测试可以让你了解时长范围:其 Python (Basic) 测试列出的是 90 分钟 2 道题 (HackerRank),SQL (Basic) 测试列出的是 30 分钟 2 道题 (HackerRank)。雇主的测试可能更短或更长,题目数量也可能更多或更少。
**编程测试中常见的考查内容:**数组和字符串、哈希表和集合、排序和搜索、时间复杂度、空输入或负数等边界情况,以及基础 SQL。
**我们的模拟测试涵盖哪些内容。**每套完整模拟测试包含 90 分钟 14 道题,分为三个部分:概念和代码阅读(10 道)、编程题(3 道)和数据库题(1 道)。编程题需要你用 Python、JavaScript、Java 或 C++ 编写并运行解法,数据库题则需要编写 SQL 查询;系统会用隐藏测试用例进行检查,每通过一个用例即可获得相应分数。建议使用笔记本电脑。你可以返回题目并为其添加标记。
**我们的免费样题有哪些不同之处。**10 道免费题均为选择题:编程题会问哪种解法能够通过,或者哪个输入会让某种解法出错,考查的是编写可通过代码所需的技能。完整模拟测试则要求你编写并运行代码。我们的隐藏用例规模较小,主要检查正确性和边界情况,因此不会像某些真实测试那样,对大规模输入下较慢的解法计时并判超时;解析会说明哪些情况下速度很重要。
附详细解答的题型示例
每种题型各举一个例子,并指出大多数人容易掉进的陷阱。
1. 时间复杂度。 遍历一个列表时,每次都调用一次 "x in other_list"。两个列表各有 n 个元素。循环会执行 n 次,每次查找最多扫描 n 个元素,因此整体复杂度是 O(n 的平方)。将 other_list 转换为集合后,平均每次查找的复杂度是 O(1),整个循环的复杂度是 O(n)。陷阱: 只计算表面上看到的循环。列表中的 "in"、list.index 和切片等内置操作也需要执行工作。
2. 阅读代码。 print([x * 2 for x in range(3)]) 会显示什么?range(3) 会生成 0、1 和 2,因此答案是 [0, 2, 4]。陷阱: 从 1 开始,或把 3 也算进去。range 不会包含结束值。
3. 哪种解法能通过。 题目允许最多 100,000 个元素。O(n 的平方) 解法大约需要 10 billion 步,对于常见的时间限制来说太慢了;而 O(n) 或 O(n log n) 通常足够快。陷阱: 选择看起来代码最短的解法。先根据题目给出的数据规模检查复杂度。
4. 哪种输入会导致错误。 一个函数通过 sum(nums) / len(nums) 返回列表的平均值。什么输入会导致错误?空列表,因为这会导致除以零。陷阱: 只测试常见输入。试试空列表、只有一个元素、所有值相同、负数,以及允许的最大数据规模。
5. 数据库题。 你需要计算每位客户的总消费,包括从未消费过的客户。使用 customers LEFT JOIN orders,按客户分组并对金额求和,然后用 COALESCE 将 NULL 转换为 0。陷阱: 使用 inner join,这会在不易察觉的情况下排除没有订单的客户。
如何准备
- **先仔细阅读测试邀请。**记下时限、题目数量和类型,以及允许使用的编程语言。这些都由雇主决定,不要想当然。
- **选定一门语言,并坚持使用。**编程题尽量使用你最熟悉的语言。熟练掌握该语言内置的列表、字典、集合、排序和字符串方法,做到无需临时查阅。
- **根据输入规模了解复杂度。**编程前先查看题目给出的限制。输入规模约为 1,000 项以内时,O(n squared) 通常可以接受;达到 100,000 项或更多时,尽量使用 O(n) 或 O(n log n) 的解法。
- **有意识地练习边界情况。**测试空输入、单个元素、重复值、负数、非常大的值以及最大输入规模。编程题会根据隐藏测试用例评分 (HackerRank support),很多边界情况就藏在这些用例中。
- **先运行示例用例,再测试自己的用例。**通过可见的示例只是开始,并不代表完成。提交前,自己再增加几个测试用例。
- **复习基础 SQL。**连接、GROUP BY、HAVING、NULL 和排序涵盖了大多数数据库题。逐行检查结果,因为数据库答案会与预期输出进行比较 (HackerRank support)。
- **限时编写完整解法。**我们的完整模拟测试要求你编写并运行代码,通过隐藏用例进行检查;你也可以用自己找来的题目练习,让限时输入完整解法变得熟悉。
- **按实际节奏练习。**参加完整的限时模拟测试,让自己习惯在 90 分钟内专注答题。
评分通常如何进行
**评分规则由各雇主设定。**HackerRank 介绍了不同题型的评分方式,而每位雇主会自行决定什么结果才算合格。没有通用的及格线。
- **编程题:**HackerRank 表示,系统会用每个测试用例运行你的代码,并将每个输出与预期输出进行比较。每个测试用例都有固定分值:通过即可获得全部分数,未通过则不得分,每个测试用例内不设部分得分。该题得分为你通过的所有测试用例的分数总和。你能看到的示例用例可能值 0 分,而分值会放在隐藏用例上(HackerRank 支持)。
- **数据库题:**系统会将查询结果与预期输出进行比较:匹配即可获得满分,否则得 0 分;但雇主也可能人工审核并酌情给部分分数(HackerRank 支持)。
- **选择题:**自动评分(HackerRank)。
因此,解法即使几乎正确,或者虽然正确但速度太慢,也可能失去大部分分数:每个隐藏用例只有通过或未通过两种结果。
我们的练习分数是你答对的自编题目数量,并按部分列出明细,帮助你了解该重点练习哪些内容。这只是练习分数,不是 HackerRank 分数或任何雇主给出的结果,也无法预测你能否通过测试。
常见错误
- 样例通过后就停止。 可见样例只覆盖了少数测试用例。请自行测试空输入、单个项目、负数和最大规模的数据。
- 忽略输入限制。 正确但运行缓慢的解法可能无法通过大型隐藏测试用例。选择解法前先阅读限制条件。
- 将最大值初始设为 0。 应从第一个元素开始,否则遇到负数时就会出错。
- 在遍历列表时修改列表。 遍历过程中删除元素会跳过其他元素。请改为创建一个新列表。
- 范围边界差一位。 range(a, b) 不包含 b,切片也是如此。用一个很小的例子检查第一个和最后一个索引。
- 输出多余内容。 系统会将编程答案与预期输出进行比较,因此多余的调试输出或空格都可能导致测试用例失败。
- 在一个问题上花太多时间。 先提交一个可运行的解法,如果还有时间再改进。
所有练习题均为原创,不是真题或泄露题。月度方案可随时取消。如果您完成的完整模拟测试不超过一次,可在 7 天内申请退款。
常见问题
是否有一套所有雇主都会使用的 HackerRank 测试?+
不是。HackerRank 是一个平台。每家雇主都会自行设计测试,选择题目、编程语言和时限。你的邀请最能说明测试包含哪些内容。
你们的模拟测试会运行我编写的代码吗?+
是的,完整模拟测试中可以。你可以使用 Python、JavaScript、Java 或 C++ 完成编程题,并使用 SQL 完成数据库题。每道题都会通过隐藏测试用例进行测试,每通过一个用例即可获得相应分数。免费样题为选择题。我们的测试用例规模较小,因此主要检查答案是否正确以及边界情况,而不是处理海量输入时的速度。
我应该用哪种语言练习?+
请使用你最熟悉且考试允许的编程语言。我们的选择题使用 Python 3,因为它简洁易读;完整模拟测试中的编程题可使用 Python、JavaScript、Java 或 C++ 作答。复杂度、边界情况和数据结构选择等概念适用于任何编程语言。
我需要达到多少分才能通过?+
没有统一的及格线。每位雇主都会决定什么样的结果能让你进入下一轮。目标是通过所有隐藏测试用例,也就是说,解法不仅要正确,还要能在最大规模的输入下足够快地运行。
这些是 HackerRank 的题目吗?+
不是。这些是我们团队原创的练习题,题目风格类似。Intellect Council 与 HackerRank (Interviewstreet, Inc.) 以及任何使用该平台的雇主均无关联。
来源
- HackerRank 知识库:HackerRank 测试中的题型,检查日期:2026-11-09
- HackerRank 知识库:题目评分(概述),检查日期:2026-11-09
- HackerRank 支持:编程题(测试中的编程题评分),检查日期:2026-11-09
- HackerRank 支持:数据库工程师题目(数据库题评分),检查日期:2026-11-09
- HackerRank:Python(基础)技能测试,检查日期:2026-11-09
- HackerRank:SQL(基础)技能测试,检查日期:2026-11-09
相关练习
做好准备,从容应考。
离开时,知道自己已经尽了最大努力。
按真实测试形式计时练习,每道题都附有解析。