Design a multi-channel notification system

Read the full interview experience this question came from →

Quick Overview

This System Design question evaluates distributed-systems and API-design skills—scalability, reliable fanout, multi-channel integration, delivery guarantees (retries, idempotency, deduplication), rate-limiting, subscription/preferences modeling, and observability.

Design a multi-channel notification system

Company: DoorDash

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Online Assessment

Design a notification system that receives alert events from other internal systems and notifies all subscribed users through multiple channels (e.g., in-app/push, email, SMS). Your design should address: - Core requirements and APIs (publish alert, manage subscriptions/preferences, send notifications) - Fanout to many subscribers - Multiple delivery channels with different providers - Reliability (retries, dead-letter queues), ordering/deduplication, and idempotency - Rate limiting and user preferences (opt-out, quiet hours) - Observability and operational concerns Assume high volume (millions of alerts/day) and that different alert types may have different urgency and SLAs.

Overview: This System Design question evaluates distributed-systems and API-design skills—scalability, reliable fanout, multi-channel integration, delivery guarantees (retries, idempotency, deduplication), rate-limiting, subscription/preferences modeling, and observability.

Read the full DoorDash Software Engineer interview experience this question came from

|Home/System Design/DoorDash
DoorDash logo
DoorDash
Jan 14, 2026
mediumSoftware EngineerOnline AssessmentSystem Design
8
0

Design a notification system that receives alert events from other internal systems and notifies all subscribed users through multiple channels (e.g., in-app/push, email, SMS).

Your design should address:

  • Core requirements and APIs (publish alert, manage subscriptions/preferences, send notifications)
  • Fanout to many subscribers
  • Multiple delivery channels with different providers
  • Reliability (retries, dead-letter queues), ordering/deduplication, and idempotency
  • Rate limiting and user preferences (opt-out, quiet hours)
  • Observability and operational concerns

Assume high volume (millions of alerts/day) and that different alert types may have different urgency and SLAs.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...