Design a Notification System
Last updated: June 17, 2026
Quick Overview
Design a scalable notification system supporting push notifications, email, and SMS channels. Cover event-driven architecture, message bus design, user preference management, rate limiting, and delivery guarantees at Meta's scale.
Meta
System Design
Software Engineer
Meta
June 17, 2026Software Engineer
Onsite
System Design
Hard
98
0
364 solved
Design a scalable notification system supporting push notifications, email, and SMS channels. Cover event-driven architecture, message bus design, user preference management, rate limiting, and delivery guarantees at Meta's scale.
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Sharpen Your Skills on Codemia
Practice similar problems with our interactive workspace, get AI feedback, and track your progress.
Practice System Design ProblemsSample Answer
Requirements
- Functional Requirements:
- Support multiple notification channels: push notifications, email, and SMS.
- User preference management to allow users to opt-in/out of specific channels. ...
Capacity Estimation
- User Base: Assume Meta has 2 billion active users.
- Notification Frequency: Assume an average of 3 notifications/user/day.
- Total Notifications:
- Daily: 2 billion users ...
Submit Your Answer
Markdown supported