Intervuz ← All articles
HomeBlog › React Interview Questions

Top React Interview Questions and Answers (2026)

Updated 3 July 2026 · Intervuz

These are the React questions that show up in interview after interview. For each one, the answer below is short on purpose — the goal is something you can say out loud clearly, then expand on if asked. Interviewers care more about how you reason than a textbook definition.

1. What is the virtual DOM?

A lightweight in-memory copy of the real DOM. React updates the virtual DOM first, diffs it against the previous version (reconciliation), and applies only the minimal real changes — which is what makes updates fast.

2. What's the difference between state and props?

Props are passed in from a parent and are read-only. State is owned and managed inside the component and can change over time. Changing either triggers a re-render.

3. What does the useEffect hook do?

It runs side effects — data fetching, subscriptions, timers — after render. The dependency array controls when it re-runs; an empty array means "once on mount," and the cleanup function runs on unmount or before the next run.

4. Why do lists need a "key"?

Keys give each item a stable identity so React can tell which items changed, moved or were removed. Use a stable id — never the array index if the list can reorder, or you'll get subtle bugs.

5. When would you use useMemo and useCallback?

useMemo caches an expensive computed value; useCallback caches a function reference so child components don't re-render needlessly. Reach for them when you've measured a real performance issue — not by default.

6. What causes unnecessary re-renders, and how do you fix them?

A component re-renders when its state or props change, or its parent re-renders. Fixes: lift state only as high as needed, memoize with React.memo/useMemo/useCallback, and split large components so a small change doesn't re-render everything.

7. Controlled vs uncontrolled components?

A controlled input's value lives in React state (single source of truth). An uncontrolled input keeps its own state in the DOM and you read it with a ref. Controlled is preferred for validation and dynamic forms.

8. How do you manage global state?

Start with Context for simple, low-frequency data. For complex or high-frequency state, use a library like Redux Toolkit or Zustand. Mention that Context can cause re-renders if overused.

How to actually get good at answering these

Memorising definitions won't help when an interviewer asks "okay, but why?" The candidates who do well can explain a concept, then handle a follow-up. The only way to build that is to practise speaking — ideally with someone (or something) that pushes back with the next question.

Do a free AI mock interview on React.

On Intervuz, Vika interviews you live, asks follow-up questions based on your answers, and gives instant feedback on where you're strong and where to go deeper.

Start a free AI interview →