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 391–420 of 1189 results

  • DoorDashHardSoftware Engineer
    Design limited-time donation platform

    This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Design limited-time donation platform states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • DoorDashHardSoftware Engineer
    Design notification and project architecture

    This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Design notification and project architecture states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • DoorDashHardSoftware Engineer
    Design review system with voting and rewards

    This system design question evaluates a candidate's ability to architect a scalable review platform with voting, counter aggregation, and rewards at high traffic volumes. It tests practical knowledge of distributed counter strategies, idempotent write handling, read/write path separation, and abuse prevention — core competencies assessed in senior software engineer interviews.

    System DesignOnsite
  • DoorDashMediumSoftware Engineer
    Handling Duplicate Upstream Order Records in Dasher Pay Calculation

    Explain how a Dasher pay calculation driven by upstream order records stays correct when those records contain duplicates. Tests deciding when two records describe the same fact, making processing safe against replayed records, handling conflicting and late data or corrections after payout, and preventing double payouts.

    System DesignTechnical Screen
  • DoorDashMediumSoftware Engineer
    Paying Dashers Reliably When the Payment Service Is Unavailable

    A system design follow-up about paying delivery drivers when the downstream payment service is unavailable. It tests reasoning about timeouts with unknown outcomes, durable records of amounts owed, retries that must never double-pay, recovery after long outages, reconciliation, and what drivers and operators see while payouts are delayed.

    System DesignTechnical Screen
  • DoorDashMediumSoftware Engineer
    Process Orders Through a DAG with Completion and Timeout Refunds

    Design order DAG execution with prerequisite state, atomic completion-versus-timeout decisions, idempotent refunds, durable recovery, and accurate status queries.

    System DesignOnsite
  • DoorDashMediumSoftware Engineer
    Protect SLA and Choose Storage

    This question evaluates system design competencies in service reliability and storage architecture, focusing on SLA protection during upstream latency spikes and trade-offs in choosing in-memory caches (e.g., Redis), relational databases, or alternative storage for order and payment state.

    System DesignTechnical Screen
  • DoorDashHardSoftware Engineer
    Scale the cache to a distributed system

    This question evaluates a candidate's ability to design and scale a distributed caching system, testing competencies in sharding and consistent hashing, replication and consistency models, request routing, failure detection, cache invalidation, capacity planning, and operational trade-offs for high-throughput, low-latency workloads.

    System DesignTechnical Screen
  • DropboxMediumSoftware Engineer
    Design a recursive distributed file crawler

    This prompt evaluates expertise in distributed systems, asynchronous task orchestration, recursive job scheduling, data modeling for job and file metadata, and reliability concerns such as retries, idempotency, deduplication, and partial failure handling.

    System DesignOnsite
  • DropboxMediumSoftware Engineer
    Design an S3-like Object Store

    This problem evaluates your ability to design a distributed, highly available, and scalable object storage system capable of handling massive volumes of unstructured data.

    System DesignOnsiteDistributed SystemsStorageScalability
  • DropboxMediumSoftware Engineer
    Design file-processing API with long-running jobs

    This question evaluates a candidate's ability to design HTTP APIs and scalable backend architectures for long-running file-processing jobs, covering competencies in API design, job orchestration, distributed systems, fault tolerance, state persistence, and idempotency.

    System DesignOnsite
  • DropboxMediumSoftware Engineer
    Scale a file-crawling API using async jobs

    This question tests the ability to design an asynchronous distributed system for crawling large file structures, focusing on job orchestration, state management, and scalability under high-latency operations.

    System DesignTechnical ScreenDistributed SystemsAsynchronous ProcessingScalability
  • DuolingoHardSoftware Engineer
    Design Animal Chess game classes

    This interview question evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer for Design Animal Chess game classes states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

    System DesignTechnical Screen
  • EngelhartMediumSoftware Engineer
    Design a Daily Weather-Forecast Pipeline That Runs Power Models for Energy Traders

    Design a pipeline that ingests a weather forecast CSV published daily at a variable time, validates and stores it, runs black-box demand, wind, solar, hydro and price models across every scenario, and serves aggregated forecasts to traders. It tests scheduling, DAG design, failure handling, dashboard delivery and scaling to thousands of scenarios.

    System DesignTechnical Screen
  • ExpediaMediumSoftware Engineer
    Consolidate Three Partner APIs into a Query Service

    This problem tests your ability to design a robust middleware layer that abstracts heterogeneous downstream APIs into a unified, reliable, and performant service.

    System DesignOnsiteAPI AggregationMiddlewareMicroservices
  • ExpediaHardSoftware Engineer
    Design a listing connectivity ingestion service

    This question evaluates a candidate's ability to design scalable, reliable REST APIs and distributed ingestion pipelines, testing competencies in API specification, idempotency, authentication/authorization, asynchronous processing, observability, and integration with downstream validation services.

    System DesignTechnical Screen
  • ExpediaHardSoftware Engineer
    Design a natural-disaster notification system

    This problem tests your ability to design a high-throughput, geo-aware notification system that must deliver time-sensitive alerts to users based on their current or planned location during natural disasters.

    System DesignOnsiteGeospatialScalabilityEvent-Driven
  • ExpediaHardSoftware Engineer
    Design an employee directory with reporting queries

    This question tests the ability to design a scalable hierarchical data structure, select appropriate storage backends for recursive queries, and handle write-heavy concurrent updates to organizational charts.

    System DesignOnsiteDatabase ModelingHierarchical DataAPI Design
  • FaireMediumSoftware Engineer
    Design a product likes system for a marketplace of brands and retailers

    Design the backend for product likes on a marketplace where retailers like or dislike products, list the products they liked and see like counts in search results, while brands see the likes on their own products. Tests data modeling for two access directions, counter maintenance, idempotent writes and scaling the search read path.

    System DesignOnsite
  • FanaticsHardSoftware Engineer
    Design a retail trading platform

    This question evaluates a candidate's competencies in designing scalable, low-latency retail trading systems, covering system architecture, order routing and state management, market data ingestion, cash and position ledger consistency, risk controls, and compliance/observability.

    System DesignOnsite
  • FigmaMediumSoftware Engineer
    Design Comments for a Collaborative Whiteboard

    Design a real-time, durable commenting system for an infinite collaborative whiteboard where comments attach to dynamic canvas objects or fixed coordinates.

    System DesignTechnical ScreenReal-Time SystemsWebSocketsData Modeling
  • FigmaMediumSoftware Engineer
    Design Permission-Aware Retrieval for Design Files

    Design a permission-aware search and retrieval system for collaborative design files and assets that enforces hierarchical access control, supports hybrid search, and prevents data leakage.

    System DesignOnsiteSearchAccess ControlVector Search
  • FigmaMediumSoftware Engineer
    Design Real-Time Collaborative Comments

    Prepare for a real-time collaborative comments system design prompt for shared documents or canvases. The question covers durable comment writes, WebSocket fanout, reconnect backfill, ordering, permissions, hot-document scaling, and missed-update recovery.

    System DesignTechnical Screen
  • FigmaMediumSoftware Engineer
    Design Trending Collaborative Files

    This problem tests the ability to design a distributed streaming architecture that aggregates real-time user activity while maintaining strict privacy and performance requirements.

    System DesignTechnical ScreenStream ProcessingScalabilityDistributed Systems
  • FigmaHardSoftware Engineer
    Design a trending-articles platform

    This question evaluates system design competence for building large-scale, near-real-time trending and feed systems, testing skills in streaming ingestion, event modeling, ranking algorithms, caching, consistency and fault-tolerance, capacity planning, and operational observability within the System Design domain.

    System DesignOnsite
  • FigmaMediumSoftware Engineer
    Design an Async Job Scheduler

    This question evaluates a candidate's ability to design reliable, fault-tolerant asynchronous job scheduling systems, covering concepts such as immediate versus delayed execution, failure handling, retries, duplicate execution prevention, worker crashes, scheduler failover, and the feasibility of exactly-once semantics.

    System DesignOnsite
  • FigmaHardSoftware Engineer
    Design and operate a monolith on Kubernetes

    This question evaluates a candidate's competency in designing and operating a monolithic application on Kubernetes, covering platform engineering topics such as deployment topology, networking and traffic management, CI/CD and rollout strategies, resource management and autoscaling, stateful dependencies, observability, incident response, and disaster recovery. Commonly asked in System Design interviews to assess practical application of distributed systems and SRE principles—specifically the ability to reason about operational trade-offs, reliability, and incremental migration paths—this prompt sits in the System Design domain and emphasizes practical application with architectural reasoning rather than purely conceptual understanding.

    System DesignHR Screen
  • FivetranEasySoftware Engineer
    Design a Simplified WhatsApp: Message Send and Receive, Schema, and Scaling

    Design a simplified WhatsApp focused on sending and receiving messages: the online and offline delivery flow, client APIs, the database schema, and scaling. It tests connection routing, delivery guarantees and ordering, and a choice between relational and NoSQL storage justified by access patterns.

    System DesignTechnical Screen
  • FlexportHardSoftware Engineer
    Design Container Assignment with Incompatible Goods

    Design a shipment-planning and container-packing service that assigns cargo items to ocean containers subject to physical dimensions, weight limits, and hazardous/incompatibility rules while supporting async workflows and plan approvals.

    System DesignOnsiteDistributed SystemsOptimizationConcurrency
  • FlipsterEasySoftware Engineer
    Design 64-bit distributed IDs and a parking lot

    The question evaluates distributed-systems and scalability competencies for globally unique 64-bit ID generation (including sharding, time-ordering, fault tolerance and clock issues) as well as object-oriented design, concurrency control, API design, and data modeling for a parking lot backend.

    System DesignTechnical Screen