Quant interview preparation
Prop market making and quantitative research, weighted the way the interviews actually are: probability and expected value, statistics and machine learning, market making logic, programming and options. Every question is either traced to a named firm from a public candidate report, or tagged at desk level when we could not trace it, and every probability answer shows the reasoning path rather than just the number.
100 questions, mapped to the firms that asked them
- Questions
- 100
- Traced to a firm
- 53
- Firms
- 15
- Updated
- September 2026
010Same die game, but now you earn one dollar per dot and each re-roll costs you one dollar, with unlimited re-rolls. What is the value of the game and when do you stop?Old Mission CapitalFinance · New York · 2018
Say this
The game is worth 4 dollars if the first roll is free, and you stop on a 3 or better. The continuation value of choosing to roll again is exactly 3, so the acceptance threshold is 3, and the value of a free first roll is the average of 3, 3, 3, 4, 5 and 6, which is 4.
Then walk it
- Set up the recursion. If you decide to roll, you pay 1, then with the threshold t you accept faces above or equal to t and otherwise roll again. So V equals minus 1 plus the average over faces of the max of the face value and V.
- Guess the threshold is 4, meaning V sits in the interval 3 to 4. Then faces 4, 5, 6 are accepted for 15 total, and faces 1, 2, 3 all continue at V each.
- V equals minus 1 plus (15 plus 3V)/6. Multiply through: 6V equals minus 6 plus 15 plus 3V, so 3V equals 9, V equals 3.
- Check consistency: V equal to 3 means you should accept anything at or above 3, not 4. Re-solve with threshold 3: accepted faces 3,4,5,6 sum to 18, continuing faces 1,2 give 2V. V equals minus 1 plus (18 plus 2V)/6 gives 6V equals 12 plus 2V, so V equals 3. Consistent, since 3 is in the interval 2 to 3 boundary case. So the value of choosing to roll is 3 and you stop on 3 or better.
- Check consistency, which is the step that matters: V equal to 3 means you accept anything at or above 3, so re-solve with threshold 3. Accepted faces 3, 4, 5, 6 sum to 18 and continuing faces 1 and 2 give 2V, so V equals minus 1 plus (18 plus 2V)/6, which gives 4V equals 12 and V equals 3. Now the assumed threshold and the solved value agree, so 3 is the answer. With a free first roll the game is worth the average of max(face, 3), which is 24 over 6, equals 4.
Where candidates lose it
Solving the fixed point once and not checking that the threshold you assumed is consistent with the value you found. That verification step is the whole exercise in an optimal-stopping problem, and skipping it is how candidates report a threshold of 4 with a value of 3 and never notice the contradiction.
Expect next
- What if the re-roll cost were 2 dollars instead?
- At what cost per re-roll does the game become worthless?
- How does this map to pricing an American option?
Reported by candidates at Old Mission Capital (Finance, New York, 2018). Source: Wall Street Oasis.
012Four points are chosen at random on the surface of a sphere. What is the probability that the tetrahedron they form contains the centre?Old Mission CapitalProp Trading · Chicago · 2018
Say this
One eighth. The clean argument: take three random points and their three antipodes, giving eight candidate tetrahedra from the eight sign choices, and exactly one of the eight contains the centre.
Then walk it
- Build the construction. Draw three random points P1, P2, P3 and three random diameters through them. The fourth point is then the head or tail of an independent diameter, and by symmetry each of the eight sign combinations of the three diameters is equally likely as the configuration.
- For almost every set of three diameters, exactly one of the eight tetrahedra formed by choosing one endpoint from each diameter, plus the fourth point, contains the centre. So the probability is 1/8.
- Warm up with the two-dimensional version first if you are stuck. Three points on a circle contain the centre with probability 1/4, by the same argument with two diameters and four sign choices.
- The pattern generalises: n plus 1 points on the surface of an n-sphere contain the centre with probability 1 over 2 to the n. Two to the power n sign choices, one winner.
- Say the 2D case out loud before the 3D case. It is the same proof at half the cognitive load, and it shows the interviewer your method rather than a memorised number. The number alone is worthless here because the answer is famous.
Where candidates lose it
Attempting to integrate over solid angles. It is a five-line symmetry argument and any attempt at brute-force geometry will run out of time. The other trap is stating one eighth flatly, which reads as recall. Construct the antipodal argument, because with a famous answer the reasoning is all they can grade.
Expect next
- Do the circle case in two dimensions.
- What is the expected volume of that tetrahedron?
- Three random points on a circle: what is the probability the triangle is acute?
Reported by candidates at Old Mission Capital (Prop Trading, Chicago, 2018). Source: Wall Street Oasis.
017Five pirates must split a hundred gold coins. The most senior proposes a split, everyone votes, and if at least half agree it passes, otherwise he is thrown overboard and the next most senior proposes. How should the senior pirate split the coins to survive and maximise his take?Old Mission CapitalProp Trading · New York · 2014
Say this
98 for himself, 0 to the second, 1 to the third, 0 to the fourth, 1 to the fifth. Solve it by backward induction from two pirates, because each pirate's vote depends only on what they would get if the current proposer dies.
Then walk it
- Two pirates left: the senior of the two takes 100, votes for himself, and half of two is one vote, so it passes. Pirate 4 gets 100 and pirate 5 gets 0.
- Three left: pirate 3 needs one more vote. Pirate 5 gets nothing in the two-pirate world, so 1 coin buys him. Split is 99, 0, 1.
- Four left: pirate 2 needs one more vote out of four. He buys pirate 4, who gets 0 in the three-pirate world, for 1 coin. Split is 99, 0, 1, 0.
- Five left: pirate 1 needs two more votes. The pirates who get 0 under pirate 2's plan are 3 and 5, so he buys both for 1 coin each. That gives 98, 0, 1, 0, 1.
- The whole method is: work out what each pirate gets if the proposal fails, then pay each cheap vote exactly one coin more than that. The assumptions matter and you should state them: pirates are perfectly rational, prefer gold, prefer to live, and prefer fewer rivals if otherwise indifferent.
Where candidates lose it
Trying to reason forwards from five pirates, which is impossible. State that you are doing backward induction and start from the base case of two. The second trap is the tie rule. Half of an even number counts as passing here, and if you assume a strict majority the whole answer shifts, so say your reading of the rule out loud before you solve.
Expect next
- What happens with two hundred pirates and a hundred coins?
- How does the answer change if a tie means the proposer dies?
- What if pirates value killing above one extra coin?
Reported by candidates at Old Mission Capital (Prop Trading, New York, 2014). Source: Wall Street Oasis.
078Given a stream of numbers, return the median after each element arrives.Old Mission CapitalEquities · Boston · 2024
Say this
Two heaps. A max heap for the lower half and a min heap for the upper half, kept balanced so their sizes differ by at most one. The median is the top of the larger heap, or the average of the two tops. Insert is O(log n), query is O(1).
Then walk it
- Insert rule: if the new value is at most the max of the lower heap, push it there, otherwise push to the upper heap. Then rebalance by moving one element across if the sizes differ by more than one.
- Query: if the sizes are equal, the median is the average of the two tops. Otherwise it is the top of the larger heap. Constant time either way.
- Total cost for n elements is n log n, and memory is O(n) because you must retain everything. That memory cost is the honest limitation, and it is the first thing an interviewer will probe.
- If the median must be over a sliding window rather than the whole prefix, the two-heap approach needs deletions from the middle. Use an indexed multiset or two heaps with lazy deletion and a hash of pending removals. That is the version that comes up in practice on a tick stream.
- And if approximate is acceptable, which on a trading system it usually is, the right answer is a streaming quantile sketch: t-digest or the Greenwald-Khanna algorithm, giving you any quantile in bounded memory rather than O(n). Naming that unprompted is what turns a correct interview answer into a practical one.
Where candidates lose it
Sorting on every element, which is O(n squared log n) overall, or maintaining a sorted list with insertion, which is O(n) per element because of the shifting even though the binary search is fast. Say two heaps immediately, then volunteer the sliding-window and bounded-memory variants, because that is where the conversation is heading.
Expect next
- Now do it over a sliding window of the last thousand values.
- What if you cannot store all the data?
- How would you get the 99th percentile instead of the median?
Reported by candidates at Old Mission Capital (Equities, Boston, 2024). Source: Wall Street Oasis.
081Write me an unordered_map class. What is actually inside a hash map?Old Mission CapitalTrading · Chicago · 2021
Say this
An array of buckets, a hash function mapping keys to bucket indices, a collision resolution strategy, and a resize policy driven by load factor. The three decisions that define the implementation are the hash, the collision handling, and when you grow.
Then walk it
- Core operations: index equals hash of key modulo bucket count, then search within that bucket comparing keys for equality. Insert, find and erase all follow that pattern, and all are O(1) expected under a good hash.
- Collision resolution, and this is the main design choice. Separate chaining stores a list per bucket, which is simple and is what the C++ standard effectively mandates for unordered_map because of its iterator and reference stability guarantees. Open addressing stores entries inline and probes forward, which is far more cache-friendly but complicates erase, since you need tombstones or backward shifting.
- Resize: track load factor as elements over buckets, and when it exceeds a threshold, typically 0.75 for chaining or 0.5 to 0.7 for open addressing, allocate a bigger array and rehash everything. Use a power-of-two bucket count so the modulo is a bitmask, but then your hash must mix the high bits or a weak hash collides badly.
- The correctness details an interviewer will probe: key equality is separate from the hash, two equal keys must hash the same, iterator invalidation on rehash, and what happens when the key type has a bad hash. A hash that is the identity on integers plus power-of-two buckets means sequential keys with a stride collide catastrophically.
- If I were writing this for a trading system I would use open addressing with linear probing over a pre-allocated power-of-two array, reserve capacity up front so no rehash ever happens in the hot path, and store keys and values in separate arrays if the values are large. The reason is tail latency: one rehash mid-session is a millisecond spike, and a millisecond is forever.
Where candidates lose it
Describing the interface rather than the internals. The question is about buckets, hashing, collisions and resizing. Also be ready for why is std::unordered_map slow, whose answer is node-per-element allocation and the standard's stability guarantees forcing chaining. And never forget that erase under open addressing needs tombstones, which is the bug candidates ship.
Expect next
- How does erase work under open addressing?
- What load factor would you choose and why?
- What makes a good hash function, and what happens with a bad one?
Reported by candidates at Old Mission Capital (Trading, Chicago, 2021). Source: Wall Street Oasis.
Firm tags come from public, anonymous candidate reports on Wall Street Oasis: strong signal, not sworn testimony. Firms are named as the places a question was reported, not as partners of Fin Maverick. Answers are written for this page to show how to think out loud; they are not scripts to recite.

