Code Room
System designHardsd-g301
Subject PartitioningLevel Senior–Staff~45 minCommon in Distributed systems interviewsIndustries Technology, Software development

Question

Design the adaptive partition-splitting mechanism for an auto-sharded key-value store (think DynamoDB/Bigtable-class) that must keep partitions balanced as data and traffic grow, without an operator picking shard boundaries. A partition can get hot two ways: it grows too large (size), or one range of keys suddenly gets a traffic spike (a viral key range), even if it's small. Design how the system detects a partition needs splitting, where it places the split point, and how it splits live without dropping or misrouting requests, plus the failure case this design still struggles with.

What a strong answer looks like

Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts — data model, bottlenecks, consistency, failure modes — and name the trade-offs you are making.

Narrate your design
Loading whiteboard…
Run or narrate your approach, then ask the coach.