Logo

Citadel Quant Developer Interview Questions

I collated a list of questions that I was asked while interviewing for CitSec, from the OA all the way to the final round.

Citadel Quant Developer Interview Questions
By Coding Jesus

Last year I interviewed at CitSec and some other firms for a role as a Quantitative Developer.

The process was difficult, but I wrote down everything that I was asked so that I can better hone my skills and assess where I need to improve.

Interview Prep Notes – Compiled by CJ

Algo · Lower Level (C++/OS/HW) · Quant Dev

About these notes

Answers, where they exist, are abridged and may be inaccurate. Each section contains:

  • Conceptual questions – questions I was explicitly asked.

  • Coding questions – questions I was explicitly asked.

  • Extras – additional questions and coverage checks used during prep.

Questions may not be representative of generic interviews. They are likely tailored to my background.

Quant

Coding Questions

Case-study style questions

Obscured algo questions, with lots of prompting for requirements and context before implementation.

  • Many places: Implement a simplified matching engine. Similar to LeetCode 1801 – Number of Orders in the Backlog, often with twists.

    • IMC has a fairly interesting twist, asked in its final round. See this problem.

  • k-sorted array.

  • Optimal allocation of batched fills. Roughly, you have internal buy and sell client orders that are executed externally every N seconds. On each fill, you want to distribute the filled quantities to the internal clients so that it is “fair” and their orders are maximally filled. This was an open-ended, case-study-style question, with lots of discussion about what constitutes “fairness,” constraints, and so on. The best place to start is by implementing an orderbook, after which you can take a deeper dive into orders by testing your ability to identify iceberg orders.

  • Implement a very simplified backtest system. You get a stream of TOB data with capture and transact time. The strategy only has one outstanding order at a time. I cannot find the exact question, but doing this one will give you the background you need to understand how to handle incremental and snapshot updates.

  • Auction matching system. Given a list of bids and asks at different prices, choose a price that maximizes execution volume. I could not find this problem anywhere, so I created it myself here.

  • Travelling salesman problem. A common problem in computer science. It was this one exactly.

Pure algo style questions

Miscellaneous places, 2024

Miscellaneo

You're one step away from reading the rest.

Sign up free to read the rest of this post. No paywall, commitment, or strings attached.