← Back to Directory

Optiver interview notes, page 3 of 10

Large Enterprises

Most of these Optiver write-ups come from Software Engineers (69), then Data Scientists (22). The most reported rounds are the technical phone screen (65), the onsite coding round (8), the online assessment (5) and the system design round (5).

91 interview notes · updated Aug 2026

Optiver·Software Engineer·Technical Phone Screen

May 2026
Optiver quant interview, one question but it was a dense one. The pattern recognition problem looked deceptively simple and I nearly blew it by jumping to the wrong rule too fast.
  • Given the sequence 5, 3, 8, 9, 11, 27, identify the rule generating it, extend the sequence, and write out the recurrence relation.

“I stared at this for a bit and my first instinct was Fibonacci-style addition, which was wrong.”

View Post

Optiver·Data Scientist·Technical Phone Screen

May 2026
Interviewed for a Data Scientist role at Optiver and got hit with a full constraint-satisfaction puzzle design question. Not what I was expecting from a quant-adjacent firm but in hindsight it makes sense given how much they care about algorithmic thinking.
  • Design and implement a solver for the Skyscraper logic puzzle on an N×N grid. Walk through your modeling choices, search strategy, pruning techniques, and how you'd verify if a solution is unique. Also cover expected input/output format and worst-case complexity.

“This one took me a second to even parse.”

View Post

Optiver·Software Engineer·Technical Phone Screen

May 2026
Optiver software engineer interview with a meaty binary tree validation and serialization problem. The kind of question where you think you understand it and then realize halfway through you've missed an edge case.
  • Given an unordered list of parent-child pairs representing edges of a supposed binary tree, validate the structure by detecting errors in a strict priority order (input format error, duplicate edge, too many children per node, multiple roots, cycle), then if valid, construct the tree and output its lexicographically smallest S-expression by serializing children in alphabetical order at each node.

“This one wrecked my initial confidence.”

View Post

Optiver·Software Engineer·Onsite - Coding / Algorithms

May 2026
Optiver software engineer interview with three algorithm mini-problems back to back. The problems ranged from a sliding puzzle to stream processing to string deduplication, and each one had a follow-up angle that made the naive solution not quite enough.
  • Given an N-block sliding puzzle on a 2D grid with one empty cell, find the minimum number of moves to reach a target arrangement, or return -1 if it's impossible. Walk through your state encoding and whether you'd use BFS or A* with an admissible heuristic.
  • You're reading a token stream where each token is either a directional arrow or a non-negative integer. Output 1 if the token is an arrow matching the previous arrow's direction, or if the token is an odd integer. Otherwise output 0. Do it in O(1) time and O(1) space per token.
  • Given up to a million strings (potentially Unicode), return all strings that appear more than once along with their frequencies. Compare hash-based vs external sort approaches, address memory constraints, and discuss how you'd handle strings that are semantically equivalent but encoded differently.

“I started with BFS and encoded the board as a flattened tuple so it could go into a visited set.”

View Post

Optiver·Software Engineer·Technical Phone Screen

May 2026
Second tech round at Optiver for a quant engineering role. The whole thing was a live market-making simulation where you trade against bots, and the real test is whether you can keep your EV math updated in real time while the bots are actively trying to mess with you.
  • In a live simulation where bots are posting bids and offers, how do you decide which trades to take, which to leave, and when to pass entirely? How do you update your decision rule as new information comes in?

“This is basically a continuous EV estimation problem under adversarial conditions.”

View Post

Optiver·Software Engineer·Technical Phone Screen

May 2026
Optiver coding round for a software engineer role. The problem was a logistics scheduling scenario where you implement a function to assign cargos to planes given capacity and timing constraints. More involved than a typical leetcode problem since you're working within a provided class structure rather than starting from scratch.
  • You're given a logistics system where orders contain multiple cargos, and planes have fixed departure times and capacities. An order can only be loaded onto planes departing at or after the order's release time, and cargos from one order can be split across planes. Implement a function that determines whether an order can be fully accepted, returns the cargo-to-plane assignment if so, and updates each plane's remaining capacity. A class skeleton with Order, Plane, Cargo, and a Scheduler class is provided.

“The setup took me a minute to absorb.”

View Post

Optiver·Software Engineer·Technical Phone Screen

May 2026
Phone screen for a software engineering role at Optiver, centered on a freight-scheduling system written in Python. Three-part deep dive: code review for correctness, complexity analysis and data structure improvements, then concurrency and scalability. The codebase was handed to you and you had to both implement and then critique your own work, which is a weird but effective format.
  • You've just implemented process_order in a freight-scheduling codebase. Step back and critically review the entire codebase for bugs and unhandled corner cases. What categories of issues would you look for and how would you verify them under time pressure?
  • What is the time complexity of the baseline process_order implementation, and which data structures would you change to improve it across m orders and n planes?
  • Is this scheduler thread-safe as written? Walk through exactly what goes wrong under concurrent order processing, then design an approach to make it safe. What would you change if order volume outgrows a single machine?
  • How would you support order cancellation or plane removal without breaking the amortized complexity you described?
  • If the process crashes mid-allocation, what state could be corrupted and how would you add durability to recover cleanly?
  • How would you test the concurrent version of the scheduler to reliably catch oversold capacity?

“This one tripped me up because I'd just written the function and felt weirdly defensive about reviewing it.”

View Post

Optiver·Software Engineer·Technical Phone Screen

May 2026
Optiver quant engineer interview with a brain-teaser style sequence question. Pretty classic Optiver flavor, pattern recognition under pressure.
  • Find the missing number in the sequence: 2, 2, 3, 4, 5, 8, 8, ?, 16. What pattern explains it and what is the missing value?

“Stared at this for a bit trying to find one clean rule across all nine terms and got nowhere fast.”

View Post

Optiver·Data Scientist·Technical Phone Screen

May 2026
Quant-style probability round at Optiver for a Data Scientist role. The whole thing was basically one extended brain teaser about waiting for a bus, but they kept layering on complexity and asking you to justify every assumption out loud.
  • A bus arrives exactly every 10 minutes on a fixed schedule. You show up at a random time with no knowledge of the schedule. What is your expected waiting time until the next bus?
  • Now each bus independently has a 50% chance of running late. The definition of 'late' is left vague. State a precise model, justify it, compute the expected wait, and then explain how the answer changes under a different reasonable model.
  • If buses arrived as a Poisson process with the same mean headway of 10 minutes, what would the expected wait be, and why does memorylessness change the answer compared to the fixed-schedule case?
  • In the fixed-delay model where a late bus is delayed by exactly delta minutes, how does the expected wait behave as a function of delta? What happens when delta equals 10?
  • Argue that among all stationary arrival processes with a mean gap of 10 minutes, the perfectly regular schedule minimizes a random passenger's expected wait.

“Seems trivial until you actually have to justify every step.”

View Post

Optiver·Data Scientist·Technical Phone Screen

May 2026
Optiver data scientist interview that went deep into probability and betting theory across three separate games. The whole thing felt like a quant interview wearing a data science costume, which I was not fully prepared for.
  • Given a dice game, a coin flip game, and a card draw game each with their own payout structures, estimate the expected value and variance for each available bet and identify which bets are positive expected value.
  • Across all the available bets in these three games, determine whether a risk-free arbitrage exists and if so construct an allocation that guarantees a nonnegative payoff in every outcome with at least one strictly positive payoff.
  • For a bankroll B over T rounds with at least one positive-EV bet available, propose a bet-sizing strategy and compare full Kelly, fractional Kelly, and fixed-fraction approaches. Justify your choice given the edge and variance of the bets.
  • Under your chosen bet-sizing strategy, compute or approximate the probability that cumulative profit after T rounds is positive. State your assumptions and use appropriate approximations like the normal distribution or CLT, and discuss the tradeoff between accuracy and speed for mental estimation.

“The dice part was fine, I can compute doubles probability in my sleep.”

View Post