Skip to content

ONE QUESTION. YOUR REASONING.

Design a distributed key-value store

Design a distributed key-value store: clients put and get small values by key, and the data is spread across many machines.

System designInfrastructure and platformSeniorStaff

YOUR BRIEF

What to work through

Work through a distributed key-value store as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.

  • put(key, value) stores a value under a key
  • get(key) returns the value stored under a key
  • The caller can tune consistency against latency
  • Capacity grows by adding nodes, with no downtime

BEFORE YOU START

Constraints to discuss

  • Each key-value pair is small, under 10 KB
  • Stays available during a network partition, at the cost of consistency
  • Strong reads when W + R > N; faster, eventual reads below that
  • Low latency on every put and get
  • Survives the loss of a whole data center
Need a starting point?

Watch for these common gaps as you prepare:

  • Choosing consistency or availability without asking which the use case needs
  • Placing replicas on virtual nodes of the same physical server
  • Handling only short outages, with no anti-entropy repair for nodes gone for good
  • Leaving an open-ended prompt open: no stated scale, latency or consistency targets
Read: System design questions and who asks them

Why this question is in the collection

These sources connect the problem to company interview reports or preparation guides. They do not guarantee what a company will ask you.

KEEP GOING

Your next question

Storage, files and linksDesign BitlyInfrastructure and platformDesign a rate limiterInfrastructure and platformDesign an A/B testing platformInfrastructure and platformDesign an ad click aggregator
Browse the collection
01

Pick a question

Read the brief and choose what you want to work on.

02

Talk it through

Explain your thinking. Respond to follow-ups. Draw when a design needs it.

03

Find your next improvement

Use the feedback from your interview to decide what to practise next.