Katkat

practice a little every day, paws crossed ♡

Software Engineering Fundamentals 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 121–150 of 625 results

  • ByteDanceMediumSoftware Engineer
    Implement an Idempotent Versioned Database Update

    Tests your ability to design and implement a concurrency-safe, idempotent record update operation using optimistic concurrency control and deduplication keys.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsConcurrencyAPI Design
  • ByteDanceMediumSoftware Engineer
    TCP vs UDP: Key Differences and the Applications That Suit Each

    From a TikTok backend intern interview: compare TCP and UDP, including connection setup, reliability, ordering, flow and congestion control, message boundaries and overhead, and explain which applications suit each protocol. It tests tying transport-layer guarantees and their costs to real application needs.

    Software Engineering FundamentalsTechnical Screen
  • ByteDanceEasySite Reliability Engineer
    Triage a Suddenly Slow Production Service

    This question tests your structured approach to incident response and root cause analysis in a distributed production environment.

    Software Engineering FundamentalsTechnical ScreenSREIncident ResponseDistributed Systems
  • Candid HealthEasySoftware Engineer
    Implement a Callback Signaling Registry with Register, Unregister and Signal

    Implement a minimal in-process signaling system with register_callback, unregister_callback and signal functions that all return None. Tests requirement clarification, callback storage and hashability, execution order, isolation of failing callbacks, and prevention of reentrant signal loops.

    Software Engineering FundamentalsTechnical Screen
  • Capital OneMediumSoftware Engineer
    Design a transaction class for deposits/withdrawals

    This problem tests your ability to design a robust, thread-safe class for managing bank account transactions, focusing on atomicity and data consistency.

    Software Engineering FundamentalsTechnical ScreenConcurrencyObject-Oriented DesignThread-Safety
  • Capital OneMediumSoftware Engineer
    In-Memory Banking System: Deposits, Transfers, Top-N Activity, Test Harness

    An object-oriented coding exercise that builds an in-memory banking system in stages: creating accounts and deposits, transfers between accounts, and ranking the top N accounts by activity. It also tests writing a harness that runs string-array test commands, and confirming whether activity means operation count or amount moved.

    Software Engineering FundamentalsTechnical Screen
  • Capital OneMediumSoftware Engineer
    Merchant-Locked Payment Codes: Trade-offs and a Buggy Checker

    A three-part fintech case on merchant-locked, single-merchant payment codes: discuss their trade-offs for cardholder and issuer, hand-validate sample codes against a digit-position rule table, then find and fix three planted bugs in a flawed validator.

    Software Engineering FundamentalsTechnical Screencase-interviewdebuggingvalidation-logic
  • Capital OneMediumData Scientist
    Test and Run a Reproducible Data Science Pipeline

    Design and implement a robust, testable Python data pipeline class that validates input data schemas, handles feature transformation, logs execution metrics, and produces versioned outputs. Write targeted unit and integration tests ensuring graceful failure on corrupted inputs.

    Software Engineering FundamentalsTechnical ScreenPythonData PipelinesTesting
  • 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
  • CensysMediumFrontend Engineer
    Add Case-Insensitive Search to a Support Ticket Queue UI and Debug Its Behavior

    A frontend exercise on an existing support ticket queue with Unresolved and Archived tabs, a ticket list and an activity panel: make the search box filter tickets by title or assignee regardless of letter case, then debug parts of the app that misbehave. It tests reading unfamiliar code, state design and systematic debugging.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • ChimeMediumBackend Engineer
    Design browser history across tabs

    This question tests the ability to design an efficient data structure for navigating browser history, requiring careful management of back/forward states across multiple independent tabs.

    Software Engineering FundamentalsTechnical ScreenData StructuresStacksHash Maps
  • 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
    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
  • CitadelEasyFrontend Engineer
    Build a Real-Time Event Feed Dashboard

    Implement a robust React hook to manage a high-frequency, real-time event feed dashboard with pause/resume controls, out-of-order de-duplication, memory bounding, and rolling time-window statistics.

    Software Engineering FundamentalsTechnical Screenreacttypescriptsliding-window
  • 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
  • CitadelMediumSite Reliability Engineer
    Solve Five Core Python Data-Processing Exercises

    Implement and explain: repeat a message `n` times with blank lines; square a list then reverse it; FizzBuzz; count case-sensitive words; and return the second-largest unique integer or `None`. Make the API or object boundaries explicit, then cover invariants, edge cases, testing strategy, and operational trade-offs.

    Software Engineering FundamentalsTechnical Screen
  • 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
  • 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
  • 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
  • CoinbaseHardSoftware Engineer
    Extend a Banking Interface with Scheduled Payments and Account Merges

    Implement an in-memory transactional banking system supporting scheduled payments, deterministic tick-based execution, idempotency, and account merging with balance consolidation and redirect tracking.

    Software Engineering FundamentalsTechnical Screensystem-designdata-structuresconcurrency
  • CoinbaseMediumSoftware Engineer
    Fee-Maximizing Block Assembly from a Mempool with Child-Pays-For-Parent

    A coding question on assembling a cryptocurrency block from a very large mempool: pick transactions that maximize fees within a fixed block size using a fast heuristic, then extend the selection to parent links and Child-Pays-For-Parent incentives. An optional part asks for the minimum fee a child must pay to pull its parent into the next block.

    Software Engineering FundamentalsTechnical Screen