Code Room
System designHardsd-g568
Subject System designLevel Mid–Senior~45 minCommon in Distributed systems interviewsIndustries Software development, Technology

Question

Design a notification preferences + fan-out service for a collaboration app with ~3M users. Events (mentions, comments, assignments) trigger notifications across channels (in-app, email, push, Slack). Users set fine-grained preferences (per-channel, per-event-type, quiet hours, digest vs immediate, mute specific threads). A single event can fan out to many recipients (e.g. a comment on a doc watched by 500 people). Requirements: respect preferences exactly, dedupe duplicate triggers, batch 'digest' notifications, and deliver immediates within seconds.

What a strong answer looks like

Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts — data model, bottlenecks, consistency, failure modes — and name the trade-offs you are making.

Narrate your design
Loading whiteboard…
Run or narrate your approach, then ask the coach.