Design a Distributed Key-Value Store
Company: Airbnb
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Quick Answer: This question evaluates expertise in distributed systems and large-scale storage design, covering API design, partitioning, replication, request routing, fault tolerance, consistency models, and operational behavior during failures; it is categorized under System Design and database/distributed-systems domains and tests both conceptual understanding and practical application. It is commonly asked to assess architectural thinking about scalability and reliability, including trade-offs between consistency and availability as framed by the CAP theorem, and the ability to reason about system behavior during node failures and network partitions.