← Airbnb Interview Insights

Airbnb·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
May 2026

Summary

Airbnb system design round for a software engineer role, basically one long deep-dive into building a distributed key-value store from scratch. The interviewer kept pushing on CAP tradeoffs and I felt like I was treading water by the end of the consistency discussion.

Questions Asked (4)

Q1

Design a distributed key-value store that supports put, get, and delete operations for general-purpose use.

System DesignTechnical Trade-offs
Author's notes

I started with the API surface which felt like the right move, laid out put/get/delete and then floated TTL and conditional writes as optional extensions.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements (scale, consistency, latency, durability) and then propose a high-level architecture using consistent hashing for partitioning and replication for fault tolerance. Dive into the core components: data model, partitioning, replication, consistency, and failure handling, making explicit trade-offs (e.g., CAP theorem) and justifying choices based on Airbnb's use cases.

Pro tip: Emphasize that the design should be adaptable to different consistency needs (e.g., tunable consistency) and mention real-world systems like DynamoDB or Cassandra as references, showing awareness of industry practices.

1. Clarify Requirements and Scope

Ask questions to understand expected scale (data size, QPS), latency requirements, consistency vs. availability trade-offs, and durability needs. Define the API (put, get, delete) and data model (key-value pairs).

2. High-Level Architecture

Propose a distributed system with nodes partitioned by consistent hashing, replicated for fault tolerance. Outline components: client, coordinator nodes, storage nodes, and metadata service.

3. Data Partitioning and Replication

Explain consistent hashing for even data distribution and minimal rebalancing. Describe replication strategies (e.g., N replicas) and placement (e.g., clockwise on ring) for durability and availability.

4. Consistency and Conflict Resolution

Discuss consistency models (strong vs. eventual) and mechanisms like quorum (R+W>N) for tunable consistency. Cover conflict resolution using vector clocks or last-write-wins, and handling deletes via tombstones.

5. Failure Handling and Operations

Address node failures with hinted handoff, read repair, and anti-entropy. Discuss monitoring, scaling, and trade-offs (e.g., CAP theorem) to ensure system reliability.

Key Points to Mention

  • Consistent hashing for partitioning and virtual nodes for load balancing
  • Replication factor and quorum-based consistency (e.g., N, R, W)
  • Vector clocks or timestamps for conflict resolution
  • Tombstones for delete operations and garbage collection
  • CAP theorem trade-offs and tunable consistency
  • Failure detection and recovery mechanisms (e.g., gossip protocol, hinted handoff)

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you handle replication and what consistency guarantees would you expose to clients?

System DesignTechnical Trade-offsData Modeling
Author's notes

This is where the CAP conversation really kicked off.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system's requirements (e.g., read/write ratio, latency, consistency needs) and then propose a replication strategy (e.g., leader-follower, multi-leader, or leaderless) that fits. Explain the consistency guarantees you would expose (e.g., eventual, strong, causal) and justify trade-offs using examples relevant to Airbnb's use cases.

Pro tip: Tie your answer to Airbnb's business needs, such as ensuring booking consistency while scaling reads globally, and mention how you'd monitor replication lag and handle failover to maintain SLAs.

1. Clarify Requirements

Ask about read/write patterns, latency tolerance, geographic distribution, and consistency needs to ground your design.

2. Choose Replication Strategy

Select a replication model (e.g., leader-follower for strong consistency, multi-leader for multi-region writes) and explain why it fits.

3. Define Consistency Guarantees

Specify the consistency level exposed to clients (e.g., strong, eventual, read-your-writes) and how it's achieved (e.g., quorum, synchronous replication).

4. Address Trade-offs and Failure Handling

Discuss trade-offs (latency vs. consistency, availability vs. partition tolerance) and mechanisms for failover, conflict resolution, and replication lag monitoring.

5. Relate to Airbnb Context

Connect your choices to Airbnb's scale and use cases, such as ensuring consistent search results or booking transactions across regions.

Key Points to Mention

  • Replication models: leader-follower, multi-leader, leaderless (e.g., Dynamo-style)
  • Consistency models: strong, eventual, causal, read-your-writes, monotonic reads
  • Trade-offs: CAP theorem, latency vs. consistency, availability vs. partition tolerance
  • Quorum-based replication (e.g., R + W > N) for tunable consistency
  • Conflict resolution strategies: last-write-wins, vector clocks, CRDTs
  • Monitoring replication lag and automated failover to meet SLAs

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

Walk me through how your design handles node failures, including temporary and permanent ones.

System DesignTechnical Trade-offs
Author's notes

Hinted handoff came out fine.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system context and failure assumptions, then walk through detection, temporary failure handling (e.g., retries, circuit breakers), and permanent failure handling (e.g., failover, replication, data repair). Emphasize trade-offs between consistency, availability, and complexity, and tie your choices to Airbnb's scale and reliability needs.

Pro tip: Explicitly distinguish between temporary and permanent failures and explain how your design avoids cascading failures—e.g., using bounded retries with jitter, circuit breakers, and bulkheads—since interviewers at Airbnb care about graceful degradation under real-world traffic spikes.

1. Clarify requirements and failure model

Ask about scale, consistency needs, and what counts as temporary vs permanent failure. State assumptions about node roles (stateless vs stateful) and failure detection mechanisms.

2. Detection and health checking

Describe how failures are detected: heartbeats, health checks, gossip protocols, or timeouts. Mention avoiding false positives with hysteresis and quorum-based decisions.

3. Handle temporary failures

Explain retries with exponential backoff and jitter, circuit breakers to prevent overload, and request hedging or fallback responses. For stateful nodes, discuss lease renewal and temporary shard reassignment.

4. Handle permanent failures

Cover replication and failover (leader election, quorum writes), data re-replication, and repair. For stateless services, describe removing unhealthy nodes from load balancers and auto-scaling replacements.

5. Trade-offs and recovery guarantees

Discuss consistency vs availability (e.g., CAP), idempotency, and exactly-once vs at-least-once semantics. Mention monitoring, alerting, and chaos testing to validate failure handling.

Key Points to Mention

  • Failure detection: heartbeats, timeouts, health checks, and quorum-based decisions to avoid split-brain.
  • Temporary failures: exponential backoff with jitter, bounded retries, circuit breakers, and bulkheads.
  • Permanent failures: replication, leader election, failover, and automatic data re-replication.
  • Stateless vs stateful node handling: load balancer removal vs shard reassignment and data repair.
  • Consistency and availability trade-offs: CAP theorem, idempotency, and at-least-once vs exactly-once processing.
  • Operational practices: monitoring, alerting, chaos engineering, and graceful degradation.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

How would you extend this design to support multi-data-center replication?

System DesignTechnical Trade-offs
Author's notes

Ran out of steam a bit here.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements and constraints of multi-data-center replication, such as consistency, latency, and failure tolerance. Then propose a high-level architecture that addresses data partitioning, replication strategies, and conflict resolution, and discuss trade-offs between consistency and availability. Finally, dive into specific components like data synchronization, failover, and monitoring.

Pro tip: Demonstrate awareness of real-world constraints by referencing Airbnb's scale and existing infrastructure (e.g., using MySQL, Kafka, or Dynamo-style stores) and how they might influence design choices. Also, proactively discuss how you would test and roll out the solution incrementally to mitigate risks.

1. Clarify Requirements

Ask questions to understand the expected scale, consistency requirements (strong vs. eventual), latency tolerance, and disaster recovery objectives. This ensures the design aligns with business needs.

2. High-Level Architecture

Propose a multi-data-center setup with data partitioned across regions, using a replication strategy (e.g., active-active or active-passive). Discuss how writes and reads are routed, and how data is synchronized.

3. Data Replication Strategy

Detail the replication mechanism: synchronous vs. asynchronous, conflict resolution (e.g., last-write-wins, CRDTs), and consistency models. Explain how to handle network partitions and ensure data durability.

4. Failure Handling and Trade-offs

Discuss failover procedures, data loss scenarios, and trade-offs between consistency, availability, and latency (CAP theorem). Mention how to monitor and alert on replication lag.

5. Implementation and Rollout

Outline a phased rollout plan, including testing strategies (e.g., chaos engineering), and how to migrate existing data. Highlight operational considerations like cost and complexity.

Key Points to Mention

  • Consistency models: strong vs. eventual consistency, and their impact on user experience.
  • Replication topologies: active-active vs. active-passive, and multi-master vs. leader-follower.
  • Conflict resolution techniques: last-write-wins, vector clocks, CRDTs.
  • Data partitioning and sharding strategies to distribute load across data centers.
  • Failure detection and failover mechanisms, including quorum-based writes.
  • Monitoring and observability: replication lag, error rates, and automated alerts.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.