YOUR BRIEF
What to work through
Work through peer-to-peer file distribution as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- Publish a new version of a large file for a set of target machines
- Every target ends up with a complete copy, checked against hashes
- Targets fetch pieces from each other, not only from the source
- A target that crashes or joins late catches up without starting over
- Report progress, and switch each target to the new version once it holds all of it
BEFORE YOU START
Constraints to discuss
- Finish close to the lower bound the links allow
- Stay under each machine’s link cap, shared between sending and receiving, and leave room for live traffic
- No piece is used or forwarded before its hash checks out
- No single coordinator on the data path
- Scale to thousands of hosts: Uber’s Kraken runs at least 8,000 per cluster
Need a starting point?
Watch for these common gaps as you prepare:
- Every host downloading from one central store
- No hash per piece, so one corrupted piece spreads through the swarm
- Putting the tracker on the data path
- Ignoring that a machine’s upload and download share one link
- Activating a host before it holds the whole checked file
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.
- Anthropic: PracHub lists an Anthropic onsite report from September 2026: send 500 GB of model weights to 100 to 1,000 GPU workers on 10 Gbps links, derive a lower bound, then design near it. A July 2026 screen asked the same with a link cap.
- Anthropic: Aced lists "Design a peer-to-peer file distribution system" for a 10 GB file to thousands of hosts, reported in two Anthropic interviews.
- Google: PracHub lists a May 2026 report from a Google senior loop: distribute large model files from a publishing pipeline to a serving fleet across data centers.