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 241–270 of 1026 results

  • Capital OneMediumSoftware Engineer
    Virtual Card Numbers Case: Trade-offs, Payment Validation Rules, Debugging

    A three-stage case interview on virtual credit card numbers. It covers the benefits and problems of virtual cards for cardholders and the issuer, a hand walkthrough that validates payments against digit-by-digit card number rules, and debugging messy validator code for inverted boolean operators and boundary errors.

    Software Engineering FundamentalsTechnical Screen
  • Charta HealthMediumSoftware Engineer
    Design a Prefix-Suggestion Search Interface

    Design and implement an in-memory prefix suggestion engine that indexes document titles, provides ranked auto-complete results, and prevents out-of-order race conditions from asynchronous search queries.

    Software Engineering FundamentalsOnsiteTrieSearchConcurrency
  • Charta HealthMediumSoftware Engineer
    Make Token-Bucket Admission Safe Across Threads

    Tests your ability to implement a thread-safe token bucket rate limiter with lazy refill, monotonic time tracking, and blocking admission control.

    Software Engineering FundamentalsTechnical Screenconcurrencymultithreadingrate-limiting
  • Chicago Trading CompanyMediumSoftware Engineer
    Implement a Unique Pointer and Vector

    This problem tests your understanding of C++ RAII, move semantics, template metaprogramming, and manual memory management by requiring the implementation of a scoped unique-ownership pointer and a custom dynamic array container.

    Software Engineering FundamentalsTechnical ScreenC++RAIIMemory Management
  • Chicago Trading CompanyMediumSoftware Engineer
    Trace Virtual Address Translation Through TLBs, Page Tables, and Caches

    This question tests the understanding of memory hierarchy and virtual memory translation, specifically the interactions between TLBs, page tables, and hardware caches.

    Software Engineering FundamentalsOnsiteVirtual MemoryPagingMMU
  • ChimeEasySoftware Engineer
    Explain sync/async, Go concurrency, SQL vs NoSQL

    This question evaluates understanding of execution models (synchronous vs asynchronous and blocking vs non-blocking), Go concurrency patterns (goroutines, channels versus shared-memory with locks), and database paradigms (SQL vs NoSQL) relevant to backend engineering.

    Software Engineering FundamentalsTechnical Screen
  • CircleMediumSoftware Engineer
    In-Memory Bank System With Top-N Activity Ranking and Expiring Pending Transfers

    Implement an in-memory banking class in stages: create accounts, deposit and pay, rank the top n accounts by transaction activity, and support transfers that hold funds until the recipient accepts within a time window or they are refunded. Tests state modeling, validation, and timestamp-driven expiry.

    Software Engineering FundamentalsTechnical Screen
  • CiscoEasySoftware Engineer
    Does a Successful Ping Mean Port 443 Is Reachable? Diagnosing Server Connectivity

    A networking fundamentals question asking whether a successful ping to a server proves that port 443 on it is accessible, and how to check the port directly. It tests the difference between ICMP and TCP, the role of firewalls and listening services, and practical connectivity troubleshooting with command-line tools.

    Software Engineering FundamentalsOnsite
  • CiscoEasySoftware Engineer
    Explain BGP: Sessions, Route Exchange, and Best-Path Selection

    A networking fundamentals question asking the candidate to explain the Border Gateway Protocol: why it exists, how peers form sessions and exchange routes, how a router selects the best path, and how BGP differs from interior protocols such as OSPF. It also probes troubleshooting and testing.

    Software Engineering FundamentalsOnsite
  • CiscoEasySoftware Engineer
    Implement a Python To-Do Task Manager Class with CRUD and Status Rules

    A Python coding question asking for a to-do task manager class with create, read, update, and delete operations, where every task has a status of new, pending, or resolved. It tests data modeling, input validation, status transition rules, error handling for missing tasks, and testable class design.

    Software Engineering FundamentalsOnsite
  • CiscoEasySoftware Engineer
    Python Multiple Inheritance: Which Parent Method Runs When Names Collide

    A Python fundamentals question about multiple inheritance in which two parent classes define a method with the same name and a child class inherits from both. It tests the method resolution order, C3 linearization, how super() follows that order, and when composition is the better design.

    Software Engineering FundamentalsOnsite
  • CiscoEasySoftware Engineer
    Python and pytest Fundamentals: Fixtures, Decorators, and Generators

    A three-part Python and pytest fundamentals question covering how fixtures are injected, scoped, torn down, and shared; how decorators work and how to write one that preserves metadata; and how generators produce values lazily. It tests core language mechanics used in test automation.

    Software Engineering FundamentalsOnsite
  • CiscoEasySoftware Engineer
    Reason About C Pointer and Array Declarations

    This question tests the ability to parse complex C declarations and understand memory layout, pointer arithmetic, and the differences between pointers and arrays.

    Software Engineering FundamentalsTechnical ScreenCPointersMemory
  • CiscoEasySoftware Engineer
    Testing a New Feature: Planning Test Cases and Handling Flaky Tests

    A two-part QA question on how to test a new feature and plan its test cases, and how to find, diagnose, and prevent flaky automated tests. It evaluates requirement analysis, test design techniques, risk-based prioritization, test levels, release exit criteria, and keeping a test suite trustworthy.

    Software Engineering FundamentalsOnsite
  • CitadelMediumSoftware Engineer
    Design a Thread-Safe Shared Counter

    This question evaluates concurrency and synchronization competencies, including atomicity, race conditions, concurrent data structures, and cross-process coordination for maintaining exact per-key counts.

    Software Engineering FundamentalsTechnical Screen
  • CitadelMediumSoftware Engineer
    Explain JS types, Promises, Maps, WebSockets

    Explain JS types, Promises, Maps, WebSockets evaluates requirements, assumptions, structured reasoning, trade-offs, and verification in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    Software Engineering FundamentalsTechnical Screen
  • CitadelMediumSoftware Engineer
    Harbor Clash: A Two-Captain Terminal Naval Game, Setup Then Combat

    Write a runnable two-player hidden-fleet game for the terminal: captains place vessels via typed commands with full validation, then alternate firing until one fleet is sunk; tests modeling, parsing, turn flow and shipping working code fast.

    Software Engineering FundamentalsTechnical Screenobject-oriented-designgameinput-validation
  • 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
    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
    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
    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
  • CloudflareMediumSoftware Engineer
    Design an encrypted key-value store with login

    This question evaluates a candidate's understanding of secure authentication, key management, and applied cryptography for encrypting data at rest within a user-scoped key–value store.

    Software Engineering FundamentalsTechnical Screen
  • CloudflareEasySoftware Engineer
    Explain debugging methodology for production issues

    This question evaluates a candidate's troubleshooting and incident-response skills, including root-cause analysis, systems-level reasoning, and prioritization under production constraints.

    Software Engineering FundamentalsHR Screen
  • CognitivHardSoftware Engineer
    Reason About Duplicate Data and Scaling in Spark

    This problem tests the ability to design an idempotent, scalable data deduplication pipeline in Apache Spark while considering distributed systems constraints like data skew and state management.

    Software Engineering FundamentalsTechnical ScreenApache SparkDistributed SystemsData Engineering
  • CoinbaseMediumSoftware Engineer
    Build Task Management Through Records, Search, Assignment, and Completion

    Implement an in-memory task management system that tracks task lifecycles, assignments, and deadlines with efficient indexing and querying. Tests data structure design, state management, and multi-field sorting.

    Software Engineering FundamentalsOnline Assessmentdata-structureshash-tablesorting
  • CoinbaseHardSoftware Engineer
    Debug and Extend Cursor Queries

    This question evaluates understanding of iterator/cursor semantics, stateful side effects and mutation, practical debugging and trace reasoning, and basic query API design such as adding limit or order_by features.

    Software Engineering FundamentalsOnsite