In the cutthroat fintech arena, Optiver's recruitment is highly attractive, and the Optiver OA is the crucial first step into a quantitative finance career. For those eyeing quant, this stage tests not a single skill but a combination of number sense + probability intuition + coding fundamentals + game-theory thinking. Below is a type-by-type breakdown, each with a solution and a transferable mental-math tip.
1. Type Overview
| Type | What it tests | Key tip |
|---|---|---|
| Number Logic | Find the sequence pattern | First differences, then second differences |
| Beat The Odds | Binomial probability | C(n,k)·p^k·(1-p)^(n-k) |
| Programming | Coding fundamentals | Get the edges right; don't show off |
| Brain Game | Hat parity puzzle | Pass one bit via parity |
2. Number Logic: Find the Sequence Pattern
Question: What is the next number in the sequence: 2, 6, 12, 20, 30, ...?
Approach: Compute the adjacent differences: 4, 6, 8, 10—a second-order sequence with a common difference of 2. So the next difference is 12, and the next term = 30 + 12 = 42.
# verify: the n-th term = n*(n+1)
seq = [n * (n + 1) for n in range(1, 7)]
# [2, 6, 12, 20, 30, 42]
Mental-math tip: The first step on a sequence question is always the first differences; if those are irregular, look at second differences or ratios. Here the first differences form an arithmetic progression, the classic quadratic sequence n(n+1).
3. Beat The Odds: Binomial Probability
Question: You have a 60% chance of winning each play. If you play 3 times, what is the probability of exactly 2 wins?
Approach: A textbook binomial problem. P(X=2) = C(3,2) · (0.6)² · (0.4)¹.
$$P(X=2) = 3 \times 0.36 \times 0.4 = 0.432$$
Answer: 0.432 (43.2%).
from math import comb
def binomial(n, k, p):
return comb(n, k) * (p ** k) * ((1 - p) ** (n - k))
print(binomial(3, 2, 0.6)) # 0.432
Mental-math tip: On a binomial question, fix C(n,k) first (here it's 3), then multiply by p^k and (1-p)^(n-k). 0.6²=0.36, times 0.4 = 0.144, times 3 = 0.432—all doable in your head. Optiver often wants an answer within 30 seconds, so the formula must be muscle memory.
4. Programming: Coding Fundamentals
Question: Write a Python function to check whether a string is a palindrome.
def is_palindrome(s: str) -> bool:
return s == s[::-1]
print(is_palindrome("racecar")) # True
print(is_palindrome("hello")) # False
Watch out: Optiver's programming questions are usually not tricky; they test correctness and edges rather than fancy algorithms. If the prompt says to ignore case or non-letter characters, normalize first:
def is_palindrome_clean(s: str) -> bool:
cleaned = [c.lower() for c in s if c.isalnum()]
return cleaned == cleaned[::-1]
Don't show off on an easy question—clear, correct, and edge-covered is the full-mark answer.
5. Brain Game: Hat Parity Puzzle
Question: 100 people stand in a line, each wearing a red or blue hat. Everyone can see the others' hats but not their own, and they must guess their own color simultaneously. What strategy maximizes the number of correct guesses?
Answer: Encode information using the parity of blue hats.
- The first person (at the back of the line, able to see everyone ahead): say "blue" if they see an odd number of blue hats, "red" if even. This broadcasts a single bit—the parity of the total blue-hat count (they have a 50% chance of being wrong themselves and are the only one who may be sacrificed).
- Everyone after: combine the "initial parity" with the colors they've already heard called out by people behind them, and deduce their own hat color—guaranteeing at least 99 correct guesses.
Let the initially announced parity be P (parity of blue hats).
Person k = P XOR (parity of blue hats they see ahead) XOR (parity of blue hats heard behind)
deduces whether they are blue.
Tip: For these "simultaneous guessing + shared information" puzzles, the core is almost always passing one bit via parity. Recognize the pattern and you can instantly solve a whole class of variants.
6. Summary
Optiver OA's four types test, respectively: number sense (sequence differencing), probability intuition (the binomial formula), coding fundamentals (correctness + edges), and game-theory thinking (parity passes a bit). When preparing, don't only grind algorithms—drill mental-math speed and the probability formula to reflex, and for puzzles, build up classic "parity / information-theory" patterns.
FAQ
Q1: What question types does the Optiver OA cover?
Four types: Number Logic (sequence patterns), Beat The Odds (binomial probability), Programming (coding fundamentals), and Brain Game (puzzles / game theory). It leans toward quant thinking, not pure algorithm grinding.
Q2: What if I'm stuck on a sequence question?
Fixed routine: compute first differences; if irregular, compute second differences or adjacent ratios. Here the first differences 4,6,8,10 form an arithmetic progression, matching the n(n+1) type, so the next term is 42.
Q3: How do I compute probability questions fast?
Memorize the binomial formula C(n,k)·p^k·(1-p)^(n-k) and compute step by step: C(n,k) first, then the powers. Optiver often wants an answer within 30 seconds, so the formula must be muscle memory.
Q4: What is the general method for the hat puzzle?
Pass one bit via parity: the first person announces the parity of one hat color, then each subsequent person combines the initial parity with known information to deduce their own, guaranteeing n-1 correct. Spotting the parity pattern solves most variants.
Preparing for the Optiver OA?
The Optiver OA tests a four-way combination of number sense + probability + programming + game theory. oavoservice offers dedicated quant OA mock support: timed mental-math drills for sequences / probability, puzzle-pattern walkthroughs, and edge-case polishing for coding questions, with question-type prediction and a practice plan tailored to your role. Coaches know the scoring cadence of quant firms like Optiver.
Add WeChat Coding0201 now to get quant OA questions and mock practice.
Contact
- WeChat: Coding0201
- Email: [email protected]
- Telegram: @OAVOProxy