Design a Notification System
The reflex is to treat this as a broadcast. An event happens, so look up everyone who should hear it, drop a row in each inbox, and hand the push to Apple and Google. That skeleton is real and we will build it. But Reddit reshapes it in a way that surprises people who prepped a generic feed. Most Reddit notifications are not broadcasts at all. A reply is aimed at the one person whose comment you answered. A mention with u/username is aimed at the handful of people you named. An upvote milestone is aimed at the single author whose post just crossed a threshold. These are point events with a fan-out of one, so the "notify a million followers" machinery that dominates a social push system is the exception here, not the rule.
That flips where the difficulty sits. Two harder things take its place. First, the events that matter arrive in bursts against one hot target. A comment that gets picked up draws hundreds of replies. A post climbing the front page draws thousands of votes, all landing on the same author. Rolling those into a single human-sized line is most of the work. Second, one of Reddit's own trigger types, the upvote milestone, is derived from the vote system, and Reddit's votes are asynchronous, deliberately fuzzed against manipulation, and eventually consistent by design. So a milestone push cannot just watch a live counter. We build the plain fan-out first because the interviewer expects it. The back half covers coalescing bursts and reading milestones off the vote pipeline. It ends on the one place Reddit does fan out wide: a mod announcing to a subreddit with a hundred million subscribers.
- 2 diagrams
- 5 sections
- about 45 min
Premium lessonReddit interview guide
These took digging.
What candidates walked out with, from 20,000+ reports, forum threads behind logins and write-ups in Chinese. Then solved step by step.
100 companies. Checked every month.
Unlock all 100 companies$49 a year · less than $1 a week · 30-day money-back guarantee
Reddit interview guideKnow what Reddit asks before you walk in.
16 coding · 5 system design · 23 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.