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 331–360 of 1026 results

  • DecagonHardSoftware Engineer
    Design a Space-Efficient Versioned Recipe Shopping Cart

    Design an in-memory versioned shopping cart that aggregates recipe ingredients for bulk discounts, supports atomic mutations, and allows rolling back and checking out earlier cart snapshots efficiently.

    Software Engineering FundamentalsTechnical Screendata-structuresdesignevent-sourcing
  • DecagonMediumSoftware Engineer
    Send Requests in Batches of Five and Retry Failures After a Per-Request Delay

    A practical coding exercise: send a list of requests to an API that accepts at most five per call, then retry failed requests only after the per-request delay returned by the API. It tests batching, retry scheduling with timestamps, waiting without busy loops and clean handling of partial failures.

    Software Engineering FundamentalsTechnical Screen
  • DecagonMediumSoftware Engineer
    Shopping Cart with Undo and Redo for Add and Remove Operations

    A coding exercise to build a shopping cart class whose add and remove operations can be undone and redone. It tests how history entries are represented, how capped removals and deleted lines are reversed exactly, what a new change does to the redo history, and how empty-history cases are handled.

    Software Engineering FundamentalsOnsite
  • DecagonMediumSoftware Engineer
    Solve 3x3 Tic-Tac-Toe with Backtracking: Perfect-Play Result and Best Move

    Write a backtracking solver for 3x3 tic-tac-toe that determines the result of a given position under perfect play by both sides and returns a best move for the player to move. It tests win detection, recursive game-tree search, undoing moves correctly, and reasoning about search cost, memoization and pruning.

    Software Engineering FundamentalsTechnical Screen
  • DeshawMediumSoftware Engineer
    Compare Linux Containers and Virtual Machines

    Tests in-depth understanding of Linux operating system virtualization mechanisms, contrasting hardware-level hypervisors with OS-level container isolation primitives across security, performance, and operational dimensions.

    Software Engineering FundamentalsTechnical ScreenLinuxOperating SystemsDocker
  • DeshawMediumSoftware Engineer
    Explain What Happens When a Linux Shell Runs ls

    Tests end-to-end understanding of Linux OS fundamentals, systems programming concepts, system calls, and how a POSIX shell interacts with the kernel to execute a command.

    Software Engineering FundamentalsTechnical ScreenLinuxOperating SystemsSystem Calls
  • Deutsche BankHardSoftware Engineer
    Explain Java follow-ups after solving coding problem

    This question evaluates proficiency in Java programming and software engineering fundamentals, covering competencies such as refactoring for changing requirements, input validation, performance analysis for large datasets, selection of Java collections, generics, exception design, and unit testing.

    Software Engineering FundamentalsOnsite
  • DigitaloceanMediumSoftware Engineer
    Clarify a Longest-Repeating-Character Replacement Problem

    Clarify replacement and substring semantics, then analyze the conditional sliding-window criterion based on window size and maximum character frequency.

    Software Engineering FundamentalsOnsite
  • DigitaloceanMediumSoftware Engineer
    Specify House-Selection Constraints Before Choosing a Robbery Dynamic Program

    Clarify house layout and selection conflicts, derive a conditional linear dynamic program, and explain how circular or graph constraints change it.

    Software Engineering FundamentalsOnsite
  • DiscordMediumSoftware Engineer
    Demonstrate effective AI-assisted coding workflow

    This question evaluates a candidate's proficiency with AI-assisted coding workflows, including prompt formulation, tool and library selection, design critique, testing approaches, and iterative feature development to demonstrate engineering judgment and ownership.

    Software Engineering FundamentalsOnsite
  • DiscordHardSoftware Engineer
    Explain C++ alignment and ABI stability

    This question evaluates mastery of C++ low-level memory concepts—memory alignment, padding and struct/class layout—and understanding of ABI stability, including calling conventions, name mangling, vtable layout and other binary compatibility concerns, reflecting competence in systems-level C++ and binary interfacing.

    Software Engineering FundamentalsHR Screen
  • DiscordHardSoftware Engineer
    Explain your database experience and debugging approach

    This question assesses the candidate's depth in database architecture, specifically regarding isolation levels and race conditions, while testing their methodology for validating code generated by AI or external tools.

    Software Engineering FundamentalsHR ScreenDatabasesConcurrencyDebugging
  • DisneyMediumSoftware Engineer
    Build a sortable, searchable movie list UI

    This question tests the ability to design a performant, reactive frontend component that handles data manipulation, asynchronous API integration, and efficient DOM rendering.

    Software Engineering FundamentalsOnsiteFrontendReactPerformance
  • DisneyMediumSoftware Engineer
    Discuss Terraform, Infrastructure as Code, and AWS Experience

    Describe infrastructure-as-code experience through reviewed changes, state management, cloud validation, drift, partial failures, and honest ownership.

    Software Engineering FundamentalsHR Screen
  • DisneyEasySoftware Engineer
    How would you run a mentoring-focused code review?

    This question evaluates mentoring-focused code review competencies, including code quality and maintainability analysis, frontend architecture (React/TypeScript), testing strategy, accessibility and security awareness, plus written and interpersonal feedback skills.

    Software Engineering FundamentalsOnsite
  • DisneyMediumSoftware Engineer
    Implement a Set Data Structure with a Resizable Array, Then Improve It with Hashing

    Tests low-level data structure design by implementing a set from scratch using an array-backed hash table, focusing on collision resolution, dynamic resizing, load factor management, and amortized complexity.

    Software Engineering FundamentalsTechnical ScreenData StructuresHash TableArrays
  • DisneyMediumSoftware Engineer
    Thread-Safe Buffered Batch Writer for Streaming Records into a Database

    Design and implement a thread-safe batch buffer that collects streaming records from multiple producer threads and flushes them to a database using batch inserts based on size, timeout, or shutdown triggers.

    Software Engineering FundamentalsTechnical ScreenConcurrencyMultithreadingData Structures
  • DocuSignEasySoftware Engineer
    Design a JSON Schema Validator

    Design and implement a modular JSON schema validator that verifies data against structural schemas, supporting primitive types, nested objects, arrays, regex patterns, numeric ranges, and strict field controls.

    Software Engineering FundamentalsOnsiterecursionoopdesign
  • DoorDashMediumSoftware Engineer
    Bootstrap Service: Aggregate Downstream Services and Return the Right HTTP Status

    Implement a bootstrap service that calls several independent downstream services concurrently, aggregates their data into one response for a client app, and returns an HTTP status code that reflects partial or total failure. It tests concurrent calls, timeouts, per-section error reporting, and mapping downstream failures to client-facing status codes.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build Resilient Aggregation and Debug Routing

    This question evaluates skills in building resilient API aggregation, fault-tolerant retry handling and test coverage for transient failures, as well as debugging and improving load-balancer routing policies including adding round-robin distribution and reasoning about consistent hashing.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build Two Interacting Services That Carry Out a Realistic Refund Flow

    A senior coding exercise, with an AI assistant allowed, to build two cooperating services that carry out a refund end to end. It tests service boundaries, a refund state machine, idempotent retries, handling of declines and timeouts, and a runnable simulation of realistic refund scenarios.

    Software Engineering FundamentalsOnsite
  • DoorDashMediumSoftware Engineer
    Build a Delivery Payout Calculation API

    Build a payout endpoint that retrieves delivery activity and accrues 30 cents per minute for each concurrent order. The solution covers interval sweeps, malformed events, exact money, day boundaries, final rounding, upstream timeouts, retry limits, caching, and layered tests.

    Software Engineering FundamentalsTechnical Screen
  • DoorDashMediumSoftware Engineer
    Build a Resilient Bootstrap API with Partial Upstream Results

    Combine Consumer, Payment, and Address APIs with correct identifier dependencies, partial success, bounded timeouts, and complete response fields.

    Software Engineering FundamentalsOnsite
  • 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 a Three-Service Refund Workflow over HTTP

    Implement and orchestrate a multi-service refund pipeline over HTTP, ensuring idempotent execution, safe concurrency limits, and crash recovery across separate process boundaries.

    Software Engineering FundamentalsTechnical Screendistributed-systemshttp-apisidempotency
  • 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