Skip to main content

React Interview Questions

React Interview Questions is Cassidy Williams' 41-minute Pro course: nine slide-deck scrims of interview questions with her model answers, plus one coding exercise that converts a class-based counter into a function component with useState. If your interview is a week away and you already know React, it is a well spent lunch break.

Reviewed inside the course with a Pro account, September 2026: every scrim transcript read, the coding exercise worked through.

Quick answer​

This fits you if you already know React and have an interview coming up; it will not teach a beginner React. The catch is scope: it drills talking through concepts, not writing code under pressure, so pair it with React Challenges if your rounds are live coding. Once you are through it, Advanced React goes deeper on the concepts these questions only name.

Is it worth your time?​

Knowing React and explaining React out loud are different skills, and the second one is what a phone screen tests. That is the gap this course fills. Cassidy tells you in the first topic scrim how to use it: "As I ask each of the questions, please feel free to pause the video and think about your answer. Write down your answer even. Say it out loud." Then, a few seconds later: "It's gonna seem like we're drilling you, but, hey, that's what interviews are like." If you treat the pauses as real pauses, 41 minutes of video becomes a genuine mock interview, with a model answer after each attempt.

The answers are good. They are short, they name the one thing an interviewer wants to hear (for the virtual DOM question, "the key thing to bring up is diffing"), and they carry Cassidy's opinions rather than textbook neutrality. Class components? "In my very humble opinion, you should almost never use class based components." The context API? "You shouldn't overuse the context API, and that is really the key part of this question."

Two caveats. Scope first: this is talk-about-it preparation. It will not help you if your interviews are live-coding rounds; pair it with React Challenges for that. Then age: the project pins React 16.13.1, the code uses ReactDOM.render, and a few answers describe the world as it was around 2020. I list the specific ones below so you can update them before you repeat them in an interview.

What you'll learn​

Course curriculum

1 flat section · 13 scrims (11 course scrims plus two generic Scrimba clips), grouped here by topic

  1. Course introduction2 min1 lesson
  2. The virtual DOM and React limitations9 min2 lessons
  3. JSX and props7 min2 lessons
  4. State, lifecycle, and effects8 min2 lessons
  5. Refs and context6 min2 lessons
  6. Miscellaneous (but important!) questions8 min1 lesson
  7. Conclusion and Scrimba clips4 min3 lessons

Scrimba presents the course as one flat list of 13 scrims with no sections, so the grouping above is mine. The 11 course scrims, intro through conclusion, add up to 40 minutes 33 seconds of video, which Scrimba's header rounds to 40 min and this site to 41. The two generic Scrimba clips at the end add about three more minutes, which is why the rounded section times above come to 44.

Inside the course, scrim by scrim​

1. Course introduction (1:54, 1 scrim)​

Title slide of Scrimba's React Interview Questions course: a yellow code-editor styled card reading React Interview Questions, // cassidy williams
A free preview: Cassidy sets the format, drilling what you already know rather than teaching new React.

Cassidy introduces herself as a principal developer experience engineer at Netlify, which dates the recording (her Scrimba teacher card now describes a developer advocacy role at GitHub). She sets expectations plainly: "this is for people who want a job doing React, and this is for people who generally already know React." Then the format: "I'm not going to be teaching you how to write React at all in this course, but rather I'll be kind of pushing your knowledge and asking you questions." The intro is a free preview, so you can hear the tone before paying.

2. The virtual DOM and React limitations (8:37, 2 scrims)​

Title slide of the Virtual DOM scrim in Scrimba's React Interview Questions course, reading The Virtual DOM on a yellow card
A free preview covering two questions: virtual DOM versus real DOM, and virtual DOM versus shadow DOM.

The Virtual DOM scrim (also a free preview) asks two questions. The first, what is the difference between the virtual DOM and the real DOM, gets a comparison table on the slide and a clear priority: "you can talk all you want about what I just showed you but the key thing to bring up is diffing." She also covers the React versus ReactDOM split, which is a common follow-up. The second question, is the virtual DOM the same as the shadow DOM, gets a quick no and the input-slider example of what the shadow DOM is for.

React Interview Questions, The Virtual DOM lesson: a slide with a two-column table comparing the virtual and real DOM.
The comparison table at 1:35 of the Virtual DOM scrim. Cassidy walks the rows, then tells you the one word to lead with in an interview: diffing.Screenshot of scrimba.com, taken by scrimbaguide.tech.

React Limitations is the scrim that has aged most. The four points (React is a library, not a framework; it is fairly large; it is owned by Facebook; the documentation) are still solid interview talking points. The details are from another era. The framework examples are Gatsby and Next.js, the smaller alternative is Preact, and the documentation complaint is that the docs "doesn't really touch on function components nearly as much as it touches on class based components." That was true of the old docs. React's rewritten documentation has been hooks-first for years, and the company is Meta. Give the modern versions of these answers.

3. JSX and props (7:14, 2 scrims)​

JSX is the first scrim where Cassidy leaves the slides for the editor. Three questions: what is JSX ("a lot of people say, oh, JSX is just putting HTML in your JavaScript, and that is not true"), what is the difference between an element and a component, and can you write React without JSX. For the second she types a <div> element holding a stretched-out hello, renders it, then wraps it in a function to show that "a component is a function that returns an element." For the third she replaces the JSX with React.createElement('div', null, 'Hellllooooo!') and runs it, then leaves you with "it is totally possible to write React without JSX, but why would you?"

React Interview Questions, JSX lesson: code editor showing a component built without JSX syntax.
The JSX scrim at 3:33. The preview still renders exactly the same, with React.createElement standing in for JSX line for line.Screenshot of scrimba.com, taken by scrimbaguide.tech.

Props opens with the course's worst joke ("I gotta give you props for getting this far because I'm a component that would give you props, I guess"), which Cassidy immediately disowns, and then covers three questions in three minutes. Parent to child is props; child to parent is a function passed as a prop and called by the child. Prop drilling is passing a value down through grandparent, parent, child, and, in her example, "atom." Can you modify props? "Props are read only," with an add(x, y) example to explain why components must act like pure functions with respect to their props.

4. State, lifecycle, and effects (8:00, 2 scrims)​

State and Lifecycle is, in Cassidy's words, "probably the most misunderstood section of React," and she asks you to answer these "without referring to your notes." Props versus state is framed as function parameters versus variables declared inside a function. The next question is the one I found most useful, and least often taught: how state differs between a class component and a function component. Her answer: "State and a class component is something that persists like an object. State in a function component is something that is recalled and reinstantiated because the function component is recalled and reinstantiated." Then the lifecycle: mounting, updating, and unmounting, with componentDidMount, componentDidUpdate, and componentWillUnmount named, and the punchline that in function components all of it becomes useEffect.

Effects goes deeper on that hook. It takes two parameters, a function and a dependency array. The timing depends on the array. An empty array runs on mount. An array with a variable runs on mount and whenever that variable changes. No array runs "on mount and then on every single state change that happens in the application, which you could use that, you might hate that." The return value is the cleanup function; Cassidy admits "this is something that tripped me up when I first learned about useEffect" and uses a window resize listener to show what needs cleaning up.

5. Refs and context (5:39, 2 scrims)​

Refs starts with a disclaimer that "refs are something that you probably won't be asked a lot about in a job interview" and then covers the three questions you might get: refs versus state ("state variables are something that can trigger a rerender. Meanwhile, refs don't"), when to use them (managing focus, which she says is "probably ninety nine percent of the time" she uses them, plus animations and outside DOM libraries that need a real node to attach to), and how to update one in a function component (inside an effect).

Context asks two questions: context API versus prop drilling, and when you should not use context. The answer to the second is the line to use in an interview: "I would only put what's absolutely necessary at the top level of my application with context." Auth and theme yes, click counters no. She also mentions that Redux was built on an early, unofficial version of context, which is worth having in your pocket if the interviewer brings Redux up.

6. Miscellaneous (but important!) questions (7:49, 1 scrim)​

Title slide of the Miscellaneous (but important!) Questions scrim in Scrimba's React Interview Questions course
Five quick definitions, then the course's only coding task: converting a class-based counter to useState.Scrim title slides from scrimba.com.

The longest scrim runs through five definitions and then the exercise. Fragments are "kinda nothing." Class components are for almost never, except error boundaries, which "at the time of the creation of this course" need a class. A higher-order component is "a function that takes in a component and it returns a new component." Portals render children into a DOM node outside the parent's hierarchy, as modals do. Controlled versus uncontrolled components closes the list, and she calls it "one of my favorite questions."

Then, at 4:53: "The last thing I wanted to do is not on a slide." The editor holds a class-based Counter with this.state = { count: 0 } and two buttons calling this.setState. "I'd like you to convert this counter component into a function component. Go ahead and pause your video." The solution takes two minutes: drop extends React.Component, import useState, replace the constructor with let [count, setCount] = useState(0), and swap every this.state.count for count.

React Interview Questions, Miscellaneous questions lesson: code editor showing a class-based counter component beside its preview.
The one coding task, at 4:59: a class-based counter to convert into a function component with useState. Pause here and do it yourself before the solution starts at 5:19.Screenshot of scrimba.com, taken by scrimbaguide.tech.

This is the only place the course checks whether you can write hooks rather than describe them, and it is a fair proxy for a common screening task.

7. Conclusion and Scrimba clips (4:15, 3 scrims)​

An 80-second recap ("If you could answer all of these questions in this course, then you are all set for your React interviews"). Then come two clips from Scrimba staff that appear at the end of many courses: a two-minute pitch for the Scrimbassador referral program and a one-minute "How to Utilize Your Certificate." Neither is course content.

What a lesson feels like​

Each topic scrim is a yellow slide deck styled like a code editor. A question appears, the audio goes quiet for a second or two, and then Cassidy answers it, sometimes with a table or a list on the slide, sometimes by closing the slide and typing in the editor. The scrubber shows a marker at each question, so it is easy to jump back and re-answer. Two scrims (JSX and the miscellaneous one) have real code running in the preview pane; the rest are slides and voice.

The built-in pauses are short. If you want the mock-interview effect, you have to hit pause yourself, and Cassidy tells you to. Every scrim has captions, a full timestamped transcript under the settings menu, subtitles in several languages, and playback speed controls. At 1.5x speed the whole thing fits in under half an hour.

Free or Pro: exactly what is gated​

The first two scrims, the course introduction and The Virtual DOM, carry a SAMPLE badge and play without a subscription. The other nine course scrims, the coding exercise, and the certificate need Pro. The listing shows challenge markers on the topic scrims (26 in total, roughly one per question asked), but there is no AI-checked challenge here; the check is your own answer. The Discord server is open to free accounts, with Pro-only channels for subscribers. See current plans (opens in a new tab) for what Pro includes in your region.

How long it takes​

41 minutes of video. Done properly, with a real pause and a spoken or written answer for each of the 25 or so questions, plan on 90 minutes to two hours. Add another 30 to 60 minutes if you stop to look up the modern answers to the dated points (Meta instead of Facebook, the rewritten docs, createRoot instead of ReactDOM.render). A second pass the night before an interview, just replaying the questions and answering from memory, takes about an hour.

Who it's for, and who should skip it​

It fits you if you can already build things in React and have a technical screen or a first-round interview coming up. It also fits developers who learned React by doing and never learned the vocabulary; the course names the concepts you have been using without naming.

Skip it, for now, if you are still learning React. Do Learn React first; this course assumes hooks, props, and state are familiar. Skip it if your interviews are mostly live coding, where React Challenges matters more. And do not expect senior-level material: there is nothing on performance, concurrent rendering, server components, or testing.

Start React Interview Questions on Scrimba (opens in a new tab)

Prerequisites​

Working React: components, props, state, useState, useEffect, and a general sense of rendering. Cassidy references class components throughout (lifecycle methods, this.setState), so if you have never seen a class component, the Class Components in React course is a useful 80-minute detour first. No setup is needed; everything runs in the browser.

Where it fits​

Scrimba's course page lists it under the Frontend Developer Path and the Fullstack Developer Path. It pairs with Frontend Interview Tips, which covers the JavaScript and CSS side of the same interviews, and with the four-week frontend interview plan on this site if you want a schedule. For depth behind the answers, Advanced React is the follow-up.

Strengths and limits​

What it does well: it is short and focused, the questions are the ones that come up, the model answers name the one point to lead with, and Cassidy's opinions (function components over classes, do not overuse context) are the ones a 2026 interviewer holds too. The counter conversion is a realistic screening task.

Where it is limited: it is 41 minutes and Pro-only, it was recorded in the React 16 era and a handful of answers need updating, the pauses are too short to force you to answer, and it covers none of the live-coding or system-design side of a React interview.