Prepare for your Senior React Interview
Two tracks: learn the newest React 19 features through interactive lessons, and drill 400+ classic interview questions recruiters actually ask.
Track 1 · React 19 Features
Hands-on lessons with Monaco editor and live preview. Master use(), useActionState, useOptimistic, useFormStatus, <Activity>, and more.
React 19: The Async Revolution
A crash course on the new primitives designed for speed, concurrency, and effortless state management.
1. The use() Hook
Unwrap promises directly in render. React automatically suspends the component until data is ready.
2. Action Hooks
Automate form lifecycles. useActionState tracks pending status & errors automatically.
3. <Activity>
Mark trees as hidden to preserve scroll position and state without active resource consumption.
4. useEffectEvent
Extract non-reactive logic. Ensure your effect only re-runs when specific dependencies change.
- Lesson 1
The Death of useEffect for Fetching
The new use API
The Shift: We no longer need useEffect + useState + loading flags for simple data fetching. We can "unwrap" promises dir...
Start Lesson - Lesson 2
Forms Without Tears (useActionState)
Server Actions & State
The Shift: Forget onSubmit, e.preventDefault(), and creating generic isSubmitting states. React 19 handles the form life...
Start Lesson - Lesson 3
Component Communication (useFormStatus)
Deep State Access
The Shift: You have a SubmitButton nested deep in a form. In React 18, you had to pass loading props down 5 levels. In R...
Start Lesson - Lesson 4
The Optimistic UI (useOptimistic)
Instant Gratification
The Shift: Users hate waiting. Even if the server takes 2 seconds, show the change instantly....
Start Lesson - Lesson 5
The React Compiler (No More useMemo)
Automatic Optimization
The Shift: React 19 introduces the React Compiler (optional build tool). It automatically memoizes your components and v...
Start Lesson - Lesson 6
The Death of forwardRef
ref as a Prop
The Shift: For years, passing a ref to a child component was a nightmare. You had to wrap the child in forwardRef and se...
Start Lesson - Lesson 7
Native Metadata (RIP react-helmet)
Document Metadata Hoisting
The Shift: Changing the <title> or adding <meta> tags used to require 3rd party libraries or messy useEffect hacks. Reac...
Start Lesson - Lesson 8
Clean Context Providers
<Context> as a Provider
The Shift: We no longer need to type .Provider. It's a small change, but it removes visual noise....
Start Lesson - Lesson 9
Ref Callback Cleanup
ref Cleanup Functions
The Shift: When using a "Callback Ref" (a function passed to ref instead of a useRef object), you couldn't easily clean ...
Start Lesson - Lesson 10
The Architecture (Client vs Server)
Directives ("use client", "use server")
The Shift: While popularized by Next.js, these are now core React specifications. They define the "boundary" between cod...
Start Lesson - Lesson 11
Web Components Interop
Custom Elements Support
The Shift: React 18 and below struggled with Web Components (e.g., <my-slider>), often failing to pass properties correc...
Start Lesson - Lesson 12
Native Asset Loading (Styles & Scripts)
Resource Hoisting & Deduplication
The Shift: In React 18, if you wanted to lazy-load a stylesheet or a script for a specific component, you had to use ext...
Start Lesson - Lesson 13
The "Hydration Error" Fix
Debugging Sanity
The Shift: Everyone who has used Next.js or SSR knows the dreaded error: Text content does not match server-rendered HTM...
Start Lesson - Lesson 14
useDeferredValue Initial Config
Hiding the "Stale" State
The Shift: useDeferredValue is used to keep the UI responsive during heavy updates. Previously, you couldn't set an init...
Start Lesson - Lesson 15
Preloading APIs (preload, preinit)
Browser Hints
The Shift: Instead of manually adding <link rel="preload"> tags in your index.html and hoping they match your components...
Start Lesson
Track 2 · Classic Interview Q&A
400+ questions and answers curated from real interview practice. Filter by category, search by keyword, and track progress with spaced repetition.
- Core React#1
What is React?
View answer - Core React#2
What is the history behind React evolution?
View answer - Core React#3
What are the major features of React?
View answer - Core React#4
What is JSX?
View answer - Core React#5
What is the difference between an Element and a Component?
View answer - Core React#6
How to create components in React?
View answer - Core React#7
When to use a Class Component over a Function Component?
View answer - Core React#8
What are Pure Components?
View answer - Core React#9
What is state in React?
View answer - Core React#10
What are props in React?
View answer - Core React#11
What is the difference between state and props?
View answer - Core React#12
What is the difference between HTML and React event handling?
View answer - Core React#13
What are synthetic events in React?
View answer - Core React#14
What are inline conditional expressions?
View answer - Core React#15
What is "key" prop and what is the benefit of using it in arrays of elements?
View answer - Core React#16
What is Virtual DOM?
View answer - Core React#17
How Virtual DOM works?
View answer - Core React#18
What is the difference between Shadow DOM and Virtual DOM?
View answer - Core React#19
What is React Fiber?
View answer - Core React#20
What is the main goal of React Fiber?
View answer - Core React#21
What are controlled components?
View answer - Core React#22
What are uncontrolled components?
View answer - Core React#23
What is the difference between createElement and cloneElement?
View answer - Core React#24
What is Lifting State Up in React?
View answer - Core React#25
What are Higher-Order Components?
View answer - Core React#26
What is children prop?
View answer - Core React#27
How to write comments in React?
View answer - Core React#28
What is reconciliation?
View answer - Core React#29
Does the lazy function support named exports?
View answer - Core React#30
Why React uses `className` over `class` attribute?
View answer - Core React#31
What are fragments?
View answer - Core React#32
Why fragments are better than container divs?
View answer - Core React#33
What are portals in React?
View answer - Core React#34
What are stateless components?
View answer - Core React#35
What are stateful components?
View answer - Core React#36
How to apply validation on props in React?
View answer - Core React#37
What are the advantages of React?
View answer - Core React#38
What are the limitations of React?
View answer - Core React#39
What are the recommended ways for static type checking?
View answer - Core React#40
What is the use of `react-dom` package?
View answer - Core React#41
What is ReactDOMServer?
View answer - Core React#42
How to use innerHTML in React?
View answer - Core React#43
How to use styles in React?
View answer - Core React#44
How events are different in React?
View answer - Core React#45
What is the impact of indexes as keys?
View answer - Core React#46
How do you conditionally render components?
View answer - Core React#47
Why we need to be careful when spreading props on DOM elements?
View answer - Core React#48
How do you memoize a component?
View answer - Core React#49
How you implement Server Side Rendering or SSR?
View answer - Core React#50
How to enable production mode in React?
View answer - Core React#51
Do Hooks replace render props and higher order components?
View answer - Core React#52
What is a switching component?
View answer - Core React#53
What are React Mixins?
View answer - Core React#54
What are the Pointer Events supported in React?
View answer - Core React#55
Why should component names start with capital letter?
View answer - Core React#56
Are custom DOM attributes supported in React v16?
View answer - Core React#57
How to loop inside JSX?
View answer - Core React#58
How do you access props in attribute quotes?
View answer - Core React#59
What is React proptype array with shape?
View answer - Core React#60
How to conditionally apply class attributes?
View answer - Core React#61
What is the difference between React and ReactDOM?
View answer - Core React#62
Why ReactDOM is separated from React?
View answer - Core React#63
How to use React label element?
View answer - Core React#64
How to combine multiple inline style objects?
View answer - Core React#65
How to re-render the view when the browser is resized?
View answer - Core React#66
How to pretty print JSON with React?
View answer - Core React#67
Why can't you update props in React?
View answer - Core React#68
How to focus an input element on page load?
View answer - Core React#69
How can we find the version of React at runtime in the browser?
View answer - Core React#70
How to add Google Analytics for React Router?
View answer - Core React#71
How do you apply vendor prefixes to inline styles in React?
View answer - Core React#72
How to import and export components using React and ES6?
View answer - Core React#73
What are the exceptions on React component naming?
View answer - Core React#74
Is it possible to use async/await in plain React?
View answer - Core React#75
What are the common folder structures for React?
View answer - Core React#76
What are the popular packages for animation?
View answer - Core React#77
What is the benefit of styles modules?
View answer - Core React#78
What are the popular React-specific linters?
View answer