Design limited-time donation platform
Company: DoorDash
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Technical Screen
Design a donations platform for a three-day global fundraising campaign. Specify functional APIs (create donation, confirm payment, refund, totals), data model, idempotency for payment retries, real-time running totals/leaderboards, fraud/deduplication checks, rate limiting, backpressure, and handling delayed webhooks. Address scalability for traffic spikes, availability across regions, consistency trade-offs, storage/partitioning strategy, caching, streaming for analytics, observability, and failure scenarios (provider outage, double-submits). Provide capacity estimates and a rollout/testing plan.
Quick Answer: This question evaluates system-design and distributed-systems competencies, covering large-scale architecture, real-time data pipelines and leaderboards, payment correctness and idempotency, storage partitioning, caching, traffic protection, observability, and failure-recovery planning.