OUTCRY
4 of 4 runs leftEnter arcade

PRACTICE GUIDE   CITADEL SECURITIES

Citadel Securities Quant Developer Practice Test

Citadel Securities 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 Citadel Securities'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 Citadel Securities 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 Citadel Securities’s own.

What it screens

A market maker quoting across equities, options, fixed income and ETFs globally.

  • ✓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 Citadel Securities

A market maker quoting across equities, options, fixed income and ETFs globally. 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 5 other screens at Citadel Securities, 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

Citadel Securities does not publish this screen's shape, and it varies between firms, so these are the ranges candidates report rather than exact figures.

Questions2 to 4 problems
Time60 to 120 minutes
Per question20 to 40 minutes
Negative markingNo
Answer styleCode editor, run against hidden tests
Where it sitsFirst 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 Citadel Securities’s.

Complexity that is actually graded

Hidden tests sized so the naive solution times out. A correct answer that is too slow scores the same as a wrong one.

Reading someone else's code

A diff or a function with a bug in it, and the question is where.

Example

Position is accumulated in a double and the code tests `if (position == 0.0)` to detect flat. What goes wrong?

  • Comparing doubles is undefined behaviour
  • The compiler removes the comparison
  • 0.0 and -0.0 compare unequal
  • Accumulated rounding leaves a residue, so the test is false when the book is flat

Answer Accumulated rounding leaves a residue, so the test is false when the book is flat

Adding and subtracting fills in binary leaves a residue around 1e-15. Compare against a tolerance, or hold size in integer lots and never in a double.

Numerical and data handling

Floating point, aggregation and joins on data that does not fit the obvious shape.

Example

A price walks on the whole numbers 0 to N.
Each step it moves +1 with probability p and -1 with probability 1 - p, independently.
It stops the first time it touches 0 or N.

N = 8     start = 4     p = 0.6

One question, six parts. Each part uses the part before it.

Part 3 of 6. Now use p = 0.6. What is the probability the walk stops at N?

Answer 0.8350515463917525

With drift the answer is (1 - r^start)/(1 - r^N) where r = (1-p)/p = 0.6667. That is (1 - 0.1975) / (1 - 0.039) = 0.8351. Part 1 gave 0.5, so the drift is worth 0.3351 here.

Edge cases

Empty input, one element, duplicates and overflow. The hidden tests always include them.

Probability behind the problem

Screens that look like coding questions and are really expectation questions.

Example

[   2    2    1 ]
[  -4   -4   -2 ]
[   2    2    1 ]

What is the rank of the matrix above?

  • 3
  • 0
  • 2
  • 1

Answer 1

Row reduction leaves 1 nonzero row, so the rank is 1. Rank is the number of independent rows, which is also the number of independent columns, and it is at most 3 for a 3x3.

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

  1. 01State the complexity before you write. If it is worse than the input size allows, the approach is already wrong.
  2. 02Write the edge cases into your own tests first. That is where the hidden ones live.
  3. 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

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.

MOCK SCREENS

Also reported at Citadel Securities

Common questions

Is the Citadel Securities 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 Citadel Securities 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 Citadel Securities 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.