System design interview question
Design a Real-Time Notification Delivery System for a Social Platform (like Facebook/Twitter)
Design a notification delivery system that serves 500M monthly active users across 150+ countries with varying network conditions. The system must deliver billions of notifications daily (peak: 100K notifications/second) across multiple channels (in-app, push, email, SMS) with <2 second delivery latency for time-sensitive notifications (mentions, messages) and <5 minutes for non-critical ones (likes, follows). Notifications must support rich formatting, deduplication across channels, user preferences (frequency caps, quiet hours, channel opt-outs), delivery retry logic, and analytics. The system operates in multiple data centers to handle regional compliance (GDPR, CCPA) and must gracefully degrade when downstream services (FCM, APNs, email providers) are unavailable. Design for 99.95% availability and support horizontal scaling of all components.
Practice this question step by step with an AI interviewer that reviews your requirements, your architecture and your trade-offs, and scores the design.