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 361–390 of 1026 results

  • DoorDashMediumSoftware Engineer
    Debug a Round-Robin Load Balancer, Then Implement Consistent Hashing

    Debug a round-robin load balancer that must keep strict rotation while servers are added and removed, then implement a consistent-hash ring that gives each key a stable server. It tests off-by-one and index-mutation bugs, thread safety, stable hashing, virtual nodes, lookup cost, and how many keys move on membership changes.

    Software Engineering FundamentalsOnsite
  • DoorDashHardSoftware Engineer
    Debug a cache incident end-to-end

    This question evaluates a candidate's ability to diagnose and debug production cache incidents, testing competencies in distributed caching, observability, incident response, root-cause analysis, and the operational impact on microservice latency.

    Software Engineering FundamentalsTechnical Screen
  • DoorDashHardSoftware Engineer
    Debug the Last-Element Random Allocation Case

    Implement and test an O(1) randomized pool that avoids and deterministically tests against the classic self-swap regression when removing the tail element.

    Software Engineering FundamentalsOnsiteHash TableDesignTesting
  • DoorDashMediumSoftware Engineer
    Design a Durable DAG Workflow for Order Refunds

    This problem tests the ability to architect a robust, fault-tolerant workflow engine capable of managing complex state transitions and ensuring transactional integrity in distributed systems.

    Software Engineering FundamentalsOnsiteSystem DesignDistributed SystemsWorkflow Engine
  • DoorDashMediumSoftware Engineer
    Design a Resilient Bootstrap API Aggregator

    Design a resilient bootstrap aggregation service that fetches critical initial state for a mobile app on launch. Tests interface design, concurrent I/O, partial failure handling, and operational trade-offs.

    Software Engineering FundamentalsTechnical ScreenAPI DesignConcurrencyResilience
  • DoorDashMediumSoftware Engineer
    Design an API for pay computation with retries

    Assesses the candidate's ability to design robust HTTP APIs covering endpoint modeling, request/response schemas, datetime formats, idempotency strategies, retry semantics, validation/error codes, and observability for pay-computation services.

    Software Engineering FundamentalsOnline Assessment
  • DoorDashMediumSoftware Engineer
    Explain a Project's Most Complex Technical Component in Depth

    Explain a project's most complex technical component through its invariants, design alternatives, implementation details, and failure-case validation.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Filter Open Restaurants Through Existing Domain APIs

    Implement an orchestrator service that coordinates calls to a directory API and an operating-hours API with bounded concurrency, short-circuit filtering, resilient error handling, and in-memory caching.

    Software Engineering FundamentalsTechnical Screenconcurrencycachingsystem-integration
  • DoorDashMediumSoftware Engineer
    Fix a Round-Robin Load Balancer, Then Implement Consistent Hashing

    A debugging-style coding round on request routing: make a round-robin load balancer behave correctly as servers join and leave, then implement consistent hashing so requests with the same key stay on the same server. It tests careful state handling, concurrency, edge cases such as an empty pool, and reasoning about how many keys move when membership changes.

    Software Engineering FundamentalsOnsite
  • DoorDashEasySoftware Engineer
    Handle payment-service outages

    This question evaluates a candidate's competence in designing fault-tolerant payment workflows and operational resilience, covering concepts such as idempotency, retry strategies, queuing and dead-letter handling, circuit breaking, reconciliation, and monitoring.

    Software Engineering FundamentalsOnsite
  • DoorDashHardSoftware Engineer
    How to prepare for AI-assisted coding interviews?

    Tests your ability to critically evaluate, debug, and refactor AI-generated code for a real-time order batching service under concurrent access, edge-case constraints, and strict correctness requirements.

    Software Engineering FundamentalsOnsiteconcurrencysystem-designrefactoring
  • DoorDashHardSoftware Engineer
    Implement Bootstrap-like responsive utility classes

    This question evaluates proficiency in front-end engineering, including CSS utility system design, responsive grid layout, semantic HTML, accessibility (ARIA and focus management), form validation, asynchronous submission patterns, and lightweight JavaScript for interactivity and telemetry.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Implement a Consistent Hash Ring

    This problem tests your ability to implement a distributed hashing mechanism that minimizes data movement when adding or removing nodes.

    Software Engineering FundamentalsOnsiteHashingDistributed SystemsData Structures
  • DoorDashMediumSoftware Engineer
    Implement a Resilient Aggregator over Three Services

    Implement an asynchronous aggregation service that orchestrates calls to User, Payment, and Address downstream clients with dependency-aware concurrency, partial failure handling, and deadline enforcement.

    Software Engineering FundamentalsOnsiteConcurrencyAsyncIOAPI Design
  • DoorDashMediumSoftware Engineer
    Investigate High Memory Usage

    This question evaluates incident-response and operational debugging skills, focusing on diagnosing high memory usage in a distributed microservice architecture that includes caching and third-party integrations.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Make Rider Addition and Dispatch Safe Under Concurrency

    Make concurrent rider addition and dispatch safe with atomic availability-to-assignment transitions, idempotent adds, narrow locks, and explicit distributed-state limits.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Make a Courier Pay Workflow Resilient to Downstream Failures

    Tests your ability to implement an idempotent, fault-tolerant workflow engine that safely executes financial transactions against an unreliable downstream ledger.

    Software Engineering FundamentalsTechnical ScreenDistributed SystemsIdempotencyAPI Design
  • DoorDashMediumSoftware Engineer
    Own Production Incidents and Validate Large Pipeline Migrations

    Plan scalable migration checks, detect silent zero-output failures, and define incident recovery and monitoring ownership without a separate QA team.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Review Constant-Time Random Courier Selection and Removal

    Maintain dense map indices for uniform random selection and swap-with-last removal, including empty states, concurrency, and complexity checks.

    Software Engineering FundamentalsOnsite
  • EaseHardSoftware Engineer
    Build a Hash-Table Key-Value Store Without Built-in Dictionaries or Sets

    Implement a key-value store class with put, get and remove without using built-in dictionaries or sets, resolving collisions inside the store rather than raising them to callers. It tests hash table mechanics, collision strategies, deletion, resizing and precise average versus worst-case complexity claims.

    Software Engineering FundamentalsTechnical Screen
  • ElasticMediumSoftware Engineer
    Review a JavaScript flatten PR

    This question evaluates a candidate's understanding of JavaScript recursion, array manipulation, API contract reasoning, and correctness when implementing a flatten utility.

    Software Engineering FundamentalsTechnical Screen
  • EliseAIMediumSoftware Engineer
    Analyze the Fairness of an Incremental Shuffle

    This question tests the ability to analyze algorithm correctness through probability theory and identify common pitfalls in pseudo-random number generation that lead to selection bias.

    Software Engineering FundamentalsTechnical ScreenAlgorithmsProbabilityShuffle
  • EliseAIEasySoftware Engineer
    Read and Critique a Short Python Function That Randomly Swaps List Elements

    A code-reading exercise: assess a short Python function that walks a list and swaps each element with a randomly chosen position at or before it. Tests tracing unfamiliar code, reasoning about whether every ordering is equally likely, input-type edge cases such as strings, and practical code-review judgment.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Exposing a Python Function as a REST Endpoint with FastAPI and Unit Testing It

    An interview question on exposing a Python function as a REST API endpoint and testing it. It asks whether FastAPI counts as an endpoint, how an endpoint maps an HTTP request onto a function, and how you unit test such code, with a concrete example that covers edge cases and replaced dependencies.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Python Abstract Classes and Instance, Class and Static Methods

    A Python object-oriented programming interview question on abstract classes and method kinds. It asks what an abstract class is and whether it can be instantiated, how instance, class and static methods differ, what self and cls refer to, and why a static method would live inside a class at all.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Python Dictionary Internals: Hashing, Collisions, O(1) Lookup and Hashable Keys

    A Python fundamentals interview question on how dictionaries store and look up values: what gets hashed, whether different keys can share a hash, how collisions are resolved and why average lookup is constant time. It also tests whether a list can serve as a key and which objects are allowed as keys.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Python Generators, yield, Lazy Evaluation and How Decorators Work

    A Python interview question on generators and decorators. It asks what a generator is, what yield does, why generators use less memory and what lazy evaluation means, then what a decorator actually does under the hood, testing precise language mechanics rather than memorized definitions.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Python Virtual Environments, Conda and Poetry, and Everyday Linux Commands

    A developer tooling interview question on Python virtual environments, why projects need them and how Conda and Poetry fit in, followed by practical Linux experience: which system you work on and which Unix commands you rely on to run and debug jobs on a server.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Relational Database Indexes: Read/Write Trade-offs and Tuning a Slow SQL Query

    A database fundamentals interview question on relational indexes: what an index is, why it speeds up queries, why not every column should be indexed and how indexes affect write performance. It then asks how you would troubleshoot and tune a complex SQL query that runs extremely slowly.

    Software Engineering FundamentalsTechnical Screen
  • EngelhartMediumSoftware Engineer
    Threads vs Processes, the Python GIL, Multiprocessing and Async I/O

    A Python concurrency interview question covering how threads and processes differ, including their memory spaces, when to reach for multiprocessing, what the Global Interpreter Lock is and how it limits CPU-bound threads, and why async I/O is a good fit for network and other I/O-bound workloads.

    Software Engineering FundamentalsTechnical Screen