Design Notification System
Build a notification delivery system
Overview
Design a scalable notification system capable of sending millions of messages across different channels (SMS, Email, Push Notifications) with priorities and retries.
Key Concepts
Factory Pattern: To create different notification senders (SMS, Email)
Queue / Worker: Distribute and throttle sending
Builder Pattern: Build complex notification objects
Strategy Pattern: Sending strategy based on priority or channel
💡 Interview Tips
Discuss handling rate limits from external providers (e.g. Twilio, AWS SES)
Mention retry mechanisms and Dead Letter Queues (DLQ)
Draw database tables keeping track of Notification Status