If you used my list of 650+ frontend interview questions last year, this is the rebuilt version, and it's free.
That list kept growing. The answers didn't get deeper. Many were correct but shallow: they told you what happens, not why, and the why is what interviewers push on.
So I started over. The new one is called isobath (a line on a map joining points of equal depth, because the point is to go one level deeper than the usual answer).
- Live: learn.sachinmaurya.com
- Source: GitHub
What an answer looks like
This is one answer from the React topic, word for word. It's the 30-second version, the thing you'd say first in the room:
How does reconciliation decide what to update in the DOM?
React compares the new elements with the previous render's tree, position by position. A different type at a position (div → section, Article → Comment) tears the old subtree down: effects cleaned up, DOM removed, state lost. The same type keeps the DOM node or component instance and updates only what changed. Keys identify children that moved.
Below that, the page explains the mechanism with one example you can run, then the pitfalls and the follow-up questions you're likely to get. The most-asked questions also get a deep dive at spec and engine level, and most end with exercises.
What's on it
Five topics are live: JavaScript (183 questions), TypeScript (63), HTML and CSS (61), Browser runtime (51) and React (54). That's 412 questions and about 4,900 flashcards.
- Follow a role path (Frontend is the furthest along), use practice mode or search.
- Study the flashcards with spaced repetition.
- Print a one-page cheat sheet for any chapter.
Progress stays in your browser. There's no account and no paywall. Each question is one Markdown file, and the sources it was checked against are listed on the question: the ECMAScript spec, MDN, engine blogs, official docs.
What's checked and what isn't
Everything is labelled Draft until I've reviewed it myself, and the site says so.
The JavaScript examples are the part I trust most: CI runs them, and the build fails if the printed output doesn't match the // → comment next to it. The React, TypeScript and browser examples aren't in CI yet. I ran the React and browser ones in Chrome and Firefox, which isn't the same as a check on every change. I haven't tested the site in Safari or on a real phone.
So if an answer looks wrong to you, it might be. Tell me.
What's next
Next.js comes next, then Node.js and the backend topics. 28 topics are planned in all; the roadmap page lists them.
If you want to help
Every question is one Markdown file, so a fix is an ordinary pull request:
- Found a wrong or unclear answer? Open a correction issue. One line is enough.
- Think a question is missing? Open a new-question issue from the same page, or write it yourself. The writing guide covers the format and which sources count.
The bar is the same for everyone, me included: primary sources, and examples that were actually run. Questions and flashcards are CC BY-NC-SA 4.0, code is MIT.
One question for you: which topic should come after Next.js? Tell me in the comments, and if you have an interview coming up, open one React question, read only the 30-second answer, and tell me if you'd have said it differently.

