About
Frontend Interview Prep is a free, pattern-recognition-first study reference for frontend engineering interviews — covering JavaScript, TypeScript, React, system design, and data structures & algorithms.
The idea
Most interview prep drowns you in problem lists. This guide is built around one skill instead: reading a problem and recognising which technique it wants. Every question pairs the signal with the tool, then works it from easy to hard — with a detailed answer, complexity notes, runnable code, and links to canonical references (MDN, react.dev, the TypeScript handbook, and more).
Who made it
Frontend Interview Prep is written and maintained by Nachiket Salvi, a working frontend engineer. Rather than ask you to take a bio on trust, the site is built to be checkable: every answer links out to a canonical source — MDN, react.dev, the TypeScript handbook, or the relevant specification — so you can verify any claim at its origin instead of taking one person’s word for it. It is compiled from a single source of truth into an interactive web page, a Markdown file, and a Word document, so the same content stays consistent everywhere it appears.
Editorial standards
The answers here aim to be correct, current, and honest about trade-offs. A few principles keep them that way:
- Sourced to the primary reference. Where a fact can be pinned to an authority — a specification, MDN, or a framework’s own documentation — the answer links there, so you can confirm it and read further.
- Pattern over recipe. Each answer explains why a technique fits the problem, not just the steps, because that reasoning is what an interview actually probes.
- Trade-offs stated plainly. Where an approach has costs — memory, added complexity, edge cases — the answer names them rather than pretending one solution is always right.
- Corrections welcome. Technology moves and mistakes happen. If something is wrong or out of date, the contact page is the way to flag it; fixes are made at the source so every format updates at once.
What’s inside each question
Every entry starts with the problem and the signal to look for, then gives a full written answer, the key trade-offs or complexity notes where they matter, runnable code you can edit in place, and links to canonical references such as MDN, react.dev, and the TypeScript handbook. Questions are ordered easy to hard within each area so you can ramp up rather than jump around.
Areas covered
The corpus spans 265 questions across HTML/CSS, Browser, JavaScript, TypeScript, React, System Design, Accessibility, Web Performance, Testing, Networking/Security, and DSA — from layout, the box model and specificity in HTML & CSS, through how the browser loads and renders a page, into core JavaScript (closures, the event loop, prototypes), the TypeScript type system, React rendering and hooks, practical system design, building accessible interfaces with semantic HTML, ARIA and keyboard-operable widgets, making pages fast with the critical rendering path, Core Web Vitals and disciplined loading, testing at the right layer with the pyramid, Testing Library and disciplined mocking, HTTP and the browser security model with its defenses against XSS, CSRF and other web attacks, and the classic data-structure and algorithm patterns.
How to use it
Search or filter by area and difficulty, expand a question to study it, and mark it done — your progress is saved in your own browser. Use j / k to move between cards and o to open one. Nothing requires an account, and no progress ever leaves your device.