Reddit · Primly Community

Reddit frontend engineer interview: what to expect in the technical rounds

qa_quinn · 5 replies

Just wrapped my Reddit frontend interview loop, mid-senior level (think IC4/L5 equivalent), and I want to be specific because the generic SWE writeups don't capture the frontend-specific flavor.

Shorter version: it was heavier on JavaScript fundamentals and system/component design than I expected, lighter on leetcode-style algorithms than I feared.

The loop:

Recruiter screen, technical screen (1 hour), then 4-round virtual onsite.

Technical screen was a mix: one coding problem (implement a debounce function from scratch, then extend it with a cancel method) and one conceptual question about the browser event loop. I'd say both were firmly in the "JS fundamentals" bucket, not framework-specific. They use React internally but they don't require it in the interview, they want to see that you understand the underlying platform.

Onsite: Frontend coding: Two problems. First was implementing a custom hook that managed paginated data fetching with caching. Second was a DOM manipulation problem without frameworks. Both felt realistic, like things you'd actually build at work. Component/UI design: Given a vague product prompt (build the vote counter component on a Reddit post), design the component API, state model, edge cases, and accessibility considerations. I didn't expect the accessibility angle but it came up hard. They asked specifically about keyboard navigation and ARIA. System design (frontend-flavored): Design the infinite scroll feed for Reddit at a high level. This covered things like virtual DOM windowing (they mentioned React Virtualized/Virtual by name), pagination vs. cursor strategies, and how to handle real-time updates when new posts arrive mid-scroll. Not a backend system design, fully frontend-scoped. Behavioral: Standard format. They focused on collaboration across engineering/design/product and on a time you had to advocate for a technical decision. Reddit's product surface is highly user-visible, so they want frontend engineers who care about the craft and can communicate with design.

Comp for the offer I got: $155k base, $50k/yr in equity, in Bay Area. This was for the mid-senior band. I know from a friend that the senior-senior bracket (principal/staff level on the FE side) is higher but I don't have current data on that.

One thing to know: the team I'd be joining worked on the web client rewrite (away from their older stack), so there was a lot of energy around modern web performance and Core Web Vitals. Brush up on LCP, CLS, that whole space if you're interviewing for web platform roles specifically.

5 replies

brand_ben

The accessibility angle is real. I've seen a bunch of frontend loops at consumer companies start testing for this more seriously in 2025-2026. Reddit has a lot of keyboard and screen reader users given the nature of the platform, so it actually makes sense they'd care. WCAG basics, ARIA roles, focus management under modals, that's the short prep list.

quietquit_quincy

The debounce-from-scratch question is almost a rite of passage at this point. I've gotten it or a version of it at three companies in the last two years. It's an easy way to test closure understanding, timing, and API design all at once. Also extend-with-cancel is the natural follow-up. Good to know Reddit is in that camp.

frontend_fran

Yeah and they extended it further: what if you want to support a leading-edge option (fire immediately, then suppress). That's where it got genuinely interesting. Practice the extensions, not just the base implementation.

growth_gabe

The infinite scroll system design round is clever. That's a problem Reddit literally has to solve at massive scale, so it's not a contrived scenario. Did they care about the SEO implications of infinite scroll at all or was it purely a frontend performance conversation?

frontend_fran

SEO came up briefly but it wasn't the focus. More of a 'how would you handle sharing deep links into the feed' tangent. The bulk of it was performance, virtualization, and real-time update handling.