React is the default frontend framework in interviews, and the questions cluster around a few areas: how rendering works, hooks, state management, and performance. Knowing JSX isn't enough — interviewers probe whether you understand why React re-renders and how to control it. Here are the React interview questions that actually get asked, with answers. (See also our JavaScript and frontend guides.)
Fundamentals
- What is the virtual DOM and how does reconciliation work?
- Props vs state — what's the difference and which is mutable?
- Controlled vs uncontrolled components.
- What are keys in lists and why do they matter?
- Functional vs class components.
Hooks (the core of modern React)
useStateand how state updates batch and are asynchronous.useEffect— the dependency array, cleanup, and common bugs.useMemovsuseCallback— what each memoizes and when to use them.useRefand when you reach for it.- The rules of hooks, and why they exist.
Performance & patterns
- What causes unnecessary re-renders and how do you prevent them?
React.memoand when it helps (and when it doesn't).- Lifting state up; prop drilling and Context.
- State management options — Context vs Redux vs others.
How to prepare
React rounds often mix concept questions with "how would you fix this bug" discussions, all verbal. Practise explaining rendering and hooks out loud. Greenroom runs spoken technical interviews that probe your reasoning and give feedback. Pair it with our JavaScript and frontend guides.
Frequently asked questions
What are the most common React interview questions?
Common React questions cover the virtual DOM and reconciliation, props vs state, controlled vs uncontrolled components, keys in lists, hooks (useState, useEffect, useMemo, useCallback, useRef and the rules of hooks), what causes unnecessary re-renders and how to prevent them, React.memo, Context, and state management options like Redux.
What is the difference between useMemo and useCallback?
Both memoize to avoid recomputation between renders. useMemo memoizes a computed value — it returns the cached result of a function unless its dependencies change. useCallback memoizes a function reference itself, so the same function identity is preserved between renders, which is useful when passing callbacks to memoized child components to prevent unnecessary re-renders.
What causes unnecessary re-renders in React?
Components re-render when their state or props change, when their parent re-renders, or when context they consume updates. Common causes of unnecessary re-renders include passing new object or function references on every render, not memoizing expensive children, and overly broad context. Fixes include React.memo, useMemo, useCallback and splitting or narrowing context.
How should I prepare for a React interview?
Focus on understanding React's render model — when and why components re-render — and how hooks like useEffect, useMemo and useCallback control it, rather than just listing hook names. Practise explaining rendering and debugging re-renders out loud, ideally with a voice-based mock interview, since React rounds often mix concept questions with verbal debugging discussions.