Citadel Securities Software Engineer Interview Experience — Lock-Free Producer-Consumer, Currency Arbitrage, and an Order Book

Citadel Securities·Software Engineer·Sep 2026
Onsitemedium
  1. Implement a threaded producer-consumer, optimize from a mutex and then a spin lock.
  2. A list of currency conversions: determine if an arbitrage opportunity exists. Find the sequence of conversions to make money.
  3. Implement an order book data structure: maintain the order of incoming ask/bid/qty price, aggregate.
    Cancel an order without impacting other orders.
  4. Implement a smart queue: maintain the order of incoming ticker updates, only the most recent price.
  1. Memory order, mutex-based implementation. Then improve it with lock-free.
  2. Network/compiler:
  3. Pushing quotes of stock symbols, implement a queue to handle the ask price of a stock.
  4. Needs to be in relevant order. Instead of a string, you can use an Enum.
    What if big prices are negative ints? How to handle that? Pls use variants, optimal.

Advice:

std::queue/list, APIs, internal implementation. Memory allocation.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Citadel Securities
Role
Software Engineer
Rounds
Onsite
Difficulty
medium
Interview date
Sep 2026
Questions from this interview
4 questions

Real Citadel Securities interview experiences

First-hand reports from Citadel Securities candidates — the rounds, the questions they were asked, and how it went.

All 6 Citadel Securities interview experiences