150 Most Frequently Asked Questions On Quant Interviews
This document organizes, explains, and enriches 150 commonly asked quant interview questions across categories you’ll encounter when preparing for quant roles (quantitative researcher, quantitative developer, quant trader, data scientist, and quant-focused software engineering). It’s designed to be expressive and engaging: concise definitions, why the question matters, common solution strategies, and brief tips to help you answer clearly and confidently in interviews.
Use this as a roadmap: drill the fundamentals, practice coding and math under time pressure, and learn to communicate trade-offs and intuition as fluently as you show technical skill.
—Contents—
Each question below lists: the question, why it’s asked, a concise approach to answer, and a succinct tip. For longer algorithmic or derivation questions, a short outline of the solution is provided so you can reproduce or expand in interviews.
Final tips for interview success
If you want, I can:
Which follow-up would you like?
The book " 150 Most Frequently Asked Questions on Quant Interviews
" by Stefanica, Radoicic, and Wang is a staple resource for candidates preparing for quantitative roles in finance. It provides a targeted collection of problems and solutions across the core pillars of quantitative finance. Core Topics Covered
The questions in the book (which grew to over 200 in the 3rd edition) are categorized into several technical domains:
| # | Question | Difficulty | Key Idea |
|---|----------|------------|-----------|
| 116 | Write a function to compute Fibonacci numbers efficiently. | ★ | Memoization or iteration |
| 117 | What is the difference between a list and a tuple in Python? | ★ | Mutable vs immutable |
| 118 | How do you reverse a linked list? | ★★ | Iterate with prev/next |
| 119 | What is the complexity of quicksort? | ★ | Avg O(n log n), worst O(n²) |
| 120 | What is a hash table? | ★ | O(1) average lookup |
| 121 | Write a function to check if a string is a palindrome. | ★ | Two pointers |
| 122 | What is recursion? Example. | ★ | Function calling itself |
| 123 | What is the difference between depth-first and breadth-first search? | ★ | Stack vs queue |
| 124 | What is a binary search tree? | ★ | Left < root < right |
| 125 | How do you detect a cycle in a linked list? | ★★ | Floyd’s cycle detection |
| 126 | What is dynamic programming? | ★★ | Overlapping subproblems |
| 127 | Write a function to compute the nth prime. | ★★ | Sieve of Eratosthenes |
| 128 | What is the difference between a process and a thread? | ★ | Separate memory vs shared |
| 129 | What is a deadlock? | ★★ | Mutual waiting |
| 130 | What is the difference between map and reduce? | ★ | Apply vs aggregate |
| 131 | How do you sort a large file that doesn’t fit in memory? | ★★ | External sort |
| 132 | What is a generator in Python? | ★ | Lazy iteration using yield |
| 133 | What is a decorator? | ★★ | Wrapper function |
| 134 | What is the GIL in Python? | ★★ | Global interpreter lock |
| 135 | Write a function to compute the dot product of two vectors. | ★ | sum(a*b for a,b in zip(v1,v2)) | 150 Most Frequently Asked Questions On Quant Interviews
Sample Questions: 36. Put-Call Parity: Derive it and explain the arbitrage opportunity if it is violated. 37. Binomial Trees: Calculate the price of a European call using a 2-step binomial tree. 38. American Options: When is it optimal to exercise an American Call early? (Trick question: usually never, unless dividends). 39. Digital Options: How do you hedge a digital (binary) option? Discuss the challenges near the barrier. 40. Asian Options: Why are Asian options cheaper than European vanillas? (Volatility of the average is lower than volatility of the spot).
Now face-to-face with Elena, a poker-faced quant researcher.
Elena: "You flip a fair coin until you see 'Heads, Tails, Heads.' What’s the expected number of flips?"
Alex knows this is a Markov chain classic. He draws states: ∅, H, HT. Let E = expected from start. E = 1 + 0.5E(H) + 0.5E. Then E(H) = 1 + 0.5E(HT) + 0.5E(H). E(HT) = 1 + 0.5*E (since after HT, if T→reset, if H→HTH, game ends). Solving gives E = 10.
Elena: "Fine. Now, I randomly pick a number from a normal distribution N(0,1) and tell you it’s positive. What’s the expected value given that?" This document organizes, explains, and enriches 150 commonly
Alex: "That’s the mean of a truncated normal. E[X | X>0] = √(2/π) ≈ 0.798."
Elena: "Why not 0.5?"
Alex: "Because the normal is symmetric but we cut off half the distribution – the expected value shifts to the conditional mean, not the median."
She nods. "Let’s move to coding."