HackTheRounds Interview Experiences

Optiver Quant OA Interview Experience (2026) - Numbers Station & Probability, Offer

Optiver 2026 Quant OA breakdown: reaction mini games, Numbers Station streaming parser, coupon collector probability, plus trader tech round, QR math and take h

By Anonymous ยท 2026-03-25

Background

Optiver's quant OA is unlike any other finance shop process I have been through, and I mean that literally. After submitting for their 2026 quant graduate role through a campus event, I got invited to the OA within a week. The format mixes reaction-time mini games, fast mental math, and one real coding challenge. I had been prepping for Jane Street and Citadel OAs at the time, and almost none of that prep was directly useful. This one needed its own study plan.

This question is coming soon to HackTheRounds.

Timeline

OA Format (~90 min, proprietary platform)

Two sections inside one session. Section 1 is a battery of reaction-and-memory mini games. Section 2 is coding plus math word problems.

Section 1: Mini Games

Four games in 15-20 minutes total:

  • Numeric tracking. Follow a moving number around a grid while ignoring decoys. You click it at the end. It felt like the neuropsych tests in old driving exams.
  • Arithmetic sprint. Two-digit addition and subtraction, as many as you can in 2 minutes. Wrong answers don't deduct, but they do eat time.
  • Sequence memory. Watch a sequence of 7-12 numbers, recall it in reverse. Difficulty ramps.
  • Pattern match. Given two 6x6 grids of symbols, decide if they match. Time pressure was brutal.

These are essentially a cognitive screen. You cannot "prep" them in a week, but you can boost performance with a few hours on Human Benchmark and similar. The goal is to not be in the bottom quartile.

Section 2: Numbers Station

Problem: A radio station broadcasts voice samples. Each sample has a sequence ID (a positive integer up to 2^64) and a payload character, which is either a letter or a hyphen - . A complete message is a run of non-hyphen characters bracketed by two hyphens, and the entire run must have consecutive sequence IDs with no gaps. You are fed samples one at a time through ProcessSample(seq id, ch) , and when a complete message can be assembled, you call OnMessageComplete(message) with it.

Two additional rules:

  1. If a higher-sequence-ID message completes first, any subsequently completed lower-ID messages are ignored (stale).
  2. Messages can be interleaved. Samples arrive out of order. You cannot assume monotonic arrival.

The straightforward implementation is a dict keyed by seq id storing the character, plus a pointer that tries to advance whenever a new sample is inserted. A hyphen marks a potential message boundary. When you see a hyphen, scan backward from that position until you hit another hyphen, and check that every intermediate seq id is present. If so, emit the message.

My code used a hash map plus a sorted container of observed seq ids (a SortedList ). On each new sample, I inserted into both, found the neighbors of the new seq id, and tried to extend a candidate message forward and backward. For each hyphen I kept a pointer to its most recent earlier hyphen and, on updates, checked whether the range between them was densely populated. If so, emit.

I didn't finish the full implementation inside the time limit. Got about 50% credit on Numbers Station. In retrospect, the cleaner approach is to maintain, for each hyphen, the smallest and largest seq id of the contiguous run adjacent to it, and merge runs incrementally when a new sample lands between two existing ones. This is an interval-join problem in disguise, and the merge step is where most of the bookkeeping lives.

This question is coming soon to HackTheRounds.

Math Word Problems

Three problems, about 20 minutes. All three were expectation / probability:

  1. Expected number of rolls of a fair 6-sided die until you see all 6 faces (coupon collector, answer 14.7).
  2. You flip a fair coin until you get two heads in a row. Expected number of flips (answer 6).
  3. A random walk on a 5-node cycle. Expected time to return to the origin (answer 5, since the stationary distribution on an unweighted cycle is uniform and return time equals 1/pi_i = n).

I had memorized the coupon collector formula so 1 was free. 2 required the standard "state machine with E 0, E H" recurrence. 3 I guessed correctly by symmetry and then verified after the round.

Result

Passed the OA with partial credit on Numbers Station. The trader tech round, HR chat, QR math round, and take-home all went fine individually, though the QR round had a nasty measure-theory question I half-answered. Offer landed two months after application, roughly at the same comp band as a Jane Street offer minus the sign-on.

Tips

  1. Prep for Optiver's mini games specifically, not generic LeetCode. Spend 3-4 sessions on Human Benchmark (reaction time, sequence memory, number memory). The games matter, and your baseline from coding prep does nothing for them.
  2. Drill coupon collector, gambler's ruin, and Markov chain return times. These are the Optiver math bread and butter. You will see one of them on the OA and again in the QR round. Memorize the closed forms.
  3. For Numbers Station, skeleton the state machine before you code. This is an interval-join problem, not a pure streaming problem. Draw the timeline with hyphens as anchors, then decide your data structures. I wasted 15 minutes by coding a dict-first solution that couldn't handle out-of-order arrivals gracefully.
  4. Mental arithmetic practice beats mental arithmetic shortcuts. The arithmetic sprint game rewards raw speed, not clever tricks. Do 20 minutes a day of 2-digit add/subtract for a week before the OA. Your accuracy at 60 items/minute goes from ~70% to ~90%.
  5. The trader tech round is a communication test. The logic puzzles (card permutations, dice probability) are high-school level. What they really grade is your ability to verbalize thinking cleanly under interruption. Practice talking through a problem with a friend interrupting every 20 seconds.
  6. On the take-home, prioritize clarity over features. I wrote a bare Black-Scholes with docstrings, no UI, and a one-page report explaining my assumptions. The interviewer spent the defense asking about model assumptions (discrete vs continuous, lognormal returns). They do not care about your UI.

Optiver's OA is a calibration instrument, not an algorithm contest. Treat it like a cognitive gauntlet, not a LeetCode round, and you will do much better.

This question is coming soon to HackTheRounds.