InterviewLegend

Reddit Software Engineer Interview: The Coding Rounds

Alex Chen10 min readUpdated 118 real interview reports
In this lesson
  • See why Reddit's coding bar is standard mediums, judged on speed and code that runs
  • Know the format: a multi-part phone screen, then a four-to-five round virtual onsite
  • Map the pattern families to the lessons ahead, and to comment threads, community graphs and hot posts

The Reddit software engineer coding interview starts with one live technical phone screen built around a single medium problem. Then comes a four-to-five-round virtual onsite with a general-purpose programming round and a separate algorithm round. The screen itself usually opens with something almost too easy to be worth an hour. Score a two-player game. Count hits in the last five minutes. Traverse a small graph of who follows whom. Then the interviewer starts stacking. A new rule, a renamed state, a concurrency requirement, each one layered onto the same code you already wrote. The algorithm underneath rarely gets harder. The prompt does.

That is the whole texture of Reddit coding. The bank is the canonical medium set that also serves a Meta or a Google loop, so anything you drill here carries over. What is specific is the shape of a round. You get one long, evolving problem instead of two quick ones. It is graded on how cleanly you extend your own code under time, and on whether it runs against the test cases at every step. Reddit publishes little about its process, so treat the specifics below as a solid shape with directional edges.

The Reddit angle
The multi-part build-up is the differentiator, and the failure mode is pacing, not algorithms. The signature phone-screen problem starts trivial and grows across three or four parts on one codebase. Candidates who struggle are rarely stuck on a hard idea. They spend too long on parts one and two and run out of clock before the interesting follow-ups land. The repeated tactical note from people who have sat the screen is blunt. Nail the early parts fast to bank time for the later ones, and keep the code compiling and passing cases the whole way rather than saving a big refactor for the end. Prep the extend-my-own-class muscle, not a secret list of Reddit mediums. There is no secret list.

The Rounds

The path is a recruiter screen, then a live technical phone screen, then a virtual onsite. Reddit is remote-first, so even the onsite is over video. There is no well-established standalone async assessment for software roles, so treat the live phone screen as the first real technical gate. Reddit publishes little about its loop, so read the counts below as a rough shape that flexes by team, level, and track.

  • Platform: Executable editor, code runs. The phone screen runs in a CodeSignal-style shared editor over video. Expect the tell-tale execution limits, roughly a three-second and one-gigabyte cap, plus the instruction that your code must be complete and pass the given test cases. This is run-against-cases, not whiteboard pseudocode. Write in the language you prefer; Reddit’s own stack skews Python and Go.
  • Technical screen: One live round, ~60 min. One medium problem with layered follow-ups rather than two quick problems, sometimes opening with a couple of short CS questions first. Titles vary, and candidates have seen it labelled "Backend Programming," which reads ambiguously. The screen leans design-flavored: a class with an interface plus extensions, not a pure trick.
  • Onsite: 4 to 5 rounds, virtual. The modal mix is a general-purpose programming round and a distinct algorithm round, one system design round (senior loops report two), a hiring-manager or behavioral round, and a dedicated values round. Each runs about 45 to 60 minutes. The composition varies by level and by track; mobile and ML loops swap rounds in and out.
  • Graded on: Correct, running, extended. Correct and executable first, then how far you get through the follow-up chain with clean, readable extensions. The distinctive signal is throughput on a growing prompt plus fast, tidy refactoring. Distributed scale is not tested here; that lives in the system design round.
The Reddit angle
Your code has to run, and "now make it thread-safe" is a follow-up that genuinely shows up. The hit-counter problem is a good example of the shape. First you implement recording a hit and counting hits in the last five minutes. Then the interviewer notes that timestamps can arrive out of order, so a naive queue is not enough. Finally they ask you to make the whole thing safe under concurrent callers. Concurrency-awareness is a plus signal at Reddit, which runs a lot of write-heavy, contended paths behind votes and comments. You do not need to be a lock wizard, but knowing where a race lives and reaching for the right primitive without freezing takes practice. Treat "make it run, then make it solid, then make it safe" as the actual rubric for the screen.

The Patterns That Come Up

The spine is the standard FAANG-medium bank, medium-dominant with easy warm-ups and a thin hard tail. Arrays, strings, and hashing are the bread and butter. Design and object-oriented problems carry the screen and fold in the time-window work like the hit counter. Trees and graphs run heavy because Reddit’s core data structures are literally a tree and a graph, and heaps show up wherever something needs ranking. Dynamic programming rounds out the breadth with at least one likely appearance at the onsite. The chart shows roughly how the families split.

Arrays, strings & hashing~22%
Design, OOD & time-windows~20%
Trees & comment threads~18%
Graphs & the community graph~15%
Heaps & top-K~14%
Dynamic programming~11%
Roughly how the coding rounds split across pattern families. Reddit does not publish a topic breakdown, so read the ordering as a prep priority rather than a measured rate.

The design and object-oriented family sits higher here than in a typical loop because the phone screen leans that way. The recurring set pieces are the game-scoring state machine, the hit counter with its out-of-order and thread-safe follow-ups, an in-memory key-value store with time-to-live, and the standard a Premium question. None of them are algorithmically deep. They reward interface-first design and clean extension, and the multi-part format grades both.

The Reddit Texture

Reddit rarely relabels its problems in product slang the way some companies do. You will not see two-sum re-labelled as counting upvotes. When a problem does carry product flavor, it is because the data structure genuinely matches the product, and three shapes come up naturally.

Comment threads as trees

A comment thread is a nested tree of replies under a post, so depth-first traversal over an n-ary tree fits naturally. Think depth-weighted sum, flattening a nested structure, or finding the deepest reply. Know recursive and iterative DFS cold and the follow-ups are about aggregation, not the traversal itself.

The community graph as a graph

Users, subreddits (topic communities), and follow or membership edges form a graph, and breadth-first search over it shows up as an easy warm-up in candidate reports. Reachability, degrees of separation, and connected components across followers and communities are the framings to expect.

Hot posts and top comments as top-K

Ranking the feed and the best replies is a top-K problem. The a Premium question design with a dynamic k, plus top-K-frequent and merge-K, map straight onto surfacing hot posts (the ranked front page) and the highest-scored comments. A heap is the tool; the follow-ups probe streaming updates.

The Reddit angle
Karma and vote counts make ranking a recurring undercurrent, so the heap and streaming patterns are worth extra reps. Karma is the running score a post or comment earns from up and down votes. Almost everything Reddit surfaces (the hot feed, the popular page, the best-sorted comments) ranks over those counts. In a coding round that takes the shape of top-K over a stream: values keep arriving, and you need the current kth largest or the top handful cheaply at any moment. It is a genuine fit rather than manufactured product flavor, which is why the heap family earns real practice time even though the pure algorithm is textbook. Get the insert-and-query-in-log-k reflex down and the Reddit-flavored versions become follow-up questions, not new problems.

One more thread runs through the coding rounds, and it has nothing to do with the algorithm. Reddit reads for how you work, not just what you ship.

The Reddit angle
Behavioral signal is woven into the coding rounds, so how you collaborate is graded next to whether the code runs. Reddit’s loop carries a dedicated values round, and it does not confine the culture read to that hour. Coding rounds have opened with a prompt like describe a time you influenced others, and interviewers score how you take a hint and how you narrate a trade-off. There is also a persistent product thread across the loop: how you actually use Reddit and what you would change. Have a concrete answer ready. Name a subreddit you frequent or a rough edge you would fix. That product-mindedness ties directly to the company mission: bringing community, belonging, and empowerment to everyone in the world. Think out loud, restate a follow-up before you code it, and treat a nudge as help rather than a hit.

What This Section Covers

Five lessons follow, ordered roughly by how heavily Reddit leans on each family. Each one opens with how the pattern shows up in a Reddit round and which problems recur, then works the high-frequency examples with the multi-part follow-ups stacked the way the screen stacks them. Where a lesson rests on a base algorithm, the full build lives in the free Foundations course, so these pages stay on what is specifically Reddit.

Arrays, Strings & Hashing

The medium warm-up spine and the family that leads the loop. Product of Array Except Self, longest subarray summing to zero, and string parsing, worked as the single meatier problem the screen tends to hand you rather than two quick ones. Start here.

Trees & Comment Structures

Depth-first traversal over the nested comment tree: depth-weighted sums, flattening a nested structure, max-depth, and aggregate-by-parent. The n-ary and recursion work that Reddit’s reply threads make a natural fit, with the design-flavored follow-ups called out.

Graphs & Search

Breadth-first and depth-first search over the follower and community graph: reachability, degrees of separation, level-order, and connected components. The easy BFS warm-up candidates report sits here, alongside the grid and topological-sort staples.

Heaps & Top-K

Ranking the feed and the best comments as a heap problem: a Premium question with a dynamic k, top-K-frequent, and merge-K. The streaming-update follow-ups that map onto hot posts and karma-sorted replies.

Dynamic Programming

Canonical medium DP breadth, with at least one likely at the onsite: the buy-and-sell-stock and a Premium question families, climbing stairs, and longest-subsequence variants. No Reddit-specific signature, so this is standard onsite coverage done cleanly.

Common questions

Does Reddit use LeetCode?

In effect, yes. The coding rounds draw from the same canonical medium data-structures-and-algorithms bank that LeetCode drills, so problems you grind there carry over directly. What is specific to Reddit is the format: one long problem that grows three or four follow-ups on the same code rather than two quick separate ones. Prepare by drilling clean extension under time, not by hunting a secret Reddit-only problem list.

Does Reddit give an online assessment?

There is no well-established standalone take-home or async assessment for software roles, so treat the live technical phone screen as the first real technical gate. It runs in a CodeSignal-style executable editor over video, where your code must compile and pass the given test cases rather than sit as whiteboard pseudocode.

What programming language should I use for the Reddit coding interview?

The one you are fastest and cleanest in, since the rounds grade running, readable code rather than a specific stack. Reddit's own backend skews Python and Go, but the interview does not require either. A language you can refactor quickly under time matters more than matching the house stack.

Does the Reddit coding round include system design?

No. Distributed scale and architecture live in a separate round; the coding rounds stay on data structures, algorithms, and clean object-oriented design like the hit counter and a Premium question. The Reddit-shaped design prompts are covered in What Reddit Tests in System Design.

Key Takeaways

  • ✓Reddit coding is a standard, medium-centered DS&A bar with no exotic problem class. The differentiator is format: one long problem that grows three or four follow-ups on the same codebase, run in a CodeSignal-style editor where your code must execute and pass the given cases. Prepare by drilling clean extension under time, not by hunting a secret Reddit problem list.
  • ✓The failure mode is pacing. Nail the early parts fast to bank time for the later follow-ups, and keep the code compiling the whole way. Be ready for a "make it thread-safe" turn on design set pieces like the hit counter. Concurrency-awareness is a plus signal.
  • ✓The over-weighted families are arrays and hashing, design and object-oriented with time-windows, trees, graphs, heaps, and dynamic programming. The product’s own shapes are the natural framings: comment threads as DFS over a tree, the follower and community graph as BFS, and hot posts and top comments as top-K over a stream.
  • ✓Behavioral and product signal ride inside the coding rounds. Interviewers score how you collaborate and take a hint, and a why-Reddit thread runs across the loop. Narrate your reasoning. Have a concrete answer for how you use Reddit and what you would improve.
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 · Cancel anytime
Or start freeNo card.

Get their questions first.

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