PracHub
QuestionsPremiumLearningGuidesInterview PrepNEWCoaches
|Home/System Design/Airbnb

Design a multi-channel notification system

Last updated: Mar 29, 2026

Quick Overview

This question evaluates system design and distributed systems competencies—scalable architecture, API and schema design, idempotency and de-duplication, rate limiting, multi-region reliability, monitoring, and compliance for a multi-channel notification platform—and is commonly asked to assess the ability to balance latency, throughput, and operational trade-offs in production-grade services. Category: System Design; domain: distributed systems, reliability engineering, data modeling, and operational observability; level of abstraction: practical application with significant conceptual design considerations around delivery semantics, scalability targets, and regulatory constraints.

  • hard
  • Airbnb
  • System Design
  • Software Engineer

Design a multi-channel notification system

Company: Airbnb

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Technical Screen

Design a multi-channel notification system (email, SMS, push, in-app). Define APIs for producing and consuming events, user preference storage (per-channel, per-category, quiet hours), templating/localization, idempotency and de-duplication keys, scheduling and retries with backoff, rate limiting and per-recipient throttling, and delivery status tracking. Specify components (producer, dispatcher, queue/stream, worker pools, provider adapters, metadata store), data models, and exactly-once vs at-least-once trade-offs. Address scale targets (e.g., 10M/day, p99 < 2s), multi-region reliability, failure handling, monitoring/alerting, and compliance (unsubscribe, GDPR/CCPA data retention). Provide an evolution plan for experimentation (A/B), prioritization, and cost controls.

Quick Answer: This question evaluates system design and distributed systems competencies—scalable architecture, API and schema design, idempotency and de-duplication, rate limiting, multi-region reliability, monitoring, and compliance for a multi-channel notification platform—and is commonly asked to assess the ability to balance latency, throughput, and operational trade-offs in production-grade services. Category: System Design; domain: distributed systems, reliability engineering, data modeling, and operational observability; level of abstraction: practical application with significant conceptual design considerations around delivery semantics, scalability targets, and regulatory constraints.

Related Interview Questions

  • Design a Scalable Job Scheduler - Airbnb
  • Design a Rental Marketplace Backend - Airbnb (hard)
  • Design a booking system - Airbnb (medium)
  • Design a group chat system - Airbnb (medium)
  • Design a real-time chat system with hot groups - Airbnb (hard)
Airbnb logo
Airbnb
Sep 6, 2025, 12:00 AM
Software Engineer
Technical Screen
System Design
5
0

System Design: Multi-Channel Notifications (Email, SMS, Push, In‑App)

Context

Design a notification platform that reliably delivers messages across multiple channels (email, SMS, mobile push, in‑app) while honoring user preferences and regulatory constraints. The system should scale to 10M notifications/day with p99 end-to-end processing latency under 2 seconds (to provider accept), support multi‑region reliability, and provide strong operational observability.

Requirements

  1. APIs and Contracts
    • Event production and consumption APIs (idempotent) for transactional and batch use cases.
    • User preference APIs: per‑channel, per‑category, quiet hours (with timezone), daily caps.
    • Templating and localization: variables, safe rendering, locale fallback.
    • Idempotency and de‑duplication keys with TTLs.
    • Scheduling (future send), retries with exponential backoff and jitter.
    • Rate limiting: global, per‑channel, per‑recipient throttling.
    • Delivery status tracking and unified state model.
  2. Architecture & Components
    • Producer, dispatcher/orchestrator, queues/streams, worker pools, provider adapters, metadata stores, rate limiter, scheduler, status tracker, analytics sink.
  3. Data Models
    • Notification request, user preferences, templates/variants, experiments, rate limits, delivery attempts/events, suppression lists.
  4. Delivery Semantics
    • Exactly‑once vs at‑least‑once trade‑offs and where to enforce idempotency/dedupe.
  5. Reliability & Scale
    • Targets: 10M/day, p99 < 2s to provider, burst handling, multi‑region (active/active or active/passive), failure handling, circuit breaking, DLQs.
  6. Monitoring & Compliance
    • Metrics, logs, traces, alerting; unsubscribe handling; GDPR/CCPA/consent/data‑retention.
  7. Evolution Plan
    • Experimentation (A/B), prioritization policies, cost controls and provider routing.

Provide a design with concrete APIs (REST or gRPC), schemas, component interactions, and operational playbooks. Call out assumptions where needed.

Solution

Show

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Airbnb•More Software Engineer•Airbnb Software Engineer•Airbnb 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.