Topic
System Design interview questions
1311 System Design questions from 230 companies, with hints, runnable code and solution walkthroughs.
60 easy819 medium432 hard
System Design interview questions by the numbers
Last updated
Katkat has 1,311 System Design interview questions from 230 companies; the most come from OpenAI (8%), Meta (5%) and Amazon (4%). By difficulty: 5% easy, 62% medium and 33% hard. The most common round is Onsite (55%). Frequent concepts include System Design, Distributed Systems, Scalability and Caching.
Companies (230)
Difficulty
- Easy5% · 60
- Medium62% · 819
- Hard33% · 432
Interview rounds
- Onsite55% · 721
- Technical Screen39% · 517
- Online Assessment3% · 38
- Other2% · 21
- HR Screen1% · 13
Roles
- Software Engineer91% · 1189
- Machine Learning Engineer2% · 31
- Data Engineer2% · 26
- Backend Engineer2% · 25
- Frontend Engineer1% · 19
Frequent concepts
- System Design31% · 400
- Distributed Systems24% · 316
- Scalability15% · 196
- Caching7% · 95
- Concurrency7% · 91
- system-design6% · 83
Most mentioned in interview experiences
- 1.Design delivery driver payment system3 reports
- 2.Debug round-robin request router2 reports
- 3.Design a basic bank system API2 reports
- 4.Design a delivery cost system2 reports
- 5.Design a Distributed Key-Value Store for a Small Company's Internal Use2 reports
- 6.Design a Donation System for a Three-Day Fundraising Campaign2 reports
- 7.Design a file search module like UNIX find2 reports
- 8.Design a Food Review System for a Delivery App, Focused on the Database Schema2 reports
- 9.Design a Job Scheduler for ML Training and Batch Inference on a Shared Cluster2 reports
- 10.Design a Menu Item Review and Rating System for a Food-Delivery Platform2 reports
Counted from 393 candidate interview experiences on Katkat. How we collect and count
Showing 331–360 of 1311 results
This question evaluates a candidate's competency in designing scalable, concurrent backend systems, covering distributed worker pools, producer–consumer patterns, queuing, load balancing, fault tolerance, backpressure, and domain-specific considerations like template parsing and caching.
CrowdstrikeSoftware EngineerSystem DesignTechnical ScreenDesign a real-time team messaging platform supporting channels, direct messages, message persistence, and presence tracking. The design tests your ability to model conversations, ensure reliable and ordered message delivery, and handle high-throughput fan-out.
CrusoeSoftware EngineerSystem DesignOnsiteDesign a metrics monitoring system evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
CurrentSoftware EngineerSystem DesignTechnical ScreenThis question evaluates expertise in designing distributed rate-limiting systems with hierarchical quotas, focusing on concurrency control, exact rolling-window counting, and correctness under concurrent stateless servers; it belongs to the System Design domain and tests practical application of distributed systems, storage, and API design as well as conceptual understanding of atomicity and consistency. It is commonly asked to assess reasoning about atomic decision-making across multiple scopes, scalability and partitioning strategies, handling reconfiguration and operational concerns, and the trade-offs between correctness and system performance (English).
CursorBackend EngineerSystem DesignTechnical ScreenDesign a distributed, hierarchical configuration management service for an IDE that synchronizes versioned settings across individual users, multiple teams, and workspaces while supporting offline modifications and deterministic conflict resolution.
CursorSoftware EngineerSystem DesignTechnical ScreenDesign a cron scheduler with durable occurrences, timezone rules, missed-run policies, worker leases, idempotent dispatch, and failure recovery.
CursorSoftware EngineerSystem DesignTechnical ScreenMatching engine design guide for an in-memory order book. Covers price-time priority, limit and market orders, matching rules, data-structure choices, edge cases, and how to explain tradeoffs in a system design interview.
Da Vinci TradingSoftware EngineerSystem DesignOnline AssessmentDesign a highly available and consistent backend chat system focusing on APIs, storage schema, idempotent message publishing, per-conversation sequencing, and versioned group membership.
DatabricksSoftware EngineerSystem DesignOnsiteDesign chat APIs and database tables with durable message sends, idempotent retries, ordered history, live delivery, and reconnect recovery.
DatabricksSoftware EngineerSystem DesignOnsiteDesign the data consistency, concurrency control, and deletion semantics for a distributed chat platform when message creation and thread deletion occur concurrently across distributed nodes.
DatabricksSoftware EngineerSystem DesignTechnical ScreenThis question tests the ability to design an in-memory key-value store that supports basic operations while maintaining accurate sliding-window QPS (queries per second) metrics.
DatabricksSoftware EngineerSystem DesignTechnical ScreenDesign real-time messaging with conversations, history, and deletion that converges across storage layers and online or offline clients. Clarify authorization and retention, then address duplicate events, edit/reaction races, search and attachment cleanup, reconnect behavior, regional failover, audits, and strict erasure.
DatabricksSoftware EngineerSystem DesignOnsiteTests the ability to architect a resilient aggregation system interfacing with heterogeneous, unreliable third-party APIs under strict latency, rate-limiting, and cache consistency constraints.
DatabricksSoftware EngineerSystem DesignTechnical ScreenTests system design skills for building a high-throughput, contextual pricing service that balances HTTP protocol semantics, batch orchestration, personalized caching, and downstream protection.
DatabricksSoftware EngineerSystem DesignOnsiteDesign an end-to-end direct and small-group messaging system with strict delivery guarantees, message ordering, and an explicitly partitioned multi-tier caching layer.
DatabricksSoftware EngineerSystem DesignTechnical ScreenTests your ability to architect a real-time collaborative frontend application, focusing on client-side state synchronization, deterministic list ordering, idempotent mutation protocols, and graceful network reconnection.
DatabricksFrontend EngineerSystem DesignOnsiteThis question tests the ability to design a scalable, fault-tolerant distributed file system by addressing challenges in metadata management, data chunking, and cluster availability.
DatabricksBackend EngineerSystem DesignTechnical ScreenDesign a distributed file system from a one-line prompt, driving the scoping of workload, semantics, scale and durability yourself. Tests separating metadata from data, block replication and placement, read and write paths, failure recovery, and scaling the namespace for a staff-level backend role.
DatabricksBackend EngineerSystem DesignOnsiteDesign a high-throughput, thread-safe embedded log writer that safely batches and persists records from thousands of concurrent producer threads into an append-only file.
DatabricksSoftware EngineerSystem DesignOnsiteThis question tests the ability to design a distributed file system namespace capable of handling millions of files and directories with strong consistency and high availability.
DatabricksSoftware EngineerSystem DesignOnsiteThis question tests the ability to design a distributed key-value store architecture that incorporates observability, specifically tracking per-key or per-prefix Queries Per Second (QPS) metrics in real-time.
DatabricksSoftware EngineerSystem DesignTechnical ScreenDesign a single, thread-shared component that lets up to 4,000 worker threads inside one process append small telemetry records to one local file, durably and without a disk sync per call. Tests group-commit concurrency design, a crash-safe on-disk record format, and backpressure reasoning.
DatabricksSoftware EngineerSystem DesignOnsiteTests your ability to architect a scalable, real-time messaging platform like Slack, focusing on connection handling, fan-out delivery, channel message ordering, and presence management.
DatabricksSoftware EngineerSystem DesignOnsiteTests the ability to design a high-throughput, thread-safe buffering system that decouples client write operations from high-latency storage I/O using concurrent synchronization, backpressure, and background worker threads.
DatabricksSoftware EngineerSystem DesignOnsiteDesign a Visa-style card payment system, choosing between the card network and a merchant-side scope. Tests real-time authorization routing to issuers, idempotent handling of retries and reversals, clearing and settlement with an auditable ledger, fraud checks, and multi-region availability.
DatabricksSoftware EngineerSystem DesignOnsiteThis problem tests your ability to design a high-throughput, fault-tolerant transaction processing system that guarantees data integrity across distributed services.
DatabricksSoftware EngineerSystem DesignTechnical ScreenThis question tests your ability to design a distributed, fault-tolerant transaction processing system for a digital storefront, focusing on data consistency and concurrency control.
DatabricksSoftware EngineerSystem DesignOnsiteThis question evaluates a software engineer's ability to design a clean, type-safe API for a generic key-value store, covering data modeling, interface design, and extensibility. It tests practical software design skills including generics, error handling, concurrency, and the ability to evolve an in-memory prototype into a persistent implementation without breaking callers.
DatabricksSoftware EngineerSystem DesignTechnical ScreenThis question evaluates understanding of durable storage and crash-consistency, including on-disk data layout, filesystem durability semantics, concurrency control, and performance trade-offs for single-node embeddable key–value engines.
DatabricksSoftware EngineerSystem DesignOnsiteThis question evaluates a candidate's skills in single-node cache design, including in-memory key/value storage, eviction policy management (e.g., LRU), durability considerations, concurrency control, and techniques for reducing contention such as sharding or striping.
DatabricksSoftware EngineerSystem DesignTechnical Screen