The Hudson River Trading interview process for software engineers is a timed coding online assessment of about three problems, one or two technical phone screens of about an hour, and an onsite or superday of three to five rounds. The rounds test data structures and algorithms at LeetCode medium level, C++ fluency, and systems knowledge: operating systems, networking, floating point, bit manipulation and how a function call works on the machine.
Algorithm developer (quant) candidates get the same coding plus probability, expected value, strategy games they then simulate in code, and a data analysis task. HRT is a quantitative trading firm founded in 2002, headquartered in New York with 14 offices and over 1,000 employees.
Hudson River Trading interview process
- Online assessmentTimed, about 70-150 min reported
- Phone screen 1About 1 hour
- Phone screen 2 (some loops)About 1 hour
- Onsite / superday3-5 rounds, up to about 75 min each
- Recruiter / fitShort
| Round | Duration | What it tests |
|---|---|---|
| Online assessment | Timed, about 70-150 min reported | About three coding problems; sparse given tests, so write your own |
| Phone screen 1 | About 1 hour | Coding plus C++ or general programming; math and probability for algorithm developers |
| Phone screen 2 (some loops) | About 1 hour | C++ fundamentals, how the computer works under the hood |
| Onsite / superday | 3-5 rounds, up to about 75 min each | Coding, data structure internals, OS, networking, system design |
| Recruiter / fit | Short | Motivation and logistics, sometimes between technical rounds |
Hudson River Trading interview questions with answers
Q: Implement union-find and use it to answer connectivity queries.
Keep a parent array where each element starts as its own parent, and a rank or size array. find(x) follows parents to the root and compresses the path by pointing each visited node at the root. union(a, b) links the smaller tree under the larger. With both optimizations each operation is nearly O(1) amortized (inverse Ackermann). Typical uses are counting connected components, detecting a cycle when adding an edge, and Kruskal’s minimum spanning tree. Mention that union-find cannot handle edge deletions without extra work.
Q: Count positive integers below n whose base-4 digits are all 0 or 1, within 0.5 seconds.
Do not loop to n. The valid numbers correspond one-to-one with binary strings: read a binary number’s digits as base-4 digits. So walk n’s base-4 digits from the most significant: at each position, if the digit is 2 or 3, every choice of 0 or 1 here and below is valid, so add 2^(remaining positions + 1) and stop; if the digit is 1, add 2^(remaining positions) for choosing 0 here and continue; if 0, continue. Adjust for the strict inequality and for excluding zero. This is O(log n).
Q: How does a function call work under the hood?
The caller places arguments in registers or on the stack according to the calling convention (on x86-64 System V, the first six integer arguments go in rdi, rsi, rdx, rcx, r8 and r9). The call instruction pushes the return address and jumps. The callee sets up a stack frame, saves any callee-saved registers it uses, reserves space for locals by moving the stack pointer, runs, puts the return value in rax, restores registers, and ret pops the return address. Mention inlining, which removes all of this, and why deep recursion can overflow the stack.
Q: Why is 0.1 + 0.2 not equal to 0.3, and how should a trading system store prices?
IEEE 754 doubles store a binary fraction, and 0.1 and 0.2 have no exact binary representation, so the sum is 0.30000000000000004. Comparing floats with == is unsafe; compare within a tolerance if you must. For prices, use integers in the instrument’s tick size (for example price in hundredths of a cent) or a fixed-point type, so additions are exact and comparisons are reliable. Floating point is fine for statistics where small error is acceptable.
Q: Walking a subtree of a balanced BST vs random access to nodes: what does it cost?
An in-order walk of a subtree with k nodes is O(k) in theory, but nodes allocated separately on the heap are scattered in memory, so each step can be a cache miss. Random access by key is O(log n) comparisons, each potentially a cache miss too. In practice, a sorted array or a B-tree with wide nodes beats a pointer-based BST for scans because neighbors share cache lines. HRT interviewers pushed exactly on this gap between big-O and memory behavior in an October 2025 intern loop.
Q: Design how one hub routes packets to several node servers.
Clarify volume, latency target and whether delivery must be ordered or reliable. A simple design keeps a routing table from destination to node, one persistent connection per node, and a send queue per connection so a slow node cannot block others. Decide TCP versus UDP: TCP gives ordering and retransmission at the cost of head-of-line blocking, UDP with sequence numbers lets you handle loss yourself, which low-latency systems often prefer. Cover backpressure when a queue fills, node failure detection by heartbeats, and what the hub does with packets for a dead node.
Q: Two people arrive at random times in an hour and each waits a fixed time. What is the chance they meet?
Plot both arrival times on a square of side 60. They meet when the times differ by at most the waiting time w, which is the square minus two corner triangles with legs 60 - w. The probability is 1 - ((60 - w)/60)^2; with w = 15 that is 1 - (3/4)^2 = 7/16. Variants change the waiting times per person, which makes the two triangles different sizes.
Hudson River Trading interview questions by role
| Role | Reported questions and topics |
|---|---|
| SWE intern | Lines and Squares game in C++ (Atlanta, Sep 2025); how a function works under the hood (Canada, Sep 2025); BBST and k-d tree internals, OS, networking (US, Oct 2025) |
| Software engineer | Union-find, floating point, bit manipulation, OS basics (New York, Jul 2025); binary search medium and system design (New York, Nov 2025); packet routing design and C++ questions (US, Apr 2025) |
| Algorithm developer | Meeting probability, poker hand simulation, dice or card strategy games, notebook data analysis |
| OA (all tracks) | Timestamped trade profit; base-4 digit counting with a time limit; a long data structure design problem |
Hudson River Trading online assessment
Most candidates start with an HRT online assessment. TraderMath says it is usually on HackerRank with about three LeetCode medium-to-hard problems in any language; a Glassdoor reviewer in New York described an unproctored CodeSignal test of three questions instead. Reported formats vary by track and year.
A September 2025 software engineer on PracHub described three problems: the first and third were easy-to-medium LeetCode-style tasks, and the second was a data structure design question that was easy to understand but needed long code. The OA email asked candidates to write their own tests because very few were given. The candidate tested each problem with another 5 to 10 cases of their own.
Other reported OA tasks, collected by TraderMath:
- Filter a list of timestamped trades and calculate profit.
- Count the positive integers below n (up to a billion) whose base-4 digits are all 0 or 1, within 0.5 seconds in C++.
HRT software engineer interview: phone screens and onsite
The phone screen is about an hour of coding with an HRT engineer. A July 2025 New York software engineer who accepted an offer said the questions were “not the most difficult” but covered a wide range: floating point, bit manipulation, data structures and algorithms, and basic OS concepts, including a basic union-find application.
Onsites go deeper into internals. An October 2025 US intern who accepted an offer had four rounds of about 75 minutes each: balanced binary search trees (from basic use to rebuilding a tree to the cost of walking a subtree versus random access), k-d tree internals, operating systems, and networking protocols and reliability. They described the rounds as dense with rapid follow-ups.
System design shows up for full-time roles. A November 2025 New York software engineer had a LeetCode medium and system design questions onsite, and an April 2025 US candidate was asked to design packet routing between one hub and several node servers.
Hudson River Trading SWE intern interview
Intern loops follow the same pattern with C++ weighed heavily. A September 2025 Canada intern had an OA, two phone screens (general C++ programming, then C++ fundamentals and how computers work), and a superday of three live coding rounds; they were cut after the second. A September 2025 Atlanta intern had an OA with LeetCode medium problems and a technical interview where they implemented a “Lines and Squares” game in C++, and said the hard part was debugging within the short slot.
TraderMath’s figures for the Summer 2027 algorithm development internship are $5,800 per week in New York, S$7,650 in Singapore and £4,350 in London, with a signing bonus, company-paid housing and meals.
Hudson River Trading algorithm developer interview
Algorithm developers are HRT’s quant researchers. TraderMath describes one or two phone screens split between math or probability and live coding, then an onsite of about five one-on-one rounds with quants and algorithm developers. Reported content:
- A Romeo-and-Juliet meeting probability question (a classic from Xinfeng Zhou’s quant interview book).
- Coding a poker simulation that finds the best hand, in 45 minutes.
- Deriving an optimal strategy for a dice or card game, then checking it by simulation.
- An exploratory data analysis task in a Python notebook.
- Expected value, Markov processes and statistics.
Who does well in Hudson River Trading interviews
Good fit: You write C++ comfortably, know what the compiler and OS do with your code, and can discuss cache behavior, memory layout and network protocols as easily as an algorithm. You test your own code without being asked, which the sparse-test OA rewards.
Harder path: You know LeetCode patterns but have not taken OS or networking courses. An October 2025 intern who had not yet taken OS felt that round went poorly, and a Canada intern was asked how a function works under the hood. An April 2025 candidate also found interviewers expected a specific answer and kept prompting until they got it.
A four-week Hudson River Trading prep plan
- Week 1: OA practice: three problems in about 90 minutes, one of them a long data-structure design task. Write 5 to 10 of your own test cases for each before submitting.
- Week 2: C++ and machine basics: calling conventions, stack vs heap, virtual functions and vtables, move semantics, IEEE 754 floating point, bit tricks. Implement union-find and a small hash map from scratch.
- Week 3: Data structure internals and systems: balanced BSTs, k-d trees, cache lines, processes vs threads, virtual memory, TCP vs UDP and reliability. Practice one hub-and-nodes routing design out loud.
- Week 4: Two mock onsites of four 60-75 minute rounds with rapid follow-ups. Algorithm developers swap one round for probability plus a simulation in Python.
Hudson River Trading pay in the US
TraderMath’s September 2026 review of HRT’s ads for 2027 graduates lists a $300,000 base for algorithm developers and software engineers in the US, plus sign-on and discretionary performance bonuses. The Summer 2027 algorithm development internship pays $5,800 per week in New York, with a signing bonus, housing and meals.
Its summary of US salary filings from July 2025 to June 2026 shows median filed ranges of $200,000 to $300,000 for the Software Engineer title, $195,000 to $250,000 for Core Developer and $185,000 to $250,000 for Algorithm Developer. The lower end of a filed range is often a legal minimum, so read both ends together.
Frequently asked questions about Hudson River Trading interviews
What is the Hudson River Trading interview process?
Software engineers usually take a timed coding online assessment (often HackerRank, sometimes CodeSignal) with about three problems, then one or two technical phone screens of about an hour on C++, data structures and how computers work, then an onsite or superday of three to five rounds covering coding, operating systems, networking and sometimes system design. A July 2025 New York software engineer who got an offer had exactly that order: OA, a one-hour phone screen, then the onsite.
What are common Hudson River Trading interview questions?
Reported questions include a basic union-find application, a binary search problem, balanced binary search tree internals, k-d tree internals, how a function call works under the hood, routing packets between a hub and several node servers, a Lines and Squares game implemented in C++, floating point and bit manipulation, and for algorithm developers a meeting-time probability question and a 45-minute poker hand simulation.
What is on the Hudson River Trading online assessment?
About three coding problems at LeetCode easy to hard level, in any language. A September 2025 software engineer reported two easy-to-medium problems and one data-structure design problem with long code, with very few test cases given, so candidates must write their own tests. Other reported OA tasks are filtering timestamped trades to compute profit and a base-4 counting problem with a 0.5-second C++ time limit.
Does Hudson River Trading ask C++ questions?
Yes, often. A September 2025 Canada intern had two phone screens on C++, the second on C++ fundamentals and what the computer does under the hood. An April 2025 US candidate was asked C++ questions in the final round. Python is accepted for coding, but systems knowledge in C++ comes up for most software roles.
How is the HRT algorithm developer interview different?
Algorithm developer (quant) loops add probability and expected value, strategy games you analyze and then simulate in code, and a data analysis task in a Python notebook, alongside coding. TraderMath reports phone screens split between math and live coding, including a poker hand simulation in 45 minutes.
How much does Hudson River Trading pay?
TraderMath’s September 2026 review of HRT’s job ads lists a $300,000 US base for 2027 graduate software engineers and algorithm developers, plus sign-on and performance bonuses. The Summer 2027 algorithm development internship lists $5,800 per week in New York, with housing and meals. Filed US base ranges for the Software Engineer title ran from $200,000 to $300,000 between July 2025 and June 2026.
How long does the HRT hiring process take?
TraderMath puts it at roughly four to eight weeks from first contact to offer, with onsite scheduling sometimes adding a week or two.
Sources
- Hudson River Trading: about HRT
- TraderMath: Hudson River Trading interview guide
- TraderMath: Hudson River Trading salaries from job ads and filings
- PracHub: HRT software engineer OA with almost no test cases (September 2025)
- Taro: software engineer, New York, July 2025 (offer)
- Taro: software engineer, New York, November 2025
- Taro: software engineer intern, United States, October 2025 (offer)
- Taro: software engineer intern, Canada, September 2025
- Taro: software engineer intern, Atlanta, September 2025
- Taro: software engineer, United States, April 2025
- Wikipedia: Hudson River Trading
- CodeSignal OA report: a Glassdoor review of an HRT New York software engineer loop