Katkat

Design a distributed key-value store at scale

ConfluentSoftware Engineer · Technical Screen

Last updated

Design a distributed key-value store at scale 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.

Design a globally distributed key-value store optimized for read-heavy workloads. Address: (

  1. OS-level performance considerations (threads vs. async I/O, context switching, memory management, filesystem tuning); (
  2. storage layout and indexing choices, including compaction and write amplification trade-offs; (
  3. partitioning and sharding strategies, key distribution, and rebalancing; (
  4. replication and caching layers (write/read paths, coherence, TTLs, invalidation); (
  5. consistency models and CAP trade-offs, including client-visible guarantees; (
  6. failure detection, fault isolation, leader election, and recovery; (
  7. hotspot mitigation, backpressure, and rate limiting; (
  8. capacity planning, SLAs/SLOs, and observability. For each component, justify design choices and discuss performance, complexity, and resource trade-offs.