Design Payments
This lands as the level-gated stretch in the system-design round, usually phrased as a wallet with holds and payouts. It is correctness-first, and throughput is the easy part. A payments system that double-charges a card, pays a host twice, or cannot say where a number came from has failed at the one thing it exists to do. So the headline requirement is correctness under retries and failures. The scale is modest; the consequences of a single wrong write are not.
Name the hard part up front, because the interviewer will steer at it. The network between our service and the banks on either side is unreliable, and any step can time out without telling us whether it happened. We send a charge to the processor, the call times out, and now we do not know if the card was charged. Retry blindly and the guest pays twice; skip the retry and the booking has no money behind it. Every money movement has to be safe to repeat, and the books have to balance to the cent even when half the steps in a workflow had to run two or three times. We build the correct ledger first, then make every operation on it idempotent.
- 1 diagram
- 5 sections
- about 40 min
Premium lessonAirbnb 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 · Cancel anytime
Airbnb interview guideKnow what Airbnb asks before you walk in.
18 coding · 5 system design · 20 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.