Hudson River Trading(HRT)的 OA 不像普通大厂只发一份 CodeSignal 链接就完事,而是经常分成 三关组合:CodeSignal General Coding Assessment + 数学概率题 + 系统实现题。每一关单独看都不算超纲,但三关串起来 90 分钟内完成节奏极紧。这篇文章把站内已有的 HRT CodeSignal OA 攻略、HRT + IMC + Akuna 横向对比、HRT VO Onsite 五轮指南 串起来,做一份完整的 OA 通关地图。

整体流程:申请 → OA → Phone → Onsite
W0 申请投递(官网 / 内推)
W1 收到 CodeSignal General Coding 邀请(72h 窗口)
W2 通过 → 二关数学/系统 OA(视岗位线)
W3 Phone 一面(45min,技术 + culture)
W4 Onsite 五轮(CS 基础 + 题 + 行为 + culture)
W5 offer 决议
最容易在 OA 阶段掉链子的环节有两个:
- CodeSignal 78 分门槛 —— HRT 的 cutoff 比 Citadel / Akuna 略高,70 分以下基本被淘汰
- 数学题速度门槛 —— 60 分钟 8-12 题,平均一题 5 分钟,反应速度直接决定结果
第一关:CodeSignal General Coding(GCA)
70 分钟 4 题,题型分布稳定:
| 题号 | 难度 | 类型 | 典型考点 |
|---|---|---|---|
| Q1 | Easy | 字符串 / 数组操作 | reverse / count / replace |
| Q2 | Medium | 模拟 + hash | 多步状态推进 |
| Q3 | Medium-Hard | 数学 + 思维 | 数论 / 进位 / 数字分解 |
| Q4 | Hard | 综合算法 | 图 / DP / 数据结构组合 |
HRT 的 GCA 评分特点:
- Q1 + Q2 必须 100% AC,否则直接挂
- Q3 期待 80%+ test case 通过
- Q4 拿到部分分数即可(30-50% 已经能进 cutoff)
参考站内 HRT CodeSignal OA 攻略 详解了一组完整真题,下面给出 Q3 的典型起手模板:
# HRT GCA Q3 风格 - 数字分解类
def digit_signature(n: int) -> int:
"""
HRT 偏爱的数字操作题:每一位数字两两组合再做某种运算
"""
digits = []
while n > 0:
digits.append(n % 10)
n //= 10
digits.reverse()
# 题目变体:sum of products / max alternating / digit hash
return sum(d1 * d2 for d1, d2 in zip(digits, digits[1:]))
Q3 写起来不复杂,但思路要快。建议练 25 题以上 CodeSignal arcade Q3 难度题型,把"5 分钟内识别题型"练成肌肉记忆。
第二关:数学 / 概率题
二关只发给 Algo / Quant Trader / Research 线候选人,SWE 线通常跳过。题型分布:
概率与期望
- 抛硬币直到出现连续 N 次正面,期望次数?
- 从 [0,1] 均匀分布抽 3 个数,最大值的期望?
- 蒙提霍尔变种(多门 / 多次开门)
组合数学
- N 个不同球放 K 个不同盒子的方案数
- 错排(derangement)变种
- 路径计数 / 网格题
数论与排序
- 模运算下的 inverse / 费马小定理
- 排序网络题
- 位运算技巧
速度门槛:60 分钟 8-12 题,多选题。HRT 不要求你写出推导,只要选对答案。准备阶段建议刷 Heard on the Street 前 100 题 + 自练 50 道 puzzle。
经典题型示例
一个公平骰子掷 100 次,问「6 出现的次数大于等于 20」的概率约为多少?
直接计算 binomial CDF 太慢,HRT 期待你 5 分钟内得出 ≈ 5%(用正态近似 + Z = (20 - 100/6) / sqrt(100·1/6·5/6) ≈ 1.65 → P ≈ 5%)。
第三关:系统实现题(部分岗位)
Infra / Performance 线偶尔会发一道系统实现题,2-4 小时窗口期,题型例如:
- 实现一个 lock-free queue
- 实现一个简单的 in-memory KV store with TTL
- 给定一个 trade 流,做实时统计
- C++ 模板:手写 small_vector / fixed_size_arena
这一关只发给资深线(Senior SWE / Performance Engineer),应届一般不会遇到。
不同岗位线的 OA 组合
| 岗位线 | 第一关 | 第二关 | 第三关 |
|---|---|---|---|
| SWE / Software Engineer | CodeSignal GCA | — | — |
| Algo Developer | CodeSignal GCA | 数学 60min | — |
| Quant Trader | CodeSignal Brief | 数学 90min | — |
| Quant Researcher | CodeSignal GCA | 数学 + 推导题 | — |
| Performance / Infra | CodeSignal GCA | — | 系统实现 |
| Core SWE Senior | CodeSignal GCA | — | C++ 系统题 |
判断方法:申请页 / recruiter 邮件里有 quant / algo / trader 关键词的,几乎一定有数学第二关。
备考阶段的两周训练计划
| 天数 | 训练内容 | 目标 |
|---|---|---|
| D1-D3 | CodeSignal arcade Q1+Q2 各 30 题 | 5 分钟内 AC |
| D4-D6 | CodeSignal arcade Q3 难度 25 题 | 思路 5 分钟内 |
| D7-D9 | CodeSignal arcade Q4 / LeetCode Medium-Hard 15 题 | 30 分钟全 AC |
| D10-D12 | Heard on the Street 1-50 题 | 平均 3 分钟 |
| D13-D14 | Mock 真题 + 计时 | 78 分以上稳定 |
如果你已经能稳定 78 分以上 + 数学 60min 完成 8/10,就可以进入 OA 阶段。
OA 真题节奏:CodeSignal 70 分钟时间分配
00:00 - 00:05 快速读 4 道题 → 标记难度
00:05 - 00:15 Q1 + Q2 → 100% AC
00:15 - 00:35 Q3 → 80% test case
00:35 - 01:00 Q4 → 拿 30-50% 部分分
01:00 - 01:10 回头 review Q3 / Q4 边界
时间分配错配是大多数候选人挂掉的核心原因。Q4 拿不到满分不可怕,可怕的是 Q1+Q2 因为粗心丢分。
FAQ
Q1: HRT CodeSignal 的 cutoff 是多少? A: 各团队不同。SWE 线大约 78 分,Algo 线 80 分以上较稳。低于 70 基本不进 phone screen。
Q2: 我数学不强,能投 SWE 线吗? A: 可以。SWE 线不发数学第二关,CodeSignal GCA 是唯一 OA。但面试阶段会有少量概率 / 估算类讨论题。
Q3: 二关数学题有几次提交机会? A: 一次性。题面打开后倒计时开始,中途断网会保存,但计时不停。建议提前测试网络。
Q4: HRT 看不看学校? A: 看,但不是硬门槛。HRT 偏爱 ICPC / Putnam / IMO 背景的候选人,CodeSignal 高分 + 项目过硬即使学校一般也有机会。
Q5: 投了没回音多久后可以再投? A: 一般 6 个月冷却期。冷却期内简历会被自动过滤。
写在最后
HRT 的 OA 是「速度 + 准确率 + 跨题型」的综合考核。CodeSignal 拉算法基线,数学题筛选反应速度,系统题筛选工程深度。如果你正在准备 HRT 的 CodeSignal 或数学第二关,可以微信 Coding0201 联系,发岗位线 + 当前 CodeSignal 平均分,可以做一份针对性的两周训练表 + mock 题。
需要面试真题? 立刻联系微信 Coding0201,获取真题。
联系方式
- 微信:Coding0201
- Email: [email protected]
- Telegram: @OAVOProxy