The rounds
| Round | Format | What it tests |
|---|---|---|
| JavaScript fundamentals | 45 min discussion plus small snippets | Closures, async, this, prototypes |
| Build a component | 60 min live coding | The main event - real UI from a spec |
| Browser and performance | 45 min | Rendering, loading, Core Web Vitals |
| System design (frontend) | 45 min, mid+ levels | Component architecture, state, data fetching |
| Accessibility | Often folded into the build | Semantics, keyboard, ARIA where needed |
JavaScript fundamentals
- Closures - and a practical use, not just a definition.
- The event loop. Order of output with setTimeout, promises and microtasks. Extremely common.
- this binding across a normal function, an arrow function and a method.
- Debounce and throttle - the difference, and implementing one from scratch.
- Shallow versus deep copy, and why spreading a nested object surprises people.
- Event delegation, and why it matters for a long list.
The build-a-component round
A typical prompt: build an autocomplete, a modal, a star rating or an infinite-scroll list. Work the way you would on the job:
- Clarify the spec first. Does it need to be keyboard accessible? Is data local or fetched? Debounced?
- Get something on screen quickly, then improve. A blank screen at minute thirty is the failure mode.
- Handle the states. Loading, empty, error. Candidates who only build the success path leave the clearest gap, and it is the easiest one to avoid.
- Do the keyboard case. Arrow keys and Escape in an autocomplete, focus trapping in a modal. This visibly separates candidates.
- Say what you would do with more time at the end - it recovers most of the credit for anything you left out.
Rendering and performance
- What happens between typing a URL and seeing the page? A classic, and the frontend half is what counts here.
- Reflow versus repaint, and which CSS properties avoid both.
- What are the Core Web Vitals, and what actually improves LCP?
- How would you find out why a page is slow? Expect a method - open the performance panel - not a list of tips.
- Code splitting, lazy loading, and the trade-off of too many small chunks.
- Why does an image without dimensions hurt layout stability?
React-specific questions
- Why does this component re-render more than expected, and how would you confirm it?
- What does the dependency array actually do, and what breaks when it is wrong?
- Keys in lists - what goes wrong with an index as the key?
- When is context the wrong tool for state?
- Server components versus client components, at a high level, if the role uses a framework that has them.
Where CoPilot Interview fits
Disclosure: we build an interview assistant, so treat this as a disclosed pitch. CoPilot Interview is a native Windows and macOS app that puts suggested answers on your own screen in about two seconds, across coding, system design and behavioral rounds, with a permanent free tier that needs no credit card.
There is a role page at frontend interview help, and the live-coding setup advice in live coding interview tips for Zoom and Teams applies directly to the build round.
Frequently asked questions
What questions are asked in a frontend interview?
JavaScript fundamentals such as closures, the event loop and this binding; a live build-a-component round which is usually the main event; browser rendering and performance including Core Web Vitals; and for mid-level and above, a frontend system design round on component architecture and state.
Do frontend interviews still ask LeetCode questions?
Less than they used to. Most loops have moved to building a small real component from a spec, which is closer to the job. Some larger companies still include a general algorithm round, so it is worth keeping basic patterns fresh.
What is the build-a-component round looking for?
That you clarify the spec, get something rendering early rather than perfecting in silence, and handle loading, empty and error states rather than only the success path. Keyboard handling - arrow keys, Escape, focus trapping - is what most visibly separates candidates.
How important is accessibility in frontend interviews?
It is rarely a separate round and is usually assessed inside the build - whether you use a button rather than a div, label inputs, and manage focus. That makes it cheap to get right and conspicuous when ignored.
Walk into the round with a second pair of eyes
CoPilot Interview is a native Windows and macOS app that puts suggested answers on your own screen in about two seconds, across coding, system design and behavioral rounds. The free tier is permanent: 15 minutes a day, no credit card.
Try it free