Interview Strategy July 5, 2026 11 min read

Frontend Interview Prep: The Three Rounds Nobody Practises

David Park

David Park

Product Manager

Frontend interview preparation has a specific trap: the loop is only partly made of algorithm questions, and the other part is not on any problem archive. You will be asked to build a component live, to explain how the browser got from a script tag to a painted pixel, and to reason about accessibility on a design nobody wrote a spec for.

A screen showing frontend code and a rendered interface

What a frontend loop is actually made of

RoundTypical shareWhat it looks likePrepared by most candidates
Build a component1 to 2 roundsTypeahead, tabs, modal, infinite listRarely
JavaScript fundamentals1 roundImplement debounce, promise queue, event emitterSometimes
Algorithms1 roundUsually easier than backend equivalentsHeavily
Frontend system design0 to 1 roundDesign a feed, a chat client, a dashboardAlmost never

The column on the right is the whole article. Preparation is concentrated on the round with the smallest weight, and the two rounds that most often decide the outcome are the ones nobody rehearses.

The component round, done properly

You will be asked to build something small and interactive in thirty to forty minutes. What is actually assessed is not whether it works but which of the unglamorous concerns you reach for without prompting.

Keyboard and accessibility88%Loading, empty and error states79%Race conditions on async74%Sensible state ownership66%Visual polish21%Illustrative weight of what interviewers comment on in component rounds

A typeahead that looks beautiful but drops the arrow keys, ignores a stale response arriving after a newer one, and has no empty state will lose to a plain one that handles all three. Say each of them out loud as you go, even if you run out of time to implement them. Stating "I would cancel the in-flight request here" earns most of the credit of doing it.

๐Ÿ”‘ The four states rule

Every component that touches the network has four states: loading, empty, error, and loaded. Naming all four in the first two minutes marks you immediately as someone who has shipped interfaces rather than only built them.

The fundamentals worth actually knowing

Frontend trivia is endless, so it helps to know which parts recur. These are the ones that come up repeatedly and reward real understanding rather than a memorised definition.

TopicThe question behind the question
Event loop, microtasksCan you predict the order of a mixed set of timers and promises
ClosuresCan you implement debounce and throttle from scratch
Event delegationDo you understand bubbling well enough to handle a thousand rows
Rendering pipelineWhy does this layout thrash, and what would you change
Caching and bundlesWhy the first visit is slow and the second is not
"There are only two hard things in Computer Science: cache invalidation and naming things."
- Phil Karlton, as popularised by Martin Fowler

Frontend engineering is largely those two things wearing different hats. Cache invalidation turns up as stale client state; naming turns up as component boundaries. Interviewers probe both, usually without calling them that.

Frontend system design, the round nobody prepares

"Design a news feed" as a frontend question is not about databases. It is about pagination strategy, optimistic updates, cache invalidation on the client, what you render on the server, how you handle a slow network, and what happens when the user has three tabs open.

Prepare it the same way as backend system design: pick four common products, and practise talking through the client architecture for each until the arc is comfortable. A feed, a chat client, a collaborative editor, and an analytics dashboard cover most of the space.

Where to practise each part

Use LeetCode logoLeetCode for the algorithm round and stop there, because it does not cover the other three. Build the components in a real editor with a timer running. And do at least a few of them spoken, because narrating while writing JSX is harder than narrating while writing a function, and it is the exact skill the component round measures.

Frontend mocks on Devana

Choosing a frontend role changes the question pool, not just the wording, so you get component work, JavaScript fundamentals and client-side design rather than backend algorithm questions with different labels. The interviewer interrupts and follows up on what you actually write, which is the part that no amount of solo building rehearses.