Home

React, revised in a day

Everything a senior React interview asks — in plain language, with short examples you can edit and run right on the page. 15 modules, 115 questions, and a quick-recap cheat sheet for the last hour before the call.

0 of 15 modules done

Modules

How to use this

The fast route

Read a module top to bottom (10–15 minutes each). Don't memorise the long text — read the In one line box, look at the example, then read the 30-second interview answer out loud. That last box is what you actually say in the interview.

If you have…Do this
2 daysModules 00–07 on day one, 08–14 on day two. Flashcards each evening.
1 dayModules 00, 03, 04, 05, 09, 12, 14 (the ones interviewers dig into), then the cheat sheet.
2 hoursCheat sheet → flashcards → skim the Trap boxes only.
30 minutesCheat sheet, printed. Read the bold parts twice.

The live examples

Every example is editable. Change the code and press Run (or Ctrl+Enter); press Reset to get the original back. Anything you console.log appears under the output — useful for seeing exactly when useEffect fires.

Two small things

Examples use React.useState instead of an import, because there is no build step here — everything runs in the browser. In a real project you would write import { useState } from "react". Every example must define a component called App; that is the one that gets rendered.

What's covered

Your 80 questions, grouped into 15 modules, plus Module 00 on how a React project is actually wired (index.html → main.tsx → App.tsx, providers, Vite structure) and a Senior Extras module with the topics interviewers commonly add on top: useReducer, React 19, stale closures, fetch race conditions, StrictMode, testing and folder architecture — plus dedicated coverage of MSAL with Authorization Code + PKCE (Module 10), React Hook Form with zod (Module 7) and a full TanStack Query module (Module 14) whose examples run the real library.

Search

Type in the search box at the top of the sidebar (try "memo", "key", "token") to jump straight to any question from any page.