IntermediateSystem-Design
30 min
Design a Multi-Channel Notification Service
MessagingReliabilityUser PreferencesCompliance
Advertisement
Interview Question
Design a service to send notifications via email, SMS, and push at scale with retries, templates, and user preferences.
Key Points to Cover
- APIs: enqueue/batch send, status callbacks, idempotency
- Routing: provider selection, fallbacks, cost/latency-based routing
- Templates/localization, user preferences and quiet hours
- At-least-once delivery with dedupe; DLQs and retries
- Compliance: unsubscribe, GDPR/PII handling, audits
Evaluation Rubric
Clear producer/consumer APIs and idempotency25% weight
Smart channel/provider routing with fallbacks25% weight
Retries, DLQs, and delivery semantics25% weight
Preferences and compliance considerations25% weight
Hints
- 💡Consider per-tenant rate limits and budgets.
Potential Follow-up Questions
- ❓How do you prevent duplicate sends?
- ❓How to track delivery status uniformly?
Advertisement