← Back to Directory

Citadel interview notes, page 6 of 14

Large Enterprises

Most of these Citadel write-ups come from Software Engineers (106), then Data Scientists (33) and Machine Learning Engineers (1). The most reported rounds are the technical phone screen (111), the system design round (16), the onsite coding round (4) and the behavioral / leadership round (3).

140 interview notes · updated Oct 2026

Citadel·Software Engineer·Technical Phone Screen

May 2026
Citadel software engineer interview that went deep on BST internals, way deeper than I expected for what I thought would be a standard data structures check. They wanted you to actually know the mechanics of balancing, not just recite complexity.
  • Walk through the time complexity of insert, search, and delete on a BST in both average and worst case. What causes the worst case and how does the tree degenerate?
  • How would you modify your BST implementation to make it an AVL tree? Explain the node augmentation and when rotations fire.
  • How would you extend the BST to a Red-Black tree? What invariants do you need to maintain and how do recolor and rotation interact after insertions and deletions?
  • Compare AVL trees and Red-Black trees. When would you pick one over the other in practice?

“I knew the O(log n) average answer cold but fumbled explaining WHY the worst case is O(n).”

View Post

Citadel·Software Engineer·Technical Phone Screen

May 2026
Citadel SWE interview with two algorithmic questions back to back. The first was a geometry-flavored interval problem and the second jumped into combinatorics. Both had a twist that punished naive solutions.
  • Given n employees with working-time intervals, find the largest team you can form where one designated 'core' employee's interval overlaps with every other member's interval. Your solution needs to run better than O(n²).
  • Count the number of sequences of length m over n distinct processes such that no two consecutive positions in the sequence have the same process. Return the answer modulo 10^9 + 7.

“I saw the overlap condition and immediately thought brute force: for each employee try them as core and count overlaps.”

View Post

Citadel·Data Scientist·Technical Phone Screen

May 2026
Citadel Data Scientist technical screen, one meaty Python generator question that took up the whole session. Harder than I expected for a DS role, felt more like a software engineering interview.
  • Write a Python generator called merge_unique(a, b) that lazily merges two non-decreasing iterables (potentially infinite) into one sorted stream with duplicates removed, using only yield and built-ins. You need to prove laziness with a minimal example, handle unbounded inputs without pre-buffering, and avoid quadratic behavior on long runs of equal elements. Include unit tests covering correctness and laziness.

“This wrecked me a little.”

View Post

Citadel·Data Scientist·Technical Phone Screen

May 2026
Citadel data scientist interview with a coding question that was more algorithmic than I expected. They gave you two tables worth of data as Python dicts and wanted you to implement a left join from scratch, no pandas, no nothing.
  • Given two lists of dictionaries representing an orders table and a customers table, write Python code without any third-party libraries to perform a left join on the 'customer' key. Then explain how you'd get the solution down to O(N+M) time using hashing.

“My first instinct was the nested loop approach and I just started coding it.”

View Post

Citadel·Data Scientist·Technical Phone Screen

May 2026
Citadel Data Scientist interview with a pretty meaty coding problem centered on implementing a left join from scratch in pure Python. No libraries, no shortcuts, and they wanted you to think through complexity and edge cases out loud.
  • Implement a left join in pure Python using only built-in data structures. Inputs are two lists of dicts sharing an 'id' key. The function must preserve left-side order, handle one-to-many matches on the right, emit a None-padded row when there's no match, run in O(n + m) time and space via hashing, and gracefully handle rows missing the 'id' key entirely.

“This looked manageable at first and then I kept discovering new constraints.”

View Post

Citadel·Software Engineer·Technical Phone Screen

May 2026
Citadel software engineer interview that was basically one long technical deep-dive. They wanted you to walk through your whole background and then pick your biggest project and dissect it completely. Also a relocation question thrown in at the end, which felt a bit administrative but whatever.
  • Walk me through your current role and responsibilities, then do a detailed deep-dive on the largest-scope project you've worked on. Cover the objectives, architecture and design decisions, your specific contributions, the key technical challenges you faced, trade-offs you made, how you measured success, and what the business impact was.
  • Are you open to relocating? If so, where would you consider moving, and are there any timing constraints or limitations on your end?

“This is basically the whole interview in one question.”

View Post

Citadel·Software Engineer·Onsite - Multi Round

May 2026
Did two first-round interviews for a Citadel intern role and they were nothing like I expected. No leetcode, just very open-ended design questions rooted in my own past experiences. Felt pretty lost the whole time and ran out of time before I could get to any end-to-end implementation.
  • Open-ended design question based on your own past experiences (no system design, no coding).

“This format completely blindsided me.”

View Post

Citadel·Software Engineer·Technical Phone Screen

May 2026
Citadel software engineer interview with a low-level systems coding question. The problem was scoped but had some nuance around thread safety that they wanted you to think through after the main implementation.
  • Implement a fixed-capacity ring buffer in C++ for a single-producer, multiple-consumer scenario. The class should support push, pop, empty, full, and size operations, all in O(1) time using circular indexing on a preallocated array. After coding it up, explain how you'd extend the design to be truly thread-safe.

“The core ring buffer wasn't too bad.”

View Post

Citadel·Software Engineer·Technical Phone Screen

May 2026
Citadel software engineer interview with a binary search problem. Clean algorithmic question, nothing too wild, but the O(log n) constraint is the whole point so you better not miss it.
  • Given a sorted array of integers and a target value K, return the index range [first, last] representing the first and last positions where K appears. If K isn't in the array, return [-1, -1]. Your solution must run in O(log n).

“The O(log n) requirement is basically screaming 'binary search' at you, but the tricky part is you need two separate searches: one to find the leftmost occurrence and one for the rightmost.”

View Post

Citadel·Software Engineer·Technical Phone Screen

May 2026
Citadel coding round, pretty standard algo stuff. Got an LRU cache question which I'd seen before but still fumbled parts of the implementation under pressure.
  • Implement an LRU cache with get and put operations, both in O(1) average time. When the cache is full, evict the least recently used entry.

“I knew the answer going in, hash map plus doubly linked list, but translating that into clean code on the spot was rougher than I expected.”

View Post