AlgoInsight

System design interview question

Design a Real-time Notification Delivery System with Guaranteed Delivery and User Preferences

MediumHLDHLD practice

Design a distributed notification delivery system that handles 500M active users across 3 global regions, processing 2M notification events per second with <500ms P99 latency from trigger to delivery. The system must support multiple delivery channels (push, email, SMS, in-app), respect user notification preferences and quiet hours, handle device roster changes in real-time, provide at-least-once delivery guarantees, and survive regional failures without data loss. Key constraints include managing 8B push subscriptions (15 devices per user on average), variable payload sizes (1KB500KB), burst loads during viral events (10x baseline), and the requirement to suppress duplicate notifications within a 5-minute window across all channels. You must design for extensibility to support new channels and preference types without re-architecting, and ensure that user preference changes take effect within 30 seconds globally.

Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.

Distributed SystemsEvent StreamingMessage QueuesCaching LayersTime-Series DataState ManagementScalabilityFault Tolerance

Practice this question