Citadel Data Scientist Interview Experience — Battleship Design and an Async DAG Optimization

Citadel·Data Scientist·Nov 2025
Technical Screenmedium

Sharing two questions I got when I interviewed for Citadel EQR in November 2025, for anyone preparing. It was a while ago, so this is mostly put together from memory.

Question 1: Battleship design

This one was mainly a discussion about how to design Battleship. I started from the basic classes and interfaces, then talked through the game operations, the board state, and how to determine whether an attack hits a ship, and so on.

Question 2: Reading and optimizing a Python async DAG codebase

The interviewer gave me a fairly large Python async task codebase, where the dependencies between tasks are represented as a DAG. The code ran slower than expected, and I had to read through the existing implementation, find the cause, and optimize it.

The focus of the investigation was the startup time of each job. The optimization idea after that was to merge any job that has only one parent into its parent, which reduces the number of job startups and so cuts the startup overhead. In the end I had to implement two functions for the merging in the existing code.

I don't remember the full constraints on the merge conditions clearly, or the exact interface of each of the two functions, so I'll leave them out rather than mislead anyone.

Hope this helps anyone preparing for the EQR interview!

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
Role
Data Scientist
Rounds
Technical Screen
Difficulty
medium
Interview date
Nov 2025
Questions from this interview
2 questions

Real Citadel interview experiences

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

All 22 Citadel interview experiences