Reddit · Study
Reddit Interview Process & Questions
TrueInterview
July 24, 2026 · 12 min read
Reddit tests coding with practical, multi-part problems drawn from its own product (moderator logs, chat message windows, tennis scoring, billing states) rather than trick algorithms, and interviewers often announce four or five parts while saying completion is not expected. What decides more loops than the coding is the hiring-manager round, which turns into a domain exam on specialized teams such as ads, and the post-panel steps (team matching, down-leveling, headcount) that have ended technically strong loops.
This guide breaks down each stage of the Reddit interview, what interviewers evaluate in each round, and how to prepare, with questions candidates were actually asked.
Verified: Based on 31 candidate-reported interview experiences, cross-checked against recent public accounts.
Reddit interview process

The skeleton is shared across engineering: a recruiter call, one technical screen (or a timed online assessment in some pipelines), then a virtual onsite of four to five rounds of about an hour each. The content is team-dependent: ads, ML platform, search and core product loops share the shell but diverge in the design and hiring-manager rounds. Every report describes a fully remote process.
Machine Learning Engineer loops open with a modeling case and add ML fundamentals and ML system design. At senior level the design and hiring-manager rounds weigh more, and an unfinished coding round can cost a level.
Here's what the interview process can look like:
- Recruiter screen: A 30–45 minute call on background, target level and which team owns the role.
- Online assessment (some pipelines): An autograded exercise replacing the live screen, such as a small text-protocol server or a chat-merge task.
- Technical phone screen: A 45–60 minute shared-editor session with one practical problem that grows, or a modeling case for ML roles.
- Coding interviews (onsite): One or two hour-long rounds of staged implementation problems.
- System design interview (onsite): One or two product-shaped design rounds; ML candidates get ML system design plus an ML fundamentals round.
- Hiring manager interview: Multiple stories about recent work, or a domain deep dive on specialized teams.
- Cross-functional and behavioral interview: Collaboration with product, design and data partners, sometimes run by a product manager.
Tip: Ask the recruiter which org owns the role and whether team matching comes before or after the loop. An ads hiring-manager round and an ML platform design round each need preparation a generic loop does not.
Recruiter screen
The call is short and non-technical: background, target level, location and the next stage. Its real value is learning which org owns the requisition, whether your pipeline uses a live screen or an assessment, and how the next round runs; one candidate was told the next stage was a backend coding round run differently from standard live coding.
Interviewers evaluate:
- Level fit: The scope of your recent work, which sets the target level for the loop.
- Domain match: Hands-on background in the team's area, such as ad serving, ranking, ML infrastructure or safety.
Bring a two-minute summary of a recent project and a specific reason for the team.
Sample questions for the recruiter screen
Here are some questions reported by recent candidates:
- Tell me about yourself and the most recent project you owned.
- Why Reddit, and why this team?
Online assessment
Some Software Engineer pipelines swap the live screen for a timed, autograded exercise. One recent version asked for a working subset of the memcached text protocol over TCP: get returns a VALUE header with the byte count, the raw bytes and END (only END for a missing key), set reads exactly the declared byte count, keys match a fixed character class, commands are case-sensitive, and a bonus adds multi-key get. Another asked candidates to gather chat messages from overlapping context windows through an API that returns sorted pages and return one deduplicated sorted list.
Interviewers evaluate:
- Exact output: Grading is on byte-level conformance; a stray line on a missing key fails tests.
- Using input guarantees: The chat version expects a linear merge of pre-sorted pages, not collect-then-sort.
Practice a line-based protocol parser and a k-way merge with deduplication under a timer.
Note: The chat-merge assessment fails an O(M log M) solution on performance even when its output is correct. When an API promises sorted results, the grader expects you to exploit it.
Sample questions for the online assessment
Here are some questions reported by recent candidates:
-
Implement
getandsetfor a pseudo-memcached server, including multi-keygetand key validation. -
Merge messages from several sorted context-window API calls into one deduplicated sorted list in linear time.
Technical phone screen
The screen is a 45–60 minute video call in a shared editor such as CoderPad: five to ten minutes of introductions, then one problem that gains requirements. Software Engineer prompts recur: merging chat-message lists without a built-in set, tennis scoring, a billing-status state machine that throws on invalid transitions, report-chain queries, a fixed-window rate limiter, and a moderator-log parser. A frequent follow-up is designing a cache for the repeated API call.
Machine Learning Engineer screens are a working case instead: turning nested JSON into a dataframe and comparing four classifiers, exploring a click log before explaining XGBoost internals, or handling 20 percent positive labels against an F1 target. ML platform candidates got plain coding (tennis scoring) instead. Candidates are usually told to expect results within a week.
Interviewers evaluate:
- Clean modeling: An explicit state machine or lookup table, with errors for illegal transitions from terminal states.
- Absorbing new requirements: Version-aware deduplication or a permission check handled as a small refactor, not a rewrite.
- Tests: Interviewers often ask for test cases; strong candidates write them unprompted.
- Model judgment (ML): Why a model or metric fits this data, not library syntax; one interviewer allowed syntax lookups.
Solve each recurring family twice: a 20-minute baseline, then with two added follow-ups.
Tip: On tennis scoring, check the win condition before the deuce reset; one interviewer flagged the bug that turns a 5-3 win into a 3-3 reset. Another candidate spent so long on tie-break rules that only 20 minutes remained for code, and was rejected.
Sample questions for the technical phone screen
Here are some questions reported by recent candidates:
-
Merge several message lists, deduplicate without a set, then keep only the highest version of each message.
-
Given a manager-to-reports adjacency list, print the tree indented, list everyone above and below a node, and find the lowest common manager.
-
Explore a click dataset with per-category hour columns, then build and compare CTR models.
Coding interviews
Onsite coding is one or two hour-long rounds in the same practical style with a larger surface. A representative round built a moderator system in five steps: parse an activity log, check whether one moderator can remove another based on addition order, rank moderators by most recent addition, add a per-community layer, and demote a moderator by one position, which called for a doubly linked list. Other rounds included a sliding-window rate limiter, a word-ladder variant, and two classic problems in an ML infrastructure loop where AI assistance was banned.
Interviewers evaluate:
- Data-structure pivots: Moving from a map to an ordered structure once requirements need ordering with O(1) updates.
- Right-sizing: One candidate reached for union-find on a plain reporting hierarchy when a map plus DFS sufficed.
- Finishing what you start: Unreached parts are forgiven; a started part left incomplete, even cosmetic indentation, is recorded.
Practice staged problems with a timer that interrupts you, so each part is left working before the next begins.
Note: Machine Learning Engineer candidates face the full engineering bar here. A senior candidate who finished one and a half parts of the moderator problem was down-leveled after the onsite, and then no headcount existed at the lower level.
Sample questions for the coding interviews
Here are some questions reported by recent candidates:
-
Build a moderator system from action logs with removal permissions, ranking, per-community state and demotion.
-
Implement a thread-safe sliding-window rate limiter that evicts expired timestamps in constant time.
-
Decide whether two words connect through dictionary words when each step changes one or two characters.
System design interview
Software Engineer loops run one or two design rounds on site features: a global game leaderboard scaled from one server, a notification system for millions of users, subreddit live chat fanning one message to five million concurrent viewers at a peak event, the hottest post of any day, a job scheduler, a rate limiter, a bill-status service, and comment ranking. Interviewers argue against your chosen approach; one candidate had to defend cache-plus-pull delivery against streaming push fan-out.
Machine Learning Engineer loops substitute ML system design (a feature store, predicting whether a user will comment on a post, personalized comment ranking, end-to-end video recommendation) and add an ML fundamentals round covering conversion-rate modeling, interpreting two overlapping distributions, bias-variance, regularization and cold start.
Interviewers evaluate:
- Incremental scaling: A working single-server baseline, then partitioning, caching and replication as bottlenecks appear.
- Operational depth: Rollout, CI/CD, testing, cache invalidation and reliability under load; one feature-store round spent most of its time here.
- Defending trade-offs: Holding or revising a position with a clear reason when challenged.
- ML lifecycle (ML track): Labels, batch and streaming features, cold start, low-latency serving, logging and A/B testing.
End every practice design with how it deploys, is tested and degrades.
Sample questions for the system design interview
Here are some questions reported by recent candidates:
-
Design live chat that fans one message out to five million concurrent viewers, comparing push and pull.
-
Design a system predicting whether a user will comment on a post, including cold start for new users and posts.
Hiring manager interview
Billed as behavioral, this round asks for highlights and lowlights of recent work, and the manager pushes for several distinct stories rather than one polished one. On generalist teams it stays a two-way fit conversation. On specialized teams it becomes a technical exam: on one ads team the hour covered ad serving, the programmatic ecosystem and ads metrics, and the candidate concluded the manager's read also colored how behavioral answers were scored.
Interviewers evaluate:
- Story range: Two or three examples per theme, including a genuine lowlight.
- Domain depth: Hands-on knowledge of the team's systems and metrics on specialized teams.
Treat this round as technical when the team is ads, ranking or another specialty.
Note: This is the most common rejection path for Software Engineer candidates on specialized teams who passed the technical rounds; domain experience outweighs general preparation.
Sample questions for the hiring manager interview
Here are some questions reported by recent candidates:
-
Walk through the highlights and lowlights of your recent work, with a second example for each.
-
Explain how ad serving works end to end and which metrics you would watch.
Cross-functional and behavioral interview
This round, often run by a product manager, tests work with product managers, designers and data scientists: conflict with non-engineering partners, aligning on ambiguous requirements, and influencing a technical decision. Some loops add a product-sense case; one ML infrastructure candidate had to improve new-user onboarding and define the metrics that signal a healthy flow.
Interviewers evaluate:
- Partnership: Being overruled gracefully and still shipping, or changing a partner's mind with data.
- Product sense: User empathy and simplicity-versus-engagement trade-offs.
- Measurement: The metrics that would show a change worked.
Prepare four or five collaboration stories and one improvement idea for a Reddit surface you use.
Sample questions for the cross-functional and behavioral interview
Here are some questions reported by recent candidates:
-
Describe a conflict with a product manager or designer and how it was resolved.
-
How would you improve Reddit onboarding, and what would tell you it worked?
How Reddit makes hiring decisions
Feedback goes to a debrief where the hiring manager's view carries heavy weight. The target level is set before the loop and can drop afterward; one senior Machine Learning Engineer was down-leveled, then lost the offer to missing headcount. Team matching can follow the screen, and one candidate's first assignment fell through, after which the recruiter went quiet and the role appeared frozen. Decisions range from three business days after a five-round remote loop to two weeks past a promised one-week answer with no formal notice. Passing every test case with positive in-room feedback has still ended in rejection. A rejection starts a 12-month cooldown.
Tip: If an interviewer seems a poor match, raise it with the recruiter; one offer-track candidate said Reddit accommodated a change. Follow up once when a promised date passes, and keep other processes alive until paperwork exists.
How to prepare for the Reddit interview
- Drill the recurring families: Message merges without a set, report chains, tennis and billing state machines, rate limiters and moderator logs, until each baseline takes 20 minutes.
- Timebox clarification to about five minutes: Then build a running baseline and add follow-ups one at a time.
- Finish every stated requirement: Formatting details such as indented output count once a part is started.
- Exploit input guarantees: Merge pre-sorted pages linearly and read protocol payloads by exact byte count.
- Add an operations pass to every design: Rollout, CI/CD, testing, caching and failure modes after the architecture.
- Research the team's domain: For ads, ranking or safety teams, learn the systems and metrics the hiring manager will probe.
- Keep coding sharp on the ML track: Expect a full-bar data-structure round alongside modeling, fundamentals and design.
- Bring surplus stories: Several highlights, lowlights and cross-functional conflicts, ready for follow-ups.
About working at Reddit
A few thousand employees run community, feed, search and ads systems at very large scale, and engineers describe wide ownership and product-attached work, which the interview prompts mirror. Many US roles are posted as remote, and the company describes itself as flexible-first.
| Level | Primary focus | Impact scope |
|---|---|---|
| IC1–IC2 | Delivering well-defined features with guidance | Tasks within one team |
| IC3 | Owning features and services end to end | One team's systems |
| IC4 (Senior) | Leading projects and setting technical direction | A team and its partners |
| IC5 (Staff) | Cross-team architecture and long-range bets | Several teams or an org |
Reddit hires engineers across product, ads and platform orgs. Teams include:
- Ads: Ranking, measurement modeling, targeting and retrieval, marketplace quality, and advertiser creative tools.
- Safety: ML that detects harmful content, plus ad safety and verification.
- Search and answers: Search relevance and AI answers built on community content.
- Feeds and relevance: Home feed, comment ranking and recommendations.
- ML platform and infrastructure: Feature stores, GPU inference for ranking and LLMs, and core platform services.
- Data and developer platforms: Data licensing, API access and tools for developers building on the site.
Experience and education requirements
A recent mid-level Software Engineer posting asked for three or more years of professional experience; senior and staff postings ask for more, plus a record of leading cross-team projects. Candidates in the reports coded in their language of choice, mostly Python and JavaScript. Machine Learning Engineer postings look for production experience with ranking, recommendation or classification models.
FAQs about the Reddit interview
How long does the Reddit interview process take?
Typically two to six weeks from first contact to decision. One offer arrived three business days after the onsite, while team matching or headcount issues can stretch it much longer.
What is the hardest round of the Reddit interview?
For Software Engineer candidates on specialized teams, the hiring-manager domain round; among technical rounds, system design, because of its operational follow-ups. For Machine Learning Engineer candidates, the coding round has decided outcomes most often.
What base salary ranges do Reddit engineering postings list?
Reddit posts base ranges for US roles: about $164K–$230K on a mid-level Software Engineer posting and about $191K–$267K on Senior Software Engineer postings, with restricted stock units on top.
What happens after a rejection?
Candidates report a 12-month cooldown before reapplying. Some received detailed recruiter feedback; others never got a formal notice.
Is the Reddit interview remote?
Yes. Every report describes a fully virtual process, from the screen through a four- or five-round onsite.