Katkat

Topic

System Design interview questions

1311 System Design questions from 230 companies, with hints, runnable code and solution walkthroughs.

Questions1311

60 easy819 medium432 hard

Your progress0/1311

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

Showing 1–30 of 1311 results

  • Design a scalable photo deduplication service 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.

    Abnormal SecuritySoftware EngineerSystem DesignTechnical Screen
  • This problem tests your ability to design a secure, HIPAA-compliant audio processing pipeline that handles sensitive PHI (Protected Health Information) while ensuring scalability and reliability.

    AbridgeSoftware EngineerSystem DesignTechnical Screen
  • This question tests the ability to design a highly concurrent distributed system that balances strong consistency for inventory management with high availability for a global, read-heavy user base.

    AddeparSoftware EngineerSystem DesignTechnical Screen
  • An Adobe software-engineer system-design screen on analyzing and optimizing end-to-end web request latency. The strong answer builds a client/network/server latency model, instruments both client (RUM) and server (OpenTelemetry, Server-Timing) with correlated traces, attributes frontend vs. backend time, investigates p95/p99 outliers, and ships layered optimizations behind SLO guardrails.

    AdobeSoftware EngineerSystem DesignTechnical Screen
  • Design a runtime localization system for dozens of countries with locale and regional resolution, variables, plural rules, safe fallback, and offline-capable bundles. Address live copy updates, approvals, rollbacks, formatting, missing translations, cache behavior, and longer-text layout failures.

    AdobeSoftware EngineerSystem DesignOnsite
  • This question evaluates a candidate's competency in designing scalable distributed systems and large-scale data processing pipelines, focusing on ingestion, partitioning/sharding, partial aggregation and merging, global top‑K computation, fault tolerance, idempotency, and storage/serving concerns.

    AdobeSoftware EngineerSystem DesignTechnical Screen
  • Design scalable LRU cache and backtracking API 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.

    AdyenSoftware EngineerSystem DesignTechnical Screen
  • Design installment-loan payment processing around a bank debit API available during one daily one-hour window. Unify manual and scheduled intents, prevent duplicate debits with durable idempotency and state transitions, reconcile unknown outcomes, apply accounting atomically, and notify through an outbox.

    AffirmSoftware EngineerSystem DesignTechnical Screen
  • This question tests your ability to design a high-concurrency booking system, focusing on preventing double-bookings, managing seat holds, and ensuring system availability during high-traffic events.

    AffirmSoftware EngineerSystem DesignOnsite
  • Design a high-scale, low-latency experimentation and A/B testing platform capable of deterministic user bucketing, high-throughput exposure and metric ingestion, and automated statistical reporting.

    AffirmSoftware EngineerSystem DesignOnsite
  • Tests candidate's ability to design a mission-critical, fault-tolerant job scheduler for payment processing, focusing on lease claiming, idempotency, race condition handling, and reconciliation.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This problem tests your ability to design a distributed, high-scale rental marketplace platform, focusing on concurrency control for bookings, efficient geo-spatial searching, and data consistency.

    AirbnbBackend EngineerSystem DesignOnsite
  • This question tests the ability to design a distributed reservation system that handles high concurrency, prevents double-booking, and ensures data consistency at scale.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This question evaluates backend system design and data engineering competencies, including scalable API design, time-range aggregation correctness (handling partial overlaps and state changes), data modeling and indexing, caching and precomputation, and performance validation.

    AirbnbSoftware EngineerSystem DesignTechnical Screen
  • Airbnb's onsite system design round asks you to design the backend for a real-time group chat and messaging system: 1:1 and group conversations, near-real-time delivery, accurate unread counts, and full paginated history at roughly 1B messages a day and 5M concurrent connections. A complete answer covers the guarantees, APIs, data model and partitioning, write path and ordering, WebSocket fan-out and presence, offline delivery and multi-device sync, unread counts, membership changes, failure modes and observability. This walkthrough gives a corrected end-to-end reference answer for every part, including the trade-offs interviewers probe.

    AirbnbSoftware EngineerSystem DesignOnsite
  • Design a hot-listing waitlist API 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.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This question tests the ability to design a distributed, multi-channel notification system capable of handling high throughput, varying latency requirements across channels (e.g., email, push, SMS), and ensuring reliable message delivery.

    AirbnbSoftware EngineerSystem DesignTechnical Screen
  • This problem tests your ability to design a distributed, low-latency messaging system that handles massive fan-out and identify trending group activities.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This question evaluates a candidate's ability to design large-scale recommendation systems, covering system architecture, real-time serving and offline pipelines, personalization and ML modeling (candidate generation and ranking), data modeling/feature stores, caching and storage, monitoring, experimentation, and privacy/compliance skills.

    AirbnbSoftware EngineerSystem DesignOnsite
  • Design an A/B testing platform with deterministic assignment, versioned experiment configuration, exposure logging, outcome attribution, and trustworthy analysis. Separate the latency-sensitive serving path from asynchronous metrics, support gradual ramps and overlapping tests, and detect bias, event loss, skew, and sample-ratio mismatch.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This question evaluates a candidate's competency in designing financial transaction systems, covering double-entry append-only ledgers, holds/authorizations and captures, refunds and payouts, multi-currency FX conversion and rounding, idempotency, concurrency safety, and auditable reconciliation.

    AirbnbSoftware EngineerSystem DesignTechnical Screen
  • This question evaluates system design and object-oriented design skills focused on transactional accounting, escrow-based payment flows, idempotency, and robust error handling, plus the ability to produce a runnable in-memory implementation.

    AirbnbSoftware EngineerSystem DesignTechnical Screen
  • This question evaluates understanding of multi-currency pricing and payments, covering currency selection UX, storage versus presentation currency, exchange-rate sourcing and locking, rounding and localization, tax and fee modeling, caching and cross-channel consistency, and API and data-model design in a distributed marketplace.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This question evaluates system architecture and scalability competencies, including data modeling for date-range watchlists, event-driven notification pipelines, time-zone and DST handling, consistency and concurrency semantics, idempotency, sharding/caching strategies, and privacy/analytics considerations.

    AirbnbSoftware EngineerSystem DesignOnsite
  • Airbnb's onsite system design round asks you to design a notification system that delivers email, SMS, and push messages to millions of guests, hosts, and employees, supporting both event-triggered sends and large batch campaigns. A complete answer covers requirements and scale math, architecture and data flow for both modes, the data model and API, templating, user preferences and compliance, prioritization, deduplication and idempotency, retries and failover, scaling and backpressure, observability, and cost. This walkthrough gives a corrected end-to-end reference answer for every part, including the trade-offs interviewers probe.

    AirbnbSoftware EngineerSystem DesignOnsite
  • This question evaluates understanding of deterministic, cross-language JSON serialization and deserialization for object graphs with cycles, including concepts such as cycle detection, stable object identifiers, preservation of shared subobjects, traversal-order determinism, input validation/security, and time/space complexity.

    AirtableSoftware EngineerSystem DesignOnsite
  • Design a thread-safe, lazily initialized connection pool with a PooledConnection wrapper: reuse idle connections first, cap active connections, define exhaustion (block-with-timeout) and shutdown semantics, and analyze concurrency safety and complexity. A common Airtable software-engineering screen question.

    AirtableSoftware EngineerSystem DesignHR Screen
  • This question tests the ability to design a distributed search architecture capable of handling high-throughput indexing and low-latency queries across a massive dataset.

    AirtableSoftware EngineerSystem DesignOnsite
  • This question tests the ability to design a distributed asynchronous processing system that ensures idempotency, data consistency, and reliable task execution under high concurrency.

    AirtableSoftware EngineerSystem DesignOnsite
  • Design a ticketing system for high-demand events. Connect requirements and APIs to data modeling, consistency, scaling, failure recovery, observability, and the important design trade-offs.

    AirwallexSoftware EngineerSystem DesignTechnical Screen

More topics