Reddit Software Engineer interview questions

21 Software Engineers have shared notes from their Reddit interviews, with the questions they were asked in each round. That is 40% of the 52 Reddit interview notes on Screna AI.

21 Software Engineer interview notes

Reddit·Software Engineer·Technical Phone Screen

Jul 2026
Reddit coding interview that was basically a word ladder variant with a twist. The problem itself wasn't too bad once I recognized the BFS angle, but the follow-up questions on complexity and large-dictionary optimizations pushed me more than I expected.
  • Given a start word, an end word, and a dictionary of same-length words, find the shortest transformation sequence where each step changes exactly 1 or 2 characters (substitutions only) and every intermediate word must be in the dictionary. Return the path or an empty list if none exists.
  • Why would you choose BFS over DFS for finding the shortest path in this word transformation problem?
  • What is the time and space complexity of your solution?
  • How would you optimize this solution for very large dictionaries?
  • How does your solution behave when the start word is not present in the dictionary?

“I recognized the word ladder pattern pretty fast but the '1 or 2 characters' twist tripped me up for a minute.”

View Post

Reddit·Software Engineer·Technical Phone Screen

Jul 2026
Reddit coding interview focused entirely on a reporting chain problem, basically a tree traversal setup with multiple sub-problems. The tricky part was that each sub-question had a different expected output format, which I didn't fully register until I was already mid-answer.
  • Given an employee/manager hierarchy, write a query to find who a given employee's manager is.
  • Write a query to list all direct and indirect reports under a given manager.
  • Find the lowest common manager of two given employees in the hierarchy.

“Pretty straightforward self-join on the same table.”

View Post

Reddit·Software Engineer·Technical Phone Screen

Jun 2026
Reddit system design phone screen for a software engineer role. The problem was a rate limiter with a sliding window, which sounds straightforward until you're actually in it and someone's watching you think out loud.
  • Design and implement an in-memory rate limiter using a sliding time window. The API should expose an allow(key, timestamp) method that returns whether a given request is permitted, enforcing at most N requests per W seconds per key.

“I went straight to a queue-per-key approach, storing timestamps and evicting anything outside the window on each call.”

View Post

Reddit·Software Engineer·Technical Phone Screen

Jun 2026
Reddit SWE interview with a logic-based admin permissions question. Pretty focused, just the one problem from what I can tell.
  • Given two admin usernames, write a function that determines whether the first admin can delete the second. The rule is based on which admin was added to the system first. Return a boolean.

“Seems straightforward but the interesting part is figuring out how you're supposed to know who was added first.”

View Post

Reddit·Software Engineer·Technical Phone Screen

Jun 2026
Reddit coding round, one big open-ended problem on rate limiting. The prompt gave you almost nothing and expected you to drive the whole design conversation yourself, which I was not fully prepared for.
  • Design and implement a RateLimiter class with an allow(key) method that returns whether a request should be permitted under a configured policy. You're expected to drive all major design decisions yourself.

“The open-endedness was the hard part.”

View Post

Reddit·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Reddit for a software engineering role. The whole session was basically one big deep dive into leaderboard architecture, which sounds contained but spiraled into a lot of territory fast.
  • Design a real-time game leaderboard that supports score updates, top-K queries, rank lookups, range queries (e.g. players ranked around a given position), and multiple leaderboard scopes like per-region or per-time-window.

“I started with Redis sorted sets because that felt obvious, but then the follow-ups kept coming and I realized I hadn't thought hard enough about the sharding story.”

View Post

Reddit·Software Engineer·Technical Phone Screen

Jun 2026
Reddit SWE interview with a billing domain coding problem. The question was more involved than I expected, lots of moving parts with event ordering and status transitions.
  • Given a per-account history of billing events (charges, payments, refunds, adjustments, due dates), implement a system that computes the current billing status for each account. Statuses include things like CURRENT, PAST_DUE_30, PAST_DUE_60, DELINQUENT, and IN_COLLECTIONS, based on rules around time windows, grace periods, and payment ordering. Events must be processed in chronological order, and you should output the final status per account, plus any status transitions.

“I underestimated this at first.”

View Post

Reddit·Software Engineer·Technical Phone Screen

May 2026
Reddit SWE interview with a moderator privilege tracking problem that gets progressively nastier across three parts. Started manageable, ended with me questioning my life choices around linked list ordering.
  • Design a ModSystem class that initializes from a chronological log of moderation actions (each entry specifying a target user, an action of 'added' or 'removed', the acting user, and a timestamp). Implement a canRemoveMod method that checks whether one moderator has the rank to remove another, and a getModRanking method that returns all current moderators ordered from highest to lowest rank, where rank is determined by how early a user most recently became a moderator.
  • Extend the system to support multiple communities, where each log entry now includes a leading community field. All queries (canRemoveMod and getModRanking) become scoped to a specific community, and a user can hold moderator status independently across different communities.
  • Add a demote operation to the multi-community system. Calling demote on a user should move them exactly one position lower in that community's current moderator ranking. If the user is already last or isn't a moderator, nothing happens. Subsequent calls to getModRanking and canRemoveMod must reflect the updated order.

“The ranking rule is the part that trips you up.”

View Post

Reddit·Software Engineer·Onsite - System Design / Architecture

May 2026
Reddit system design round for a software engineering role, and they went deep on ML infrastructure. The whole session was basically one giant question about feature stores, which I was not fully prepared for at that level of detail.
  • Design a feature store that supports both offline model training and low-latency online inference. Walk through requirements, ingestion, storage, serving, and everything in between.
  • How would you ensure point-in-time correctness when serving features for offline training?
  • What caching strategy would you use for feature serving, and how would you handle cache eviction?
  • How do you approach reliability and fault tolerance for a feature store, and what SLOs would you define?
  • How would you handle governance, access control, and feature lineage in a feature store used by multiple teams?
  • Walk through how you'd test feature pipelines, including unit, integration, and end-to-end testing plus data validation.

“This was one question but it basically ate the entire session.”

View Post

Reddit·Software Engineer·Technical Phone Screen

May 2026
Reddit coding screen for a software engineering role. One problem, log processing, seemed deceptively straightforward but had some tricky details around ordering.
  • You're given a long log string where each entry has the format: admin2,add,admin1(executor),timestamp. Write a function that returns a list of admin names sorted by the most recent time they were added.

“The input format took me a second to parse mentally.”

View Post