上周刚带学员搞定一场 Hudson River Trading Online Assessment,整套题目四题连做,时长 90 分钟,风格非常典型 —— 每道题都像在考你写代码时的 逻辑严谨度和边界意识。
HRT 的 OA 不靠刁钻算法取胜,而是通过多层逻辑嵌套、数据结构混合考察你的工程思维和实现细节。
下面是四道题的完整回忆版思路。
Hudson River Trading OA 面试概览
Hudson River Trading 的技术招聘流程一向以“快、准、稳”著称,整体分为 Online Assessment(OA)+ Technical Interviews(技术面)+ Culture Fit/Final Round(终面) 三个阶段。
1️⃣ Online Assessment(OA)
这轮通常是最关键的筛选环节,四道题全面覆盖算法、逻辑、数据结构与模拟计算,题目数量多、时间紧,需要极强的节奏控制与实现准确度。
通过率不高,但如果能在 90 分钟内 AC 三题以上,基本稳进下一轮。
2️⃣ Technical Interviews(技术面)
通常 2~3 轮,以 coding + math + logic 为核心。
- Coding:侧重 clean code 与思路清晰度,常见题型包括数组、字符串、搜索与概率模拟。
- Math/Logic:考离散思维与计算准确性,比如随机性问题、复杂度分析。
- Discussion:可能结合你在 OA 的题目思路,追问“如果输入规模变大怎么办”这类 follow-up。
3️⃣ Final / Culture Fit
最后一轮更像“Trader + Engineer 混合面”,考你对系统效率、风险控制、协作方式的理解。HRT 很看重思维反应速度与逻辑推理能力。
整体来看,HRT 的面试体系并不追求炫技,而是考察候选人在 极限时间内保持清晰思维、写出稳健代码的能力。
如果能在 OA 阶段展现出良好的逻辑与实现能力,后续面试的节奏会顺畅很多。
Q1: Find Peaks
Problem:
Given an integer array, find all indices that are “peaks.”
An element is a peak if:
- it’s larger than its neighbor(s).
- the first element is a peak if it’s greater than the second.
- the last element is a peak if it’s greater than the second last.
Solution Idea:
Traverse the array once and handle three cases separately — first, middle, last.
思路:
- 对于中间元素,判断
arr[i] > arr[i-1] && arr[i] > arr[i+1]。 - 对于首尾元素,分别判断是否比唯一邻居大。
- 满足条件的下标记录输出。
这题的重点是边界条件清晰、逻辑判断简洁。整体复杂度 O(n)。
Q2: Count Substrings Divisible by 3
Problem:
Given a numeric string, count all substrings that are divisible by 3 and do not have leading zeros.
Solution Idea:
Use prefix sum modulo 3 and count matching remainders.
思路:
- 计算前缀和
prefix[i] % 3,并用哈希表统计余数出现次数。 - 对于当前余数 r,有效子串数 = 之前相同余数的出现次数。
- 单独处理
'0':虽然能被 3 整除,但如果前导零非法,需要剔除。 - 最终累积得到所有合法子串数量。
这题是典型的模运算前缀和题,重点是处理好 前导零 与 单字符情况。
Q3: Grid Simulation
Problem:
You are given a grid with obstacles (-1), teleport points, and a goal. Starting from a given cell, simulate movements step by step.
Return:
- -1 if hit an obstacle,
- -2 if stuck in a loop,
- or the total steps to reach the goal.
Solution Idea:
Use a visited set to detect loops and a dictionary for teleportation.
思路:
- 用集合存储所有障碍点、传送点坐标。
- 从起点开始模拟移动,方向由输入规则决定(例如 “U, D, L, R”)。
- 每到一个新格子,判断:
- 是否出界;
- 是否为障碍(返回 -1);
- 是否进入环(visited 中已存在则返回 -2)。
- 如果到达终点,返回步数。
这题关键是“环检测”逻辑,一旦状态重复,就说明进入死循环。实现上类似 BFS 模拟题,但只要求线性扫描。
Q4: Largest Square in Histogram
Problem:
Given an array representing histogram bar heights, find the area of the largest square that can fit entirely within the histogram.
Solution Idea:
Use a monotonic stack to find left and right smaller boundaries for each bar.
思路:
- 使用单调栈求出每根柱子左右第一个更矮的柱子位置。
- 计算该柱子的可扩展宽度:
width = right[i] - left[i] - 1。 - 由于是正方形,边长
side = min(height[i], width)。 - 更新最大面积:
max_area = max(max_area, side * side)。
这题与经典的 “largest rectangle in histogram” 类似,只是多了一个正方形的约束条件,思路几乎一样,但考察你对细节的变形能力。
稳过 HRT OA 的秘密武器:Programhelp 无痕语音助攻实战方案
如果你最近也在准备 Hudson River Trading OA 或其他量化岗的在线笔试,可以了解一下我们的 Programhelp 无痕远程助攻方案。
我们团队长期陪同学们实战各类顶级量化、科技公司 OA,包括 HRT、Jane Street、Citadel、IMC、Optiver、Two Sigma 等,支持 联机无延迟语音提示、实时思路引导、代码逻辑同步讲解。
相比传统“刷题式”准备,我们更强调 实战节奏感和稳定发挥——比如在 HRT 这种时间紧、题目逻辑复杂的 OA 中,很多同学不是不会,而是慌乱导致细节出错。我们的系统能在关键点以语音提醒节奏,让你像做过一样稳步推进。
目前已帮助上百位同学顺利通过 OA 并拿到面邀,覆盖 SDE、Quant、DS 等不同方向。
如果你想了解 如何在真实 OA 环境中做到零失误,欢迎联系我们获取最新题库与远程助攻方案详情。