PRACTICE GUIDE DRW
DRW Quant Developer Practice Test
DRW does not publish the shape of its quant developer screen, and candidates describe it as 2 to 4 problems questions in 60 to 120 minutes, roughly 20 to 40 minutes per question, written in a code editor and run against tests you cannot see.
Those are ranges across firms running this format rather than DRW's own figures, so treat them as the shape to train against and check the instruction screen on the day for the marking rule.
Outcry is not affiliated with DRW and has no access to their assessment content. This guide describes an assessment format that candidates report publicly; the questions here are generated by Outcry and are not DRW’s own.
What it screens
A Chicago-based principal trading firm covering fixed income, energy, crypto and real estate alongside its core trading business.
- ✓Reading concurrent code and pointing at the defective line
- ✓Order-book data structures: what happens on a cross, a cancel, a partial fill
- ✓Algorithmic complexity chosen for the input sizes stated in the problem
- ✓Monte Carlo methods and when a simulation beats a closed form
Where it sits at DRW
A Chicago-based principal trading firm covering fixed income, energy, crypto and real estate alongside its core trading business. What that means for the screen is that the questions tend to be drawn from the work rather than from a textbook, so the format below is the shape to train against rather than a syllabus.
Candidates also report 4 other screens at DRW, covered separately on this site. Where a firm runs several, they usually sit in one round rather than spread across the process, so the pacing of the whole set matters more than any single section.
The format
DRW does not publish this screen's shape, and it varies between firms, so these are the ranges candidates report rather than exact figures.
| Questions | 2 to 4 problems |
|---|---|
| Time | 60 to 120 minutes |
| Per question | 20 to 40 minutes |
| Negative marking | No |
| Answer style | Code editor, run against hidden tests |
| Where it sits | First technical round, usually on HackerRank or CoderPad |
What it tests, with a worked example
Every example below is generated by Outcry, drawn from the same question generators the timed drills run. None of them is DRW’s.
Data structure implementation
Build the thing rather than call it: an order book, a cache, a ring buffer. Graded by hidden tests, so there is no partial credit for an approach.
Reading someone else's code
A diff or a function with a bug in it, and the question is where.
Example 1
int count = 0;
for (int a = 0; a < 4; ++a)
for (int b = a; b < 4; ++b)
++count;What is the final value of count?
Answer 10
The inner loop runs 4, 3, … 1 times - that is 4·5/2 = 10.
Example 2
A lock-free SPSC ring buffer publishes its head index with memory_order_relaxed. What can go wrong?
- The index can wrap incorrectly
- The consumer may see the new index before the slot's data is visible
- The producer may block
- Nothing - SPSC needs no ordering
Answer The consumer may see the new index before the slot's data is visible
The publishing store needs release semantics to pair with the consumer's acquire load, or the buffer write can be reordered after it.
Example 3
Which change most reduces cache misses when summing a large matrix?
- Use a larger integer type
- Iterate in row-major order matching the memory layout
- Unroll the loop 2×
- Mark the accumulator volatile
Answer Iterate in row-major order matching the memory layout
Sequential access uses the whole cache line that was fetched. Striding across rows discards most of every line.
Edge cases
Empty input, one element, duplicates and overflow. The hidden tests always include them.
Statistics in code
Rolling windows, correlations and quantiles, implemented rather than imported.
Example
A regressor with no relationship to the outcome is added to an OLS model. What happens to R²?
- It falls or rises depending on the sign of the coefficient
- It cannot fall, and almost always rises slightly
- It is unchanged, because the variable is unrelated
- It falls, because the new variable adds noise
Answer It cannot fall, and almost always rises slightly
R² is one minus the residual sum of squares over the total, and adding a column can only give least squares more freedom, so the residual sum of squares cannot increase. With finite data a useless regressor picks up a little noise, so R² ticks up. That is exactly why ADJUSTED R² exists.
Probability behind the problem
Screens that look like coding questions and are really expectation questions.
Example
$18,000 is invested at 4.5% a year compounded annually. How many years does it take to reach $45,000?
Answer 20.817
Solve (1 + 0.0450)^t = $45,000 / $18,000 = 2.5000. Taking logs, t = ln(2.5000) / ln(1.0450) = 0.91629 / 0.04402 = 20.817 years. The base of the logarithm does not matter as long as both use the same one.
Reading a spec precisely
Return type, ordering and tie-breaking are graded, and are where most silent failures come from.
What a good score looks like
Coding screens are usually pass-fail on hidden tests rather than scored, and candidates commonly report that a solution passing every correctness test still fails on a timeout. Treat full marks as solving every problem inside the complexity bound, not merely solving it.
How to train for it
- 01State the complexity before you write. If it is worse than the input size allows, the approach is already wrong.
- 02Get the function signature exactly right before anything else. Return type and ordering are graded, and a correct algorithm behind a wrong signature scores zero.
- 03Practise without an autocomplete. The screens run in a bare editor, and the gap between writing code with help and without it is larger than most people expect.
TRAIN IT HERE
The drills that match each section
Concurrency Clash
Find the data race, name the fix - real C++ defect patterns, five levels.
Order Book
Matching-engine mechanics: crosses, cancels and partial fills.
Algorithm Lab
DP tables, Monte Carlo estimation and speed rounds at four difficulty tiers.
SIT THE FULL BATTERY
All the sections back to back on one clock, marked the way the real screen marks them, with a by-skill breakdown at the end. Included with any pass.
Also reported at DRW
Common questions
- Is the DRW quant developer test multiple choice?
- Reported as code editor, run against hidden tests. Formats move, so treat this as the shape rather than a guarantee.
- How long is the DRW quant developer test?
- Candidates report 2 to 4 problems questions in 60 to 120 minutes, roughly 20 to 40 minutes per question.
- Is there negative marking on the DRW quant developer test?
- No. A wrong answer costs nothing beyond the mark you would have earned, so leaving an item blank is never better than guessing at it.
- How do I practise for it free?
- Every drill linked on this page is free to play, with no account, inside a daily run cap. Questions are generated fresh each run, so there is nothing to memorise between attempts.
Hiring now: current DRW quant openings, refreshed daily.