PracHub
QuestionsPremiumLearningGuidesCheatsheetNEW
|Home/System Design/DoorDash

Design a donation service for a 3‑day charity

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's system design skills around building a reliable, scalable online donation service, emphasizing competencies in payment-provider integration, idempotency and retry semantics, failure handling, traffic spike mitigation, and accurate funds reporting.

  • medium
  • DoorDash
  • System Design
  • Software Engineer

Design a donation service for a 3‑day charity

Company: DoorDash

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

## System Design Prompt You are designing an online **donation service** for a **3-day charity campaign**. ### Requirements - Donors can: - Select a charity campaign (single campaign lasting 3 days). - Enter donation amount and basic donor info. - Pay using a **third-party payment provider** (e.g., card processor). - Receive a confirmation (and optionally a receipt). - The system must handle: - **Payment failures** (declines, timeouts, provider errors). - **Retries** and **idempotency** (avoid double-charging/double-recording). - **High traffic spikes** (campaign launches and closing hours). - Accurate reporting of total funds raised. ### Out of scope (optional, clarify with interviewer) - Fraud detection, tax receipts, multiple charities, recurring donations, chargebacks. ### Deliverables Describe: 1. APIs and high-level architecture. 2. Data model and key flows (happy path + failure paths). 3. How you ensure correctness (no duplicates) and scalability. 4. Observability and operational considerations.

Quick Answer: This question evaluates a candidate's system design skills around building a reliable, scalable online donation service, emphasizing competencies in payment-provider integration, idempotency and retry semantics, failure handling, traffic spike mitigation, and accurate funds reporting.

Related Interview Questions

  • Design a resilient bootstrap API - DoorDash (medium)
  • Design Real-Time Driver Pay Aggregation - DoorDash (hard)
  • Design personalized restaurant search and recommendations - DoorDash (medium)
  • Design Food Ratings and Driver Payouts - DoorDash (medium)
  • Design a Customer Review Page - DoorDash (medium)
DoorDash logo
DoorDash
Jan 18, 2026, 12:00 AM
Software Engineer
Technical Screen
System Design
20
0
Loading...

System Design Prompt

You are designing an online donation service for a 3-day charity campaign.

Requirements

  • Donors can:
    • Select a charity campaign (single campaign lasting 3 days).
    • Enter donation amount and basic donor info.
    • Pay using a third-party payment provider (e.g., card processor).
    • Receive a confirmation (and optionally a receipt).
  • The system must handle:
    • Payment failures (declines, timeouts, provider errors).
    • Retries and idempotency (avoid double-charging/double-recording).
    • High traffic spikes (campaign launches and closing hours).
    • Accurate reporting of total funds raised.

Out of scope (optional, clarify with interviewer)

  • Fraud detection, tax receipts, multiple charities, recurring donations, chargebacks.

Deliverables

Describe:

  1. APIs and high-level architecture.
  2. Data model and key flows (happy path + failure paths).
  3. How you ensure correctness (no duplicates) and scalability.
  4. Observability and operational considerations.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More DoorDash•More Software Engineer•DoorDash Software Engineer•DoorDash System Design•Software Engineer System Design
PracHub

Master your tech interviews with 7,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.