Katkat

practice a little every day, paws crossed ♡

Software Engineer Interview Questions

Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.

9403
Questions
546
Companies
11
Topics
8
Languages

Showing 1471–1500 of 5874 results

  • CitadelMediumSoftware Engineer
    Implement a single-producer multi-consumer ring buffer

    This question evaluates understanding of ring-buffer data structures, circular indexing, fixed-capacity storage, and object-oriented design for a single-producer, multi-consumer implementation in C++.

    Coding & AlgorithmsTechnical Screen
  • CitadelEasySoftware Engineer
    Implement an in-memory order book API

    This problem tests your ability to design an in-memory data structure for an order book using efficient data structures to support order management and price-level aggregation.

    Coding & AlgorithmsTechnical ScreenData StructuresHash MapTree
  • CitadelMediumSoftware Engineer
    Implement array merge, round-robin scheduler, and trading simulator

    This problem tests your ability to manipulate data structures efficiently, implement a fair process scheduler, and manage event-driven state transitions.

    Coding & AlgorithmsOnsiteArraysQueuesHeaps
  • CitadelMediumSoftware Engineer
    Implement task queue with insert, delete, execute

    This question evaluates a candidate's ability to design and implement efficient dynamic priority management, including priority ordering, insertion-order tie-breaking, and support for add, remove, and execute operations.

    Coding & AlgorithmsOnsite
  • CitadelMediumSoftware Engineer
    In-Memory Spreadsheet with Formulas, Cycle Detection and Read vs Write Computation

    Implement a simplified in-memory spreadsheet in Python with set_cell, set_formula and get_cell, where formulas use the four arithmetic operators and may reference other formula cells. Follow-ups test circular-reference detection, legal repeated references, and the trade-offs of computing values on read versus on write, including caching and invalidation.

    Software Engineering FundamentalsTechnical Screen
  • CitadelMediumSoftware Engineer
    Maximize Earnings by Adding Working Days

    Maximize schedule earnings by changing at most k days off into working days, balancing fixed daily pay with bonuses for consecutive working days.

    Coding & AlgorithmsTechnical Screen
  • CitadelMediumSoftware Engineer
    Maximize Earnings by Converting Days Off

    Tests dynamic programming and state tracking to maximize daily earnings and consecutive work streak bonuses under a budget of schedule changes.

    Coding & AlgorithmsHR Screendynamic-programmingalgorithmssliding-window
  • CitadelMediumSoftware Engineer
    Merge K Drone Telemetry Streams Into a Running Altitude Timeline

    Interleave K drones' individually time-ordered altitude logs into a single replay and track the fleet's shared altitude total as each logged change is applied. Tests k-way merging with a heap, a deterministic tie-break across drones, and correct handling of negative deltas and drones with no events.

    Coding & AlgorithmsTechnical Screenheapmerge-intervalsstreaming
  • CitadelMediumSoftware Engineer
    Merge K Timestamp-Sorted Price Feeds into a Running Absolute Price

    Merge K price-event feeds, each already sorted by timestamp, into one chronological stream and return the running absolute price after every event, starting from zero. It tests merging sorted sequences efficiently, a deterministic tie-break for equal timestamps by feed index and then in-feed order, negative deltas, empty feeds, and 64-bit accumulation.

    Coding & AlgorithmsTechnical Screen
  • CitadelMediumSoftware Engineer
    Merge K timestamped lists with timestamp coalescing

    This problem tests your ability to efficiently merge multiple sorted streams of data and aggregate values associated with the same timestamp.

    Coding & AlgorithmsTechnical ScreenHeapMerge SortData Streams
  • CitadelMediumSoftware Engineer
    Minimize Changes to Make Every Password Block Palindromic

    Tests string manipulation and two-pointer techniques to determine the minimum character replacements needed to make independent fixed-length blocks palindromic.

    Coding & AlgorithmsHR Screenstringstwo-pointersgreedy
  • CitadelMediumSoftware Engineer
    Minimize changes for k-periodic palindrome

    This question evaluates understanding of string algorithms and combinatorial reasoning, focusing on palindrome properties combined with k-periodicity and the ability to minimize character changes under global constraints.

    Coding & AlgorithmsOnline Assessment
  • CitadelMediumSoftware Engineer
    Minimize image processing cost with discount

    This question evaluates a candidate's competence in algorithm design and optimization, including interval-based cost aggregation and modular arithmetic for large-number results within the Coding & Algorithms domain.

    Coding & AlgorithmsOnline Assessment
  • CitadelMediumSoftware Engineer
    Order Book With Per-Exchange BBO and Cross-Exchange NBBO Queries

    Design and implement an in-memory order book that aggregates quantity by exchange, side and price, and answers per-exchange best bid and offer and cross-exchange NBBO queries. It tests heap ordering with lazy deletion, keeping the global view consistent when any exchange's best price moves, and precise amortized complexity analysis.

    Software Engineering FundamentalsTechnical Screen
  • CitadelMediumSoftware Engineer
    Perform an External Merge Sort with a Heap

    Implement an external merge sort simulation that partitions a data stream into memory-bounded sorted runs and merges them using a min-heap.

    Coding & AlgorithmsOnsiteExternal SortHeapStreaming
  • CitadelEasySoftware Engineer
    Read and Write Files with Shared Content

    Design an in-memory file system that shares identical content payloads across multiple file paths to save memory, supporting reads, writes, and deduplication tracking.

    Coding & AlgorithmsTechnical ScreenHash TableDesignString
  • CitadelMediumSoftware Engineer
    Refactor a Correct but Quadratic C++ Routine Under a Microsecond Budget

    Optimize an inefficient, quadratic tree-resolution routine into a linear-time, cache-friendly implementation suitable for ultra-low-latency execution.

    Software Engineering FundamentalsOnline AssessmentTreePerformance OptimizationGraph Traversal
  • CitadelMediumSoftware Engineer
    Return a Valid Dependency Order for Named Tasks

    Implement a deterministic topological sort for a directed acyclic graph of named tasks with cycle detection and lexicographical tie-breaking.

    Coding & AlgorithmsTechnical ScreenGraphTopological SortHeap
  • CitadelMediumSoftware Engineer
    Return nodes on a tree diameter path

    This problem tests your ability to perform a two-pass Breadth-First Search (BFS) or Depth-First Search (DFS) on an undirected tree to find the longest path and reconstruct the sequence of nodes that form it.

    Coding & AlgorithmsTechnical ScreenTreesGraph TheoryBFS
  • CitadelMediumSoftware Engineer
    Simulate 2048 and pack board into uint64

    This question evaluates proficiency in implementing deterministic game-state logic and compact binary representations, specifically array manipulation and merge semantics for 2048 slide operations plus bit-level packing/unpacking of 4-bit exponent fields.

    Coding & AlgorithmsOnsite
  • CitadelMediumSoftware Engineer
    Top-K Largest Elements in Every Sliding Window

    Design an algorithm to maintain and extract the top-K largest elements in descending order for each sliding window of size W across an array.

    Coding & AlgorithmsTechnical ScreenSliding WindowHeapOrdered Set
  • CitadelMediumSoftware Engineer
    Two-Player Terminal Battleship: Ship Placement From Input, Then Turn-Based Attacks

    Build a two-player Battleship game as a class that runs in the terminal, with players taking turns to place ships by typing coordinates and sizes, then extend it so they can attack each other's fleets. It tests object modeling, input parsing and validation, turn handling, and delivering a large amount of working code under time pressure.

    Software Engineering FundamentalsTechnical Screen
  • Citadel SecuritiesMediumSoftware Engineer
    Define a Reliable Trade-Reconciliation Library Contract

    Define trade-reconciliation contracts and OOP boundaries with exact values, timestamp tolerance, partial-fill questions, deterministic policy ownership, and traceable breaks.

    Software Engineering FundamentalsTechnical Screen
  • Citadel SecuritiesMediumSoftware Engineer
    Design a Top-Ten Trade Query with Exact Amounts

    Design a top-ten trade query around an explicit ranking contract, exact monetary aggregation, bounded heaps, timestamp boundaries, and mutable-score streaming tradeoffs.

    Software Engineering FundamentalsTechnical Screen
  • Citadel SecuritiesMediumSoftware Engineer
    Detect Currency Arbitrage and Return a Profitable Conversion Cycle

    Given a list of currency conversion rates, determine whether an arbitrage opportunity exists and return a sequence of conversions that ends in the starting currency with more money than it began with. Tests graph modeling, cycle detection, reconstruction of the profitable sequence, and handling of floating-point precision.

    Software Engineering FundamentalsOnsite
  • Citadel SecuritiesMediumSoftware Engineer
    Thread-Safe Producer-Consumer Queue: Mutex, Then Spin Lock, Then Lock-Free

    Implement a thread-safe producer-consumer queue in C++, first with a mutex, then with a spin lock, then as a lock-free design with explicit memory ordering. Tests the C++ memory model, contention and cache effects, blocking versus spinning, and where memory is allocated on the hot path.

    Software Engineering FundamentalsOnsite
  • CitiMediumSoftware Engineer
    Explain OS and networking basics

    This question evaluates a candidate's understanding of operating system and networking fundamentals, covering processes, threads and context switching, concurrency versus parallelism, TCP/UDP and flow versus congestion control, and the end-to-end web request and browser rendering pipeline.

    System DesignOnsite
  • CitiMediumSoftware Engineer
    Explain data structure fundamentals

    This question evaluates understanding of data structure fundamentals, specifically hash map internals (hashing, collision resolution strategies, load factor, and resizing), time complexity analysis for search/insert/delete, contrasts between arrays and linked lists for random access and insertion, and typical use cases and complexities for stacks versus queues. It is commonly asked in technical interviews to assess algorithmic thinking and the ability to reason about performance trade-offs and appropriate data structure selection; domain: Coding & Algorithms; level: tests both conceptual understanding and practical application.

    Coding & AlgorithmsOnsite
  • CitiMediumSoftware Engineer
    Solve two logic brain teasers

    This pair of puzzles evaluates logical deduction and optimization competencies—one testing information-theoretic reasoning with constrained ternary comparisons and the other testing sequencing and scheduling trade-offs for minimal total time—and belongs to the Cognitive Ability / Logic category.

    Statistics & MathOnsite
  • CitiMediumSoftware Engineer
    Walk through resume and impact

    This question evaluates a candidate's ability to communicate a coherent career narrative and demonstrate technical ownership, decision-making, trade-off analysis, and metrics-driven impact within a software engineering context, testing competencies in leadership, product sense, and measurable delivery under the Behavioral & Leadership category.

    Behavioral & LeadershipOnsite