← 返回博客列表
HRT

HRT OA 2026 全攻略|Hudson River Trading 在线测评题型与高分策略

2026-05-10

一句话摘要:HRT OA 是 70 分钟 4 题的 CodeSignal 测评,强调时间序列处理、阶梯函数与高吞吐数据结构,能写干净 O(n log n) 解就能稳进面试。

HRT(Hudson River Trading,哈德逊河交易公司)是纽约高频做市的头部量化机构,其 OA 在所有量化 OA 里属于"题面工程化、考察实操"的典型——不像 Jane Street 重纯数学,也不像 Optiver 重交易直觉,HRT 更看重你能不能用整洁的代码处理真实的市场数据流。

下面这篇文章按"题型 → 真题 → 解法 → 备考策略 → FAQ"的顺序帮你完整准备 HRT OA。


一、HRT OA 基本信息

项目 详情
平台 CodeSignal
时长 70 分钟
题量 4 题(难度递增)
语言 Python / C++ / Java(推荐 Python)
题面 英文,结合金融场景但不需要金融知识
通过线 满分 600,建议 ≥ 500
邀请来源 校招 + Referral,部分通过 LinkedIn Sourcer

和其他量化 OA 的差别:HRT 不出概率题、不出脑筋急转弯,全部是 LeetCode 风格的中等偏难算法题。所以"刷题派"反而占便宜。


二、HRT OA 题型分布与高频考点

根据近 12 个月的真题反馈,HRT OA 大致按以下结构出题:

题号 难度 高频考点 推荐用时
Q1 Easy 模拟 / 字符串 / 简单数组 5-10 分钟
Q2 Medium 哈希表 + 滑动窗口 10-15 分钟
Q3 Medium-Hard 阶梯函数 / 区间合并 / 差分数组 20-25 分钟
Q4 Hard 时间序列 + 堆 / 二分 / 段树 25-30 分钟

最容易丢分的是 Q3——很多同学只会写 O(n²) 的暴力解,导致大用例 TLE。


三、真题示例与解法

题型一:阶梯函数(Step Function)求最大值

题目:给一组形如 [(start, end, value)] 的事件,每个事件在 [start, end) 时间内贡献 value 单位负载,求任意时刻的最大瞬时负载

暴力解 O(n × m):扫每个时刻,超时

def maxLoadBrute(events):
    timeline = [0] * 1_000_001
    for s, e, v in events:
        for t in range(s, e):
            timeline[t] += v
    return max(timeline)

最优解 O(n log n):差分数组 + 排序事件点

def maxLoad(events):
    points = []
    for s, e, v in events:
        points.append((s, v))      # 进入
        points.append((e, -v))     # 离开
    points.sort()

    cur = best = 0
    for _, delta in points:
        cur += delta
        best = max(best, cur)
    return best

关键技巧:把"区间"转换为"事件流",扫描一遍即可。HRT 非常喜欢这种事件流抽象。


题型二:时间序列窗口聚合

题目:给一系列 tick (timestamp, price),对每个 tick 输出过去 5 秒内的最大价格

最优解 O(n):单调队列

from collections import deque

def slidingMaxPrice(ticks, window=5):
    dq = deque()
    res = []
    for t, p in ticks:
        while dq and dq[0][0] < t - window:
            dq.popleft()
        while dq and dq[-1][1] <= p:
            dq.pop()
        dq.append((t, p))
        res.append(dq[0][1])
    return res

复杂度:每个元素入队出队各一次 → O(n)。HRT 的高频考点之一是把 LeetCode 239 改成时间戳版。


题型三:订单匹配(贪心 + 优先队列)

题目:买单与卖单陆续到达,价格相同时按时间优先成交。求总成交量。

思路

import heapq

def matchOrders(orders):
    bids, asks = [], []  # bids: 大顶堆 (-price, time, qty)
    volume = 0
    for side, price, qty, t in orders:
        if side == 'B':
            while qty and asks and asks[0][0] <= price:
                ap, at, aq = heapq.heappop(asks)
                m = min(qty, aq)
                volume += m
                qty -= m
                if aq > m:
                    heapq.heappush(asks, (ap, at, aq - m))
            if qty:
                heapq.heappush(bids, (-price, t, qty))
        else:
            while qty and bids and -bids[0][0] >= price:
                bp, bt, bq = heapq.heappop(bids)
                m = min(qty, bq)
                volume += m
                qty -= m
                if bq > m:
                    heapq.heappush(bids, (bp, bt, bq - m))
            if qty:
                heapq.heappush(asks, (price, t, qty))
    return volume

易错点:剩余数量要重新入堆;价格优先 + 时间优先的比较顺序不能反。


四、备考策略:从入门到 500+

阶段 周期 重点
基础 1-2 周 LeetCode 数组/哈希/双指针 60 题
强化 1-2 周 滑动窗口、单调栈/队列、堆 30 题
仿真 1 周 CodeSignal Industry Coding 框架 4 套
冲刺 3-5 天 HRT 风格阶梯函数与订单簿 10 题

强烈建议:用 CodeSignal 自带的官方 General Coding Framework 模拟,不要只刷 LeetCode 原题,因为 CodeSignal 的 IDE 没有 LeetCode 的输入解析便利。


五、FAQ:HRT OA 高频问题答疑

Q1:HRT OA 多少分能进 VO?

通常 500/600 是面试线,部分组(尤其是 SDE 与 Algo Dev)会要求 560+。Quant Researcher 路径需要满分附加题。

Q2:HRT OA 可以用 Python 吗?性能够吗?

完全可以。HRT 测试用例规模一般 n ≤ 10⁵,O(n log n) 的 Python 解通常在 1-2 秒内完成。但 Q4 时间紧时建议预先写好 input = sys.stdin.buffer.read().split() 加速读入。

Q3:HRT OA 做完是不是就直接 VO?

不一定。HRT 会综合 OA 分数 + 简历筛选。OA 高分但简历薄弱仍可能被拒;反之,简历强劲(顶校 ICPC、知名实习)即使 OA 在线也可能被 fast track。

Q4:HRT OA 题目会重复吗?

。题库较大但循环出题,2024-2026 年间多次出现"事件流最大并发""带 cooldown 的订单匹配"等改编版本。建议刷过往真题。

Q5:HRT OA 失败后多久能重考?

官方 Cooldown 通常为 6 个月。期间投递会被自动拒。


六、HRT VO 后续:你需要知道什么

通过 OA 之后会进入 2-4 轮 VO,包括:

  1. Coding 轮:1-2 道 LeetCode Hard,注重最优复杂度与代码风格
  2. System Design 轮(仅 senior):高频交易系统、订单簿、消息总线
  3. Behavioral / Culture Fit:HRT 强调研究氛围与协作文化
  4. Onsite Lunch / Coffee Chat:非淘汰,但用于综合评估

七、外链与延伸阅读


🚀 需要 HRT OA / VO 辅助?

如果你正在准备 HRT 或类似量化公司(Citadel、Jane Street、Optiver、SIG)的 OA / VO,欢迎交流:可提供题型拆解、变体练习建议和 VO 阶段的实时辅助。

👉 立即添加微信:Coding0201获取真题与一对一备考方案


联系方式