Citadel

Citadel Software Engineer Onsite Coding Questions

61+ questions from real Citadel Software Engineer Onsite Coding rounds, reported by candidates who interviewed there.

61
Questions
8
Topic Areas
10+
Sources

What does the Citadel Onsite Coding round test?

The Citadel onsite coding round is the core technical evaluation. Software Engineer candidates typically see 2-3 algorithm and data structure problems. Problems range from medium to hard difficulty, and interviewers evaluate both correctness and code quality.

Top Topics in This Round

Citadel Software Engineer Onsite Coding Questions

### Problem Overview - Find all distinct goodness values for this problem, where goodness is the bitwise-OR of any strictly increasing subsequence, and return them sorted. - Input: int arr[n]; Output:

First Coding Interview I was given a to reverse a given string. It was easy. void reverse(char begin, char end) { \t\t\t// to do function } void reverseString(std::string str) { \treverse(str.data(), str.data() + str.size()); } int main() { std::string str = "Reverse"...

LeetCode #295: Find Median from Data Stream. Difficulty: Hard. Topics: Two Pointers, Design, Sorting, Heap (Priority Queue), Data Stream. Asked at Citadel in the last 6 months.

LeetCode #1801: Number of Orders in the Backlog. Difficulty: Medium. Topics: Array, Heap (Priority Queue), Simulation. Asked at Citadel in the last 6 months.

LeetCode #127: Word Ladder. Difficulty: Hard. Topics: Hash Table, String, Breadth-First Search. Asked at Citadel in the last 6 months.

LeetCode #348: Design Tic-Tac-Toe. Difficulty: Medium. Topics: Array, Hash Table, Design, Matrix, Simulation. Asked at Citadel in the last 6 months.

LeetCode #150: Evaluate Reverse Polish Notation. Difficulty: Medium. Topics: Array, Math, Stack. Asked at Citadel in the last 6 months.

LeetCode #1004: Max Consecutive Ones III. Difficulty: Medium. Topics: Array, Binary Search, Sliding Window, Prefix Sum. Asked at Citadel in the last 6 months.

LeetCode #155: Min Stack. Difficulty: Medium. Topics: Stack, Design. Asked at Citadel in the last 6 months.

LeetCode #1244: Design A Leaderboard. Difficulty: Medium. Topics: Hash Table, Design, Sorting. Asked at Citadel in the last 6 months.

LeetCode #3484: Design Spreadsheet. Difficulty: Medium. Topics: Array, Hash Table, String, Design, Matrix. Asked at Citadel in the last 6 months.

LeetCode #332: Reconstruct Itinerary. Difficulty: Hard. Topics: Array, String, Depth-First Search, Graph Theory, Sorting, Heap (Priority Queue), Eulerian Circuit. Asked at Citadel in the last 6 months.

#2050 Parallel Courses III

Dynamic Programming

LeetCode #2050: Parallel Courses III. Difficulty: Hard. Topics: Array, Dynamic Programming, Graph Theory, Topological Sort. Asked at Citadel in the last 6 months.

## Problem: Minimum Path to Target in a Binary Tree (Variant of LC 112) Given the root of a binary tree `root` and an integer `targetSum`. A **root-to-leaf** path is a sequence of nodes starting at t

## Problem: Refactor and Optimize a Slow Function Given an integer array `output` (length `n`, `n >= 1`), you need to refactor and speed up a “correct but slow” implementation. The final return valu

You are given a stream of order records. Each record has: - `exchange_id`: exchange identifier (string) - `price`: price (integer) - `quantity`: quantity (positive integer) - `order_type`: side (`"bi

Implement a system that supports task insertion, deletion, and execution. The implementation should use a priority queue with lazy deletion. ### Sample Input ``` "add task1 with priority 1, add task3

Implement a data structure that supports weighted insertion and deletion, and allows for random sampling by weight. ### Sample Input ``` "insert 5, insert 10, delete 5, sample" ``` ### Sample Output

Write a simulation of the 2048 game. Encode and decode the game state to and from a compressed long long integer. ### Sample Input ``` "[[0,2,4,8],[16,32,64,128],[256,512,1024,2048],[4096,8192,16384,

Implement a Binary Search Tree (BST) class from scratch in C++ with the following functions: insert, search, delete. ### Sample Input ``` Insert: [5, 3, 6, 2, 4, 7], Search 4, Delete 3, Search 3 ```

What to Expect in the Citadel Onsite Coding Round

The Citadel Software Engineer Onsite Coding round has a specific calibration purpose distinct from other rounds in the loop. Across 61+ verified reports on LeakCode for this exact round type, the consistent expectations: clear scoping of the problem before diving into a solution, explicit reasoning about complexity, structured handling of edge cases, and the ability to discuss trade-offs between two reasonable approaches.

Reports tagged with the Onsite Coding round at Citadel show recurring patterns in difficulty and topic distribution. The Onsite Coding round is typically 45-60 minutes; the interviewer is calibrated against a specific rubric. The discriminator between candidates who advance and candidates who do not is rarely the final correctness of the answer. It is the path: did you clarify, did you verbalize your approach, did you handle edge cases, and did you communicate throughout.

How To Prepare for This Specific Round

Filter the questions below to the most recent reports (past 6-12 months). Questions tagged for this exact round type from this exact company at this exact role level are the highest-signal data available. Older reports may reference questions that have since rotated out of the company's pool.

Practice 4-6 representative problems from this set under timed conditions. The goal is not memorization (companies rotate questions); the goal is to internalize the patterns the interviewer typically reaches for and the depth of follow-up to expect. Reports on LeakCode also tag the typical follow-up depth at this round type, which is the discriminating signal between hire and no-hire calibration.

Onsite Coding Round Timing and Format

The Onsite Coding round at Citadel typically runs 45-60 minutes. Use the first 2-3 minutes to clarify requirements; you should never start coding or designing without verifying the input/output format, constraints, and edge cases out loud. Use the next 5-7 minutes to verbalize your approach before writing any code. The middle 20-30 minutes are implementation. Reserve the final 10 minutes for testing with concrete examples and discussing optimization or trade-offs.

Time budget discipline is one of the most reliable senior-vs-junior discriminators in this round. Strong candidates verbalize where they are in their budget out loud ("I've used about 20 minutes, I have 15 minutes left for testing and one optimization"). This signals engineering maturity to the interviewer and creates positive feedback they can capture in writing.

Common Failure Modes in This Round

Reports tagged "no hire" at Citadel Software Engineer Onsite Coding commonly cite: coding silently without verbalizing approach, jumping to implementation before clarifying requirements, missing edge cases (empty input, single element, very large input), producing working code that the candidate cannot refactor when asked, and failing to test their solution with concrete examples before declaring done.

The single most predictive failure mode in 2025-2026 reports: not asking clarifying questions. Interviewers at all FAANG companies are explicitly trained to weight this dimension. Strong candidates ask 3-5 clarifying questions even on problems that look obvious; weak candidates dive into code immediately. The clarifying-question check is often the first signal recorded in the interviewer's notes.

See All 61 Questions from This Round

Full question text, answer context, and frequency data for subscribers.

Get Access