InterviewLegend

Design a Notification System

Commonly asked
Alex Chen45 min readUpdated 118 real interview reports

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.

The Reddit angle
A Reddit notification exists to pull you back into a conversation inside one of your communities, so most of them are aimed at exactly one person and the fan-out looks nothing like a broadcast. Reddit's mission is to empower communities and make their knowledge accessible.
What's inside
  • 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

Had your Reddit interview?Tell us what they asked. Reviewed before it goes in, never with your name.
Reddit interview guide

Know what Reddit asks before you walk in.

16 coding · 5 system design · 23 behavioral questions

Get Premium$49 a year · 30-day money-back guarantee
Or start freeNo card.

Get their questions first.

InterviewLegend is independent and not affiliated with or endorsed by any company it covers.