Design a notification system
DoorDashSoftware Engineer · Technical ScreenLast updated
This question evaluates a candidate's competency in designing scalable, reliable multi-channel notification platforms, covering distributed systems, multitenancy, API and storage schema design, queuing and retry strategies, rate limiting, observability, localization, A/B testing, and compliance considerations like GDPR.
Design a notification system that sends messages via email, SMS, and push. Support real-time and scheduled delivery, per-user preferences and quiet hours, deduplication and idempotency, retries with exponential backoff, rate limiting (per user and per provider), multi-tenant isolation, and templating/localization. Provide APIs, storage schema, queue/pub-sub design, worker orchestration, provider integration, and monitoring/alerting. Discuss scalability targets (e.g., p99 latency, TPS), failure modes, exactly-once vs at-least-once semantics, A/B testing, GDPR/compliance, and cost controls.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.