YOUR BRIEF
What to work through
Work through a digital wallet as a spoken system design interview. Start by clarifying the scope, sketch a working design and explain the trade-offs behind your choices.
- Transfer a balance from one wallet to another
- See a wallet’s current balance
- Rebuild any past balance by replaying history
BEFORE YOU START
Constraints to discuss
- 1 million transfers a second
- 99.99% availability
- Transactional: money is never created or lost in a transfer
- Reproducible: the full history can be replayed to check every balance
Need a starting point?
Watch for these common gaps as you prepare:
- Assuming one database transaction can span every shard at 1 million transfers a second
- Adding to B before taking from A
- Keeping balances only in an in-memory store with no durable log
- A state machine that calls out to other systems or uses randomness, so a replay gives a different answer