Design a Distributed Key-Value Store
"Design a distributed key-value store" is the storage prompt Amazon reaches for most, and it lands harder in an Amazon room than anywhere else, because it is Dynamo. The internal paper Amazon published in 2007 is the direct ancestor of DynamoDB. It was born to solve one Amazon problem: a shopping cart that accepts a write even with a data center on fire. Hand a candidate this prompt and you are asking them to reverse-engineer a system the company invented, so the room knows the source material. The store does two things, get(key) and put(key, value), and nothing else. No joins, no secondary indexes, no transactions across keys. Every hard decision falls out of taking that tiny interface and making it survive at scale.
One property defines this design, and it is availability. Amazon decided that for a service like the cart, being able to write is worth more than every reader seeing the freshest value the instant it is written. A customer adding an item must succeed even when nodes are down, networks are split, and replicas disagree. That is a deliberate trade: the system stays writable and reconciles disagreements afterward, rather than refusing writes to stay perfectly consistent. Reach for that trade on purpose, and name what it costs, and you've found what the prompt is really about. Raw throughput is the decoy; the real exercise is surviving partial failure without ever turning a writer away.
- 1 diagram
- 5 sections
- about 45 min
Premium lessonAmazon interview guide
These took digging.
What candidates walked out with, from 20,000+ reports, forum threads behind logins and write-ups in Chinese. Then solved step by step.
100 companies. Checked every month.
Unlock all 100 companies$49 a year · less than $1 a week · 30-day money-back guarantee
Amazon interview guideKnow what Amazon asks before you walk in.
19 coding · 6 system design · 44 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.