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 151–180 of 448 results

  • DoorDashMediumSoftware Engineer
    Build a Running Late-Order Refund Workflow as Separate Python Services

    Build a continuously running Python system of separate services that executes a small workflow graph in which late orders trigger refunds, then discuss new features, API evolution, adding payments, and testing. It tests scoping under time pressure, service boundaries, idempotent refunds, and effective AI-assisted development.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build an Order-Exception Microservice with Explicit Refund Policies

    Design and demonstrate a local service for missing or delayed orders, with explicit refund rules, duplicate handling, and auditable decisions.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build and Debug a Dasher-to-Order Assignment Service, Then Prepare It for Production

    A DoorDash onsite exercise to finish and debug starter code for a service that assigns delivery drivers to orders. It tests constant-time bookkeeping, defending a list versus hash map storage choice, invariant-based testing, and how to make the service safe and scalable in production.

    Software Engineering FundamentalsOnsite
  • DoorDashHardSoftware Engineer
    Compare front-end state management approaches

    DoorDash software-engineer onsite front-end question: compare Redux with modern state and data management approaches (Redux Toolkit/RTK Query, React Query, SWR, Zustand, Recoil, MobX, Context) and design an end-to-end strategy for a React SPA that needs offline viewing, pagination, optimistic updates, and error retries. It tests separating client UI state from server cache, caching/invalidation, performance, type safety, testing, and an incremental migration plan off Redux.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Debug Round-Robin and Consistent-Hash Routing

    This problem tests the ability to identify flaws in load balancing implementations by evaluating consistency, distribution, and edge-case handling in Round-Robin and Consistent Hashing logic.

    Software Engineering FundamentalsOnsiteLoad-BalancingConsistent-HashingDistributed-Systems
  • DoorDashMediumSoftware Engineer
    Debug a Random Dasher Registry

    Debug a random dasher registry backed by a dense array and an ID-to-index map. Repair empty and swap-delete edge cases, preserve representation invariants, narrow error handling, and extend the design for concurrency and slow dependencies.

    Software Engineering FundamentalsOnsite
  • 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 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
    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
    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
    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
  • FaireMediumSoftware Engineer
    Max inherited discount and discount-source audit in a category DAG

    A two-part coding problem on an e-commerce category hierarchy shaped as a DAG, where a product's applied discount is the largest discount on its category or any ancestor. The follow-up asks for an audit of which discounted categories appear in the ancestry of each bottom-level category, testing traversal order, deduplication and shared work.

    Software Engineering FundamentalsOnsite
  • FurtheraiMediumMachine Learning Engineer
    Build a Create/Execute Workflow Service With an AI Assistant: Plan, Implement, Verify

    A 45-minute practical coding exercise: build a small service with create-workflow and execute-workflow APIs while using an AI coding assistant. It evaluates planning, implementing and verifying with the assistant, along with validation of workflow definitions, dependency-ordered execution and step failure handling.

    Software Engineering FundamentalsOnsite
  • Gimlet LabsMediumMember of Technical Staff, ML Systems
    Design CPU-Cycle Window Alignment for Misaligned Time Series

    Define and implement a precise windowing contract for two misaligned CPU-cycle time series using piecewise-linear interpolation, monotone scanning, explicit boundary behavior, and optional interval integration.

    Software Engineering FundamentalsOnsite
  • GleanMediumMachine Learning Engineer
    AI-Paired Rate-Limited Wikipedia Crawler That Prioritizes Unseen Title Initials

    Pair with an AI coding assistant to build a rate-limited Wikipedia crawler that first crawls pages whose title initial has not yet been covered, then crawls randomly once all 26 letters are done. Tests frontier design, link normalization, rate limiting and disciplined use of AI-generated code.

    Software Engineering FundamentalsOnsite
  • GleanMediumFrontend Engineer
    Build a React Social Feed with Upvote/Downvote Re-Sorting and Pinned Posts

    Build a React social feed where upvotes and downvotes re-sort posts by score in descending order and pinned posts stay at the top. Tests state design and immutable updates, correct vote-toggle arithmetic, deterministic ordering, accessibility and optimistic persistence with rollback.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    Design a Test Strategy for a System That Counts the Leaves on a Large Tree

    An open-ended testing scenario: design a test strategy for a system that counts the leaves on a large tree. Tests clarifying an ambiguous system, finding a test oracle, functional and boundary cases, scale and robustness testing, and setting release criteria for counts that may be estimates.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    Implement 2048 Board Tilts in Four Directions with Merging and Game-Over Detection

    Implement the move logic of the 2048 sliding-tile game on a 4x4 board: slide and merge tiles for left, right, up and down swipes so each tile merges at most once, then decide when no swipe can change the board. Tests edge-case precision, code reuse across directions and a correct game-over rule.

    Software Engineering FundamentalsOnsite
  • GleanMediumFrontend Engineer
    Implement Two-Player Connect Four on a 6x7 Board with Win and Draw Detection

    Implement two-player Connect Four on a 6x7 board: drop discs into columns, detect four in a row in every direction, handle full columns and draws, and render a playable interface. Tests clean separation of game logic from UI, efficient win checks from the last move and careful edge handling.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    Implement a Byte-Pair Encoding Tokenizer: Threshold Training, Encode and Decode

    Implement a byte-pair encoding tokenizer with train, encode and decode, where training repeatedly merges the most frequent adjacent token pair whose count reaches a threshold, breaking ties lexicographically. Tests precise reading of the merge rules, round-trip correctness and the complexity of training on long text.

    Software Engineering FundamentalsOnsite
  • GleanMediumSoftware Engineer
    Serve Top-k Prefix Suggestions Filtered by Department Within a Tight Memory Budget

    Return the top k suggestions whose ngram starts with a query and whose department matches the user, from a static list that already fills half of the server's memory. Tests prefix indexing, top-k extraction without scanning all matches, and explicit memory accounting against latency.

    Software Engineering FundamentalsOnsite