Design a Multi-Channel Notification System
Company: Replit
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Overview: Design a notification platform that routes one logical request across in-app, email, SMS, or push channels under user preferences. The system must handle templates, scheduling, consent, idempotency, provider retries, rate control, cancellation races, reconciliation, and status semantics that distinguish acceptance from delivery.