Code Room
System designHardsd-g293
Subject ReshardingLevel Senior–Staff~55 minCommon in Distributed systems interviewsIndustries Technology, Software development

Question

A sharded transactional database has grown until one shard holds 40% of the data and is saturated; you must split it into smaller shards with zero downtime and no lost or duplicated writes, while the application keeps reading and writing it the whole time. Design the resharding process: how you copy the existing data to the new shards, how you keep them in sync with live writes during the (hours-long) copy, the cutover that switches traffic atomically, and how you make the whole thing safely abortable if something goes wrong midway.

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.