📕 FREE Guide2025 Quant Firm Tier List

Hudson River Trading Interview Questions

List of Real Interview Questions from Hudson River Trading

63 Questions
Updated 2025

Quant Interview Questions

63 questions

1

How would you design a system to route network packets between a central hub and multiple node servers?

Software Engineer Interview
2

Given that a survey asks each student to report the size of their room and there is no other information available, how would you estimate the average room size?

Developer Interview
3

Compare a sorted map and a hashmap, including their time complexities. Explain how a hashmap works and discuss strategies to resolve hash collisions.

Software Engineer Interview
4

Given two dates, calculate the number of days between them.

Software Engineer Interview
5

How does a dictionary work under the hood in Python?

Software Engineer Interview
6

What is the difference between a vector and a linked list?

Software Engineer Interview
7

Implement the stoi (string to integer) function in C, which converts a string representing an integer into its numeric value.

Software Engineer Interview
8

Given a race track with 5 lanes and 25 bunnies, with no timer and only knowing relative order per race, how many races are required to determine the top 3 fastest bunnies?

Software Engineer/Developer Interview
9

How does Java implement garbage collection?

Software Engineer/Developer Interview
10

Given an array of integers, find two numbers such that they add up to a specific target number. Follow up: What if the data type is double instead of int?

Software Engineer/Developer Interview
11

How do you implement multi-threading in an environment that does not provide kernel-level threading support?

Software Engineer/Developer Interview
12

1. Let X and Y be independent and identically distributed standard normal random variables. What is the probability that Y > 3X? Follow-up: Given that X > 0, what is the probability that Y > 3X?

Algorithm Developer Interview
13

You have three sock drawers: one contains red and blue socks, another contains blue and green socks, and the third contains green and red socks. What is the expected number of socks you must draw to be certain about which drawer is which, assuming each drawer has a large and equal number of each color?

Algorithm Developer Interview
14

(1) A 3x3x3 cube has its entire outer surface painted red. After cutting it into 27 unit cubes, one piece is selected at random and placed on a table so that five faces are visible (white). What is the probability that the remaining hidden face is red? (2) Let X be the sum of 100 rolls of a fair six-sided die, and let Y be the number of heads in 600 flips of a fair coin. What is the probability that X is greater than Y, i.e., Pr(X > Y)? (3) Place N points randomly on a circle. What is the probability that all N points lie within a semicircle?

Algorithm Developer Interview
15

Write a parser that can evaluate mathematical expressions given as strings.

Algorithm Developer Interview
16

We draw a person at random from the street. Then we continue drawing people, one at a time, until we find someone taller than the first person. What is the expected number of additional draws needed before encountering a person taller than the first?

Algorithm Developer Interview
17

Given an integer, find a list of unique odd numbers in ascending order whose sum is maximized and does not exceed the given integer. Return this list.

Algorithm Developer Interview
18

Given an array of length n, design an efficient algorithm to find the second largest number. The number of comparisons should be n + O(log n).

Algorithm Developer Interview
19

Design a data structure that supports push() and randompop() operations. Additionally, modify the data structure to support push() and weighted_randompop(), where the probability of popping an element is proportional to its assigned weight.

Algorithm Developer Interview
20

X and Y are independent and identically distributed standard normal random variables. What is the probability that Y > 3X?

Algorithm Developer Interview
21

You have a plate of spaghetti with n separate spaghetti strands (each with two free ends). You randomly pick two free ends and tie them together, repeating this process until no free ends remain. What is the probability that you end up with a single giant loop consisting of all the original spaghetti strands?

Algorithm Developer Interview
22

Given a sequence of n elements, how would you find the kth largest element?

Algorithm Developer Interview
23

If I have a jar with 1,000 coins and one of them is double-headed, I pick one coin at random and flip 10 heads in a row. What is the probability that I picked the double-headed coin?

Algorithm Developer Interview
24

Given a function that takes a sentence as a string, write the missing conditions in the if/else statements to return 'digit' if the first character is a number, 'Upper' if it is an uppercase letter, or 'Lower' if it is a lowercase letter.

Algorithm Engineer Interview
25

Find the longest sequence of unique numbers in a binary tree starting at the root node. That is, find the longest path from the root where no number appears more than once.

Algorithm Engineer Interview
26

Implement a system that filters a set of trades based on their timestamps and calculates the corresponding profits.

Quantitative Researcher Interview
27

How many times do you expect to roll a die before you get a 1 on top?

Quantitative Researcher Interview
28

Given three bowls: one contains two blue balls, one contains two red balls, and one contains one red and one blue ball. If you draw one blue ball from a bowl, what is the probability that the next ball from the same bowl is also blue?

Quantitative Researcher Interview
29

Implement a pool allocator in C++.

Software Engineer Intern Interview
30

How does push_back work in C++? What are its time complexities and internal workings? What are the differences between a thread and a process?

Software Engineer Intern Interview
31

What is the difference between a hash map and a map?

Software Developer Intern Interview
32

Find the k largest values in an array in average time O(n).

Software Engineer Intern Interview
33

What does the system call fork do?

Core Software Engineer Interview
34

Suppose you are walking down the street and randomly observing people. On average, how many people will you see before encountering someone taller than you?

Algo Trading Developer Interview
35

Choose a person X at random from the street. Let N be the random variable representing the number of additional people you must randomly select from the street before you find someone taller than X. What is the expected value E[N]?

Trading Algo Developer Interview
36

1) A pretty number is a number in base 4 whose digits are all either 1 or 0. How many pretty numbers are there less than n? 2) Given a list of moves in Reversi, return the total number of pieces for each player at the end of the game. 3) Trees are given as lists of nodes, where each node is a list with data [key, value, *children], where the order of the children matters. Two trees must be merged (left and right). For a given merged node with the same key between left and right inputs, the merged value should come from the right tree. The list of the merged node's children should start with children from the left tree's child list, and then the leftover right tree's child list. Output (key1, value1, ...) in pre-order traversal.

Algorithm Developer Intern Interview
37

Given a person, what is the expected number of people you must observe before seeing someone taller than that person?

Algorithm Developer Intern Interview
38

Design an abstract class for task scheduling. What information do you need to store for each task?

Software Engineering Intern Interview
39

How can you generate two random variables with correlation rho and variance 1 from two independent unit Gaussians?

Quant Researcher Interview
40

What is the fastest way to sort an array? How does the solution change if you require the numbers to be sorted in place? How would your approach differ if you can make assumptions about the structure of the array?

Quant Researcher Interview
41

Implement a number guessing game where the player tries to guess a randomly chosen integer between 0 and 1000. After each guess, provide feedback indicating whether the guess is closer or further from the target number than the previous guess.

Junior Algo Developer Interview
42

What is the difference between a soft link and a hard link?

System Engineer Interview
43

Given an array of integers, determine for each number if it can be written as the sum of two Fibonacci numbers.

Summer Intern Interview
44

Given a set of points on the coordinate plane, determine how many distinct squares can be formed using these points as vertices.

Summer Intern Interview
45

Given a set of points on a coordinate system, determine how many rectangles can be formed such that all four corners of the rectangle have their vertices among the given points.

Summer Intern Interview
46

How would you design a system to route network packets between a central hub and multiple node servers?

Software Engineer Interview
47

Given only survey responses where each student reports the size of their own room, and with no other information, how would you estimate the average room size?

Developer Interview
48

Compare a sorted map and a hashmap, including their time complexities. Explain how a hashmap works and describe strategies for resolving hash collisions.

Software Engineer Interview
49

Given two dates, write a function to count the number of days between them.

Software Engineer Interview
50

How does a dictionary work under the hood in Python?

Software Engineer Interview
51

What are the stages of a pipeline processor?

FPGA Engineer Interview
52

What are the differences between a vector and a linked list?

Software Engineer Interview
53

Given a race track with 5 lanes, 25 bunnies, and no timer, how many races are required to determine the top 3 fastest bunnies?

Software Engineer/Developer Interview
54

How does Java implement garbage collection?

Software Engineer/Developer Interview
55

Given an array of integers, find two numbers such that they add up to a specific target number. Follow-up: What if the data type is double instead of int?

Software Engineer/Developer Interview
56

How do you support multi-threading without kernel involvement?

Software Engineer/Developer Interview
57

What is Principal Component Analysis?

Trading Analyst Interview
58

Given two strings S1 and S2, find the length of their longest common subsequence. If there is no common subsequence, return 0.

Algorithm Development Internship Interview
59

You roll a six-sided fair die repeatedly until you obtain each face at least once. On average, how many times do you need to roll the die?

Algorithm Development Internship Interview
60

q1: Check if given numbers can be written as the sum of two numbers in the Fibonacci sequence. q2: Perform specified data manipulation tasks using pandas. q3: Count the number of non-axis-aligned squares that can be formed from a list of points. q4: Count the number of non-axis-aligned rectangles that can be formed from a list of points.

Algorithm Development Internship Interview
61

Explain, at the hardware level, what a SIGSEGV (segmentation fault) is, what causes it, and how it is generated.

Senior Software Engineer Interview
62

Give an algorithm to find the k-th largest element in an unsorted vector of integers.

Senior Software Engineer Interview
63

How do you implement a multiplexer in an FPGA?

FPGA Engineer Interview