interview prep

What Reddit’s engineering interview actually tests

Reddit’s loop is shorter than most big-tech pipelines. Candidates who make it through report roughly two and a half to four weeks from the first recruiter call to a decision, and every round is tuned to one worry: can you reason about a product that serves close to 100 million people a day without it quietly falling over. That question shows up even in the coding rounds, where a “sort this list” problem turns into “now the list is a stream of events from every subreddit at once.”

The backend runs mostly in Go now, after years of migrating off the old Python monolith the community still calls r2. The API layer is GraphQL, and the front end is TypeScript and React. You won’t be forced to write Go, since you code in whatever language you’re strongest in, but knowing the stack tells you where the interviewers’ heads are: service boundaries, fan-out, caching, and read-heavy traffic rather than obscure algorithm trivia.

How Reddit sequences the loop

It opens with a recruiter screen of 30 to 45 minutes. Background, why Reddit, target level, a comp check. The move most people skip here is pinning down the level. Reddit’s ladder runs roughly IC1 through IC6, and a gap between the level the recruiter slots you into and the one the loop grades against is the most common reason a genuinely strong candidate gets a confusing rejection. Ask which level the interviews are calibrated to, and ask before the technical rounds start.

Then a technical phone screen, about an hour on Zoom with a shared editor like CoderPad. One medium problem, sometimes two shorter ones, with follow-ups that push on complexity and edge cases. This is a LeetCode-medium filter and nothing more exotic: hash maps, two pointers, a traversal over a grid or graph, interval merging. What they score is whether you write correct, readable code and can state the time and space cost as you go, without being asked twice.

Inside the onsite

The virtual onsite is four to five hours split into roughly hour-long rounds: two coding, one system design, and one or two cross-functional interviews that fold behavioral questions together with Reddit’s values. The coding rounds stay in medium-to-hard territory, but the interviewers care as much about narration as about the final answer. They will interrupt. Expect “what if this doesn’t fit in memory,” or “now assume the input arrives as a stream,” or “the array just got a hundred times bigger, what breaks first.”

Questions tend to wear Reddit’s product on their sleeve. A few phrased close to how they actually land:

  • “Given a set of comment threads, flatten them into the order the UI would render them.”
  • “Merge k sorted streams of post IDs by timestamp.”
  • “From an event log, find the top k most active users in the last hour.”

Each one is a scale problem in disguise. The comment-thread flatten is a plain tree traversal until the interviewer mentions a post with 400,000 replies, at which point they want to hear about pagination and lazy loading. The top-k question is fine with a heap until the log stops fitting in memory, and then it becomes a streaming and approximation question.

System design, framed around Reddit’s own scale

This is the round where Reddit candidates most often walk out feeling good and score worse than they expected. The prompts look deceptively familiar:

  • “Design the notification that tells a user someone replied to their post.”
  • “Design comment ranking for a single post with hundreds of thousands of replies.”
  • “Design the hot ranking for a subreddit’s front page.”

The notification prompt is the fan-out problem in a red hoodie. Fan-out on write, where you push a notification to every follower the moment something happens, is cheap to read and brutal to write when a huge account or a default subreddit posts. Fan-out on read, where you assemble the feed when the user opens the app, flips the cost. A strong answer names both, picks a hybrid, and calls out the specific case that breaks the naive version: the celebrity AMA, or the post that hits the front page and draws replies faster than any single writer can absorb. Interviewers are waiting for you to find that hot-partition case yourself.

The rest of the round is blocking and tackling done out loud. Estimate daily actives, then translate that into reads and writes per second. Sketch the write path and the read path separately. Name the datastore and say why: a vote counter can live in something eventually consistent, while a ban or a content removal really shouldn’t. Talk about caching the rendered comment tree and, the harder part, how you invalidate it when a new reply lands or a moderator removes something. Candidates who are explicit about which numbers are allowed to be stale and which have to be correct right now tend to clear this round.

The values round is really an incident round

Reddit publishes a short set of values, and the cross-functional interviewers do care about them, but reciting the list back is a waste of your time. What they probe is how you behave under ambiguity and during an outage. A representative prompt: “Tell me about something you shipped that broke in production. Walk me through the first ten minutes.” They want a real story with real numbers, a decision you made without complete information, and a clear account of what you’d change. Have two or three of these ready, each with the metric that got worse and the metric that told you it was fixed.

The loop at a glance

Stage Format Typical length What it screens for
Recruiter screen Phone call 30-45 min Role fit, level calibration, comp range
Technical phone screen Shared editor (CoderPad) over Zoom About 60 min One medium coding problem, complexity reasoning
Onsite coding (two rounds) Live coding with an interviewer About 60 min each Medium to hard problems, edge cases, thinking out loud
Onsite system design Diagram tool or whiteboard About 60 min Scale estimation, fan-out, caching, consistency tradeoffs
Cross-functional / values Structured conversation About 60 min Behavioral stories, collaboration, incident handling

What the offer actually pays

Reddit went public in March 2024 under the ticker RDDT, which changes how you should read the equity line. Your stock grant is liquid and repriced every trading day rather than a paper stake in a private company, so the total figure you’re quoted and the figure you eventually realize can drift a long way apart as the share price moves. Going by 2025 data on levels.fyi, software engineer packages span from around $148K at the entry level to more than $780K at the senior-staff end, with a median near $405K. Use those as a compass and check the live numbers before you negotiate, because the equity portion is big enough to move the whole package on its own.

Where prep hours pay off

Put most of your limited time into system design built on read-heavy social products, since that’s the round with the widest gap between how candidates feel and how they score. Drill the fan-out-on-write versus fan-out-on-read tradeoff until reaching for the hybrid is automatic, and practice caching and invalidating a comment tree out loud. For the coding rounds, a volume of LeetCode mediums beats a handful of hard puzzles; you want the medium patterns to feel routine so you have spare attention for the follow-ups, which is where the real signal lives. For the values round, write your incident stories down with the actual metrics before interview day, because nobody invents a clean production war story on the spot.

The candidates who do best treat all five rounds as the same interview asked five ways. The coding problem is a scale question in miniature, the design round is that same question said out loud, and the values round asks whether you sweat the users on the other end of the request when something breaks. Show that you think about those users by default, and the rest of the loop tends to take care of itself.

newsletter

What's actually being asked right now

Interview patterns & comp trends, straight to your inbox.

No spam. Unsubscribe anytime.

newsletter

What's actually being asked right now

Interview patterns & comp trends, straight to your inbox.

No spam. Unsubscribe anytime.

1972 Soviet postage stamp commemorating the Mars 2 probe

worth a read

Mars For The Rest of Us — a weekly-or-more deep dive on the technical side of Mars exploration: rocket propulsion, microbiology, mission architecture, and everything in between. Written by Maciej Ceglowski.

Read it on Substack →
Scroll to Top