Interview Questions/System Design/Design a Multi-Channel Notification Service
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.
Common Pitfalls to Avoid
  • ⚠️Underestimating the complexity of asynchronous processing and message queue management.
  • ⚠️Lack of robust error handling and retry strategies across all layers, leading to message loss.
  • ⚠️Failing to design for provider outages and not implementing effective fallback mechanisms.
  • ⚠️Inadequate user preference management, leading to user frustration and opt-outs.
  • ⚠️Neglecting comprehensive logging and auditing, which is critical for compliance and debugging at scale.
Potential Follow-up Questions
  • How do you prevent duplicate sends?
  • How to track delivery status uniformly?
Advertisement