DoorDash System Design Interview: Three-Day Donation App
Based on a candidate's reported DoorDash interview
The interviewer opens
Hi, and thanks for joining. Welcome to your interview for the Senior Software Engineer role at DoorDash. We'll design a system together, with you sketching on the whiteboard on the right of your screen as you talk, and you can pause at any time with the Pause button at the top right if you need a break.
The problem is a donation app for a short fundraising campaign, which is the kind of bursty, money-moving system that matters at DoorDash too. It's up in the Problem tab now. Please read through it and ask me anything you'd like clarified before you start drawing.
The problem
Design a donation app for a three-day fundraising campaign where donors give money to a charity. Card payments are processed by a third-party payment provider.
Must do
- Donor picks an amount and donates through the third-party payment provider
- Donor sees whether their donation succeeded or failed
- Anyone can view the campaign's running total raised
- Donor receives a confirmation of their donation
- Donations stop being accepted when the three days end
Must hold
- No donor is ever charged twice and no successful donation is ever lost
- The app stays up and accepts donations for the full three days