React Developer Interview Questions UK: 8 Real Questions and What Interviewers Want
Before your React Developer interview, it helps to see the questions from the interviewer's side. We have picked eight from our set of 16 and added the reason each one gets asked.
Eight React Developer interview questions, and what the interviewer is thinking
1. Can you explain how useState and useEffect work, including the dependency array and cleanup functions?
Why they ask: Hooks are the foundation of modern React, and misuse of useEffect causes many bugs.
2. How does React's rendering work, including the virtual DOM, reconciliation and keys in lists?
Why they ask: Understanding rendering underpins performance and correctness.
3. How do you manage state in a larger React application? When would you use Context, Redux Toolkit, Zustand or React Query?
Why they ask: State management choices shape maintainability and performance.
4. How would you optimise a React application that feels slow? Which tools and techniques would you use?
Why they ask: Performance tuning is expected at mid-level and should be evidence-based.
5. How do you test React components? Which tools do you use and what do you choose to test?
Why they ask: They want a practical testing mindset, not just familiarity with tool names.
6. A page you built re-renders constantly and the browser becomes unresponsive when typing in a search box. How do you fix it?
Why they ask: A classic real-world performance scenario.
7. Tell me about a time you built a complex React feature and how you structured it.
Why they ask: They want evidence of delivering real features with sound structure.
8. Why do you want to work as a React developer, and how do you keep up with changes in the React ecosystem?
Why they ask: React changes quickly, so they want curiosity and a measured approach to new tools.
A sample answer to question 1
Can you explain how useState and useEffect work, including the dependency array and cleanup functions?
useState gives a component a piece of state and a setter. Calling the setter schedules a re-render with the new value, and when the next state depends on the previous one I use the functional form, setCount(c => c + 1). useEffect runs side effects after render, such as fetching data, subscribing to events or updating the document title. The dependency array controls when it re-runs: an empty array means once after mount, listed values mean whenever those change, and omitting it means after every render. I include everything the effect reads, backed by the exhaustive-deps lint rule, to avoid stale closures. The function returned from the effect is the cleanup, which runs before the next effect and on unmount, so I use it to remove listeners, clear timers or abort fetches with AbortController. I also try not to use effects for things that can be calculated during rendering or handled in event handlers, because unnecessary effects are a common source of bugs.
Common mistake to avoid: Omitting dependencies; Using effects for derived data
Want the rest?
Full model answers, key points and common mistakes for all 16 questions are on the React Developer interview questions page. The first five are free, no sign-up needed.

Comments