Skip to content
Work Practice Products Coding interviews Machine learning coding Quant developer HFT course Blog Method Why me About Enquire Book a call

Practice · Quant prep · Hudson River Trading

Hudson River Trading interview process

Hudson River Trading is unusually open about what its engineering interviews look for, and the answer is not trick questions: readable code, real systems knowledge, and taking hints well. It also says plainly that needing help is allowed.


The process, from Hudson River Trading's own pages

  1. Take-home test. Usually timed and with a deadline, typically on HackerRank or Codility; the sample tests are not comprehensive, so test your own edge cases. Source
  2. Phone interviews. Roughly two: a 45-minute technical discussion of systems knowledge, data structures or problem solving, and a programming interview, in C++ or Python for some roles and any language for others. Source
  3. Onsite. A full day of back-to-back interviews, virtual or in person, on programming, systems knowledge, problem solving and soft skills. Source
  4. What they look for. Idiomatic, readable, well-encapsulated code; fundamental systems knowledge such as memory, I/O and process management; breaking unfamiliar problems into steps; and taking hints and feedback well. Source
  5. Hints are fine. The firm writes that it is fine for candidates to need hints and guidance and to make mistakes. The post describes the 2021–22 campus season, and the firm notes its process changes. Source

What candidates report

Candidates for engineering roles describe the take-home as a short set of coding problems and phone rounds in a shared editor, sometimes debugging an existing program. Algorithm developer candidates also report probability and statistics questions in later rounds.


What Hudson River Trading states it pays

We could not read a stated salary in any Hudson River Trading advert: the adverts render only in a browser. Pay for comparable roles at other firms, from their own adverts, is in the Quant Careers Report.


PDF · Edition 2 · £79

The Quant Careers Report

Hudson River Trading’s process step by step and the pay it states in its adverts, side by side with 12 other trading firms, plus when to apply and five timed practice papers with worked solutions.

Buy the report — £79 See what is inside


What Hudson River Trading is testing

The systems discussion is where many strong algorithm candidates lose ground. Interviewers want to hear how memory is laid out, what a system call costs, what happens when a process reads a file, and why one data structure is faster than another on real hardware, not only in big-O terms.

In the programming rounds, clean code is part of the answer. Name things well, separate concerns, and handle the edge cases the prompt did not mention; a correct solution that is hard to read scores below one that is clear.


Six practice problems

Written by us to match the types Hudson River Trading is publicly reported to ask. None is a copy of any question Hudson River Trading has used.

  1. Prices are stored as whole numbers of ticks from 0 to 1,000,000. How many bits does one price need?

    Show the answer

    20

    2¹⁹ = 524,288 is too small and 2²⁰ = 1,048,576 is enough, so 20 bits. Packing a price into 20 bits instead of a 64-bit double lets more of an order book fit in each cache line, which matters more than the arithmetic.

  2. A loop reads a 64 MB array once from start to end. With 64-byte cache lines, how many cache lines does it bring in?

    Show the answer

    1,048,576

    64 MB is 2²⁶ bytes and a line is 2⁶ bytes, so 2²⁰ = 1,048,576 lines. Because the access is sequential, the hardware prefetcher fetches most of them before they are needed, which is why a linear scan runs far faster than the same number of random reads.

  3. What is the largest number of comparisons a binary search over 1,000,000 sorted elements can need?

    Show the answer

    20

    Each comparison halves the remaining range, and ⌊log₂ 1,000,000⌋ + 1 = 19 + 1 = 20. On hardware, the first few comparisons touch widely separated memory and miss the cache, which is why cache-friendly layouts of a sorted array can beat plain binary search.

  4. On a grid of 5 × 5 squares, how many shortest paths go from one corner to the opposite corner along the grid lines?

    Show the answer

    252

    Every shortest path is 5 moves right and 5 moves up in some order, so the count is C(10, 5) = 252. The same count, built up cell by cell, is the textbook dynamic programme for grid paths, and the interview follow-up is usually to add blocked cells.

  5. Starting from x = 255, how many times can you apply x = x & (x − 1) before x becomes 0?

    Show the answer

    8

    x & (x − 1) clears the lowest set bit, so the loop runs once per set bit. 255 is 11111111 in binary, eight ones, so 8 times. This is Kernighan's way of counting bits, and it runs in time proportional to the number of ones rather than the word size.

  6. Quicksort with the first element as pivot is run on the four values 1, 2, 3, 4 in a uniformly random order. What is the expected number of comparisons?

    Show the answer

    29/6 ≈ 4.83

    Partitioning n elements costs n − 1 comparisons, so C(n) = n − 1 + average of C(k − 1) + C(n − k). That gives C(2) = 1, C(3) = 8/3 and C(4) = 29/6, matching the closed form 2(n + 1)Hₙ − 4n. Checking it by enumerating all 24 orders is a good habit, and a good interview answer.


Practise under time

Hard paper: Ten hard probability and puzzle questions, 45 minutes.


How to prepare for Hudson River Trading

Practise writing code that someone else would want to maintain, under time, in the language the role asks for. Revise how memory, caches, system calls and processes work until you can explain them without notes, because the systems discussion is its own round. When you are stuck in an interview, say so and take the hint: the firm has said that is fine.

Interviewing at HRT? The strategy hour tells you where your coding and systems knowledge stand against its process, and what to fix first. What the hour covers, £250.