React Interview Questions: Middle to Senior Guide

Prepare for React interviews with a comprehensive collection of questions covering everything from core concepts to senior-level architecture and system design. This card set helps developers strengthen both theoretical knowledge and practical decision-making skills required in modern React projects. Topics include React fundamentals, Virtual DOM, JSX, components, props, state management, hooks, rendering lifecycle, Context API, Redux, React Query, Suspense, Concurrent React, performance optimization, testing strategies, accessibility, security, scalability, and frontend architecture. Unlike basic interview collections, these cards focus on real-world engineering challenges, trade-offs, architectural decisions, and production-grade application design. Each question highlights the key areas that should be addressed in a complete answer, helping you build structured and interview-ready explanations. Whether you are preparing for a React Developer, Frontend Engineer, Full-Stack Developer, Senior Engineer, Staff Engineer, or Technical Lead position, this collection provides a systematic learning path from middle-level concepts to advanced frontend architecture. Use these cards to review knowledge, identify gaps, improve technical communication skills, and gain confidence before technical interviews. The set is also valuable as a learning roadmap for developers who want to deepen their understanding of React and modern frontend engineering best practices.

You can start studying this pack. You'll receive 368 messages to help you review each card multiple times, following the principles of the forgetting curve.

Learn more about the spaced repetition method.
React — overview

What is React, including its declarative programming model, component-based architecture, rendering lifecycle, and the problems it was designed to solve?

1/92
Virtual DOM

What the Virtual DOM is, how it differs from the browser DOM, how reconciliation works, and its limitations.

2/92
JSX

What is JSX, how it's transformed during compilation, how it differs from HTML, and what benefits and drawbacks it provides.

3/92
React components

What are React components, including the differences between function and class components, their responsibilities, and when each approach is appropriate?

4/92
React props — data flow, immutability, and common mistakes

What are props in React, including data flow principles, immutability expectations, and common mistakes when passing data between components?

5/92
Component state

What is component state, including how state updates are scheduled, how state affects rendering, and what problems arise from improper state management?

6/92
React Hooks

What are React Hooks, the motivations behind their introduction, the Rules of Hooks, and the problems they solve compared to class-based patterns?

7/92
Controlled components (forms)

What are controlled components, including how form state is managed, validation strategies, and trade-offs compared to uncontrolled components?

8/92
useState internals

How does useState work internally, including update queues, batching behavior, and common pitfalls with asynchronous updates?

9/92
useEffect (React): timing, dependencies, cleanup, and common pitfalls

How does useEffect work: when it runs, how dependencies control execution, how cleanup works, and what problems arise from incorrect dependencies?

10/92
React rendering process

How React's rendering process works, including render and commit phases, reconciliation, and the responsibilities of each phase.

11/92
React re-rendering: when and why

How does React decide whether a component should re-render?

12/92
Reconciliation algorithm

What is the reconciliation algorithm, including element comparison, key usage, subtree replacement rules, and performance implications?

13/92
React keys and reconciliation

What are React keys, and why do they matter for reconciliation and component state?

14/92
React Fiber architecture

Brief: React Fiber is a reimplementation of React's reconciliation algorithm designed to enable incremental, interruptible rendering with explicit priorities and scheduling so UIs remain responsive even during heavy work.

15/92
React batching: how it works

How does React batching work, including automatic batching in modern React, update scheduling, and situations where batching may not occur?

16/92
Render-phase side effects

What are render-phase side effects, why they are problematic, how React detects them, and what production issues they can cause?

17/92
React Strict Mode

What is Strict Mode, including the checks it performs, double rendering behavior in development, and the types of bugs it helps identify?

18/92
React event delegation, synthetic events, and performance

Question: How does React handle event delegation, including synthetic events, browser compatibility concerns, and performance implications?

19/92
Synthetic events

What are synthetic events, their event pooling history, benefits of browser abstraction, and limitations compared to native events?

20/92
State lifting

What is state lifting?

21/92
Where to put state: Local, Lifted, Context, or Global Store

What criteria should be used when deciding whether data belongs in local state, lifted state, Context, or a global store, including scalability and maintainability considerations?

22/92
useReducer (React)

How does useReducer work, common reducer patterns, action design, and when to prefer it over useState?

23/92
Context API (React)

What the React Context API is, how it propagates updates, performance implications, and when to use it.

24/92
useReducer: how it works, patterns and when to prefer it

How does useReducer work, including reducer patterns, action design, and situations where it is preferable to useState?

25/92
React Context API — limitations

What are the limitations of the React Context API, including excessive re-rendering, dependency management, and scaling concerns in large applications?

26/92
Reducing unnecessary Context re-renders

Patterns to reduce unnecessary React Context re-renders: context splitting, memoization of values and callbacks, and selector approaches to subscribe only to relevant slices of state.

27/92
Context API vs Redux: trade-offs

What are the trade-offs between React Context API and Redux regarding complexity, scalability, debugging, and performance?

28/92
Trade-offs: Redux Toolkit, Zustand, Jotai, Recoil, Context API

What are the trade-offs between Redux Toolkit, Zustand, Jotai, Recoil and the Context API in terms of developer experience, scalability and performance?

29/92
Duplicating state across stores or components

What problems arise when duplicating state across multiple stores or components, including consistency issues and debugging complexity?

30/92
Server vs Client State: differences, caching, sync and architecture

How should server state differ from client state, including caching requirements, synchronization challenges, and architectural implications?

31/92
Smart and dumb components

What are smart and dumb components, and what are their responsibilities, benefits, drawbacks, and modern alternatives?

32/92
Custom Hooks (React)

What are custom hooks, how they encapsulate logic, improve reusability, and what architectural challenges they introduce?

33/92
Structuring large React applications

How should large React applications be structured, including feature-based organization, modularity concerns, and long-term maintainability?

34/92
Structuring large React applications

How should large React applications be structured, including feature-based organization, modularity concerns, and long-term maintainability?

35/92
Trade-offs: feature-based vs layer-based vs domain-driven folders

What are the trade-offs between feature-based, layer-based, and domain-driven folder structures, including scalability and developer productivity?

36/92
Component design principles

What principles should guide component design, including separation of concerns, reusability, maintainability, and testing considerations?

37/92
Compound component architecture

What is compound component architecture, including communication patterns, flexibility benefits, and implementation challenges?

38/92
Higher-Order Components (HOCs)

What are Higher-Order Components, including implementation mechanics, historical use cases, and reasons they are less common today?

39/92
Render props

What are render props?

40/92
Designing shared UI libraries: versioning, API stability, maintainability

How should shared UI libraries be designed, including versioning strategies, API stability concerns, and maintainability requirements?

41/92
Dependency injection in React

How to implement dependency injection (DI) in React — patterns, testing benefits, flexibility considerations, and architectural trade-offs.

42/92
Unnecessary re-renders in React

What causes unnecessary re-renders in React applications, including parent updates, unstable references, and inefficient state design?

43/92
React.memo

How does React.memo work, including shallow comparison behavior, performance benefits, and situations where it can be harmful?

44/92
Memoization in React: trade-offs

What are the trade-offs of memoization in React, including memory overhead, complexity costs, and performance benefits?

45/92
useMemo and useCallback

How do useMemo and useCallback work, including memoization principles, dependency management, and common misuse patterns?

46/92
Optimizing large lists and virtualization

How can large lists be optimized, including virtualization techniques, rendering bottlenecks, and user experience considerations?

47/92
Bundle size optimization

How to reduce and manage bundle size with code splitting, tree shaking, lazy loading and dependency management.

48/92
Context updates: performance challenges and mitigations

What performance challenges arise from Context updates, including propagation costs and mitigation techniques?

49/92
React Profiler — diagnosing performance

How to use React Profiler to find and fix performance problems: what to record, how to read the data, and which optimization strategies to apply.

50/92
Performance implications of excessive component abstraction

What are the performance implications of excessive component abstraction, including render costs, debugging complexity, and maintainability concerns?

51/92
Handling expensive computations in React

How should expensive computations be handled in React applications, including memoization, background processing, and scheduling concerns?

52/92
Concurrent React

What is Concurrent React and why it matters for responsive UIs?

53/92
useTransition and deferred updates (React)

What is useTransition, how deferred updates work, why they improve user experience, and when to use or avoid them.

54/92
useDeferredValue

What is useDeferredValue, including rendering prioritization, performance use cases, and limitations?

55/92
Suspense vs traditional loading state

How does Suspense differ from traditional loading state management, including architectural implications and trade-offs?

56/92
React Suspense — asynchronous rendering, fallbacks, and data fetching

What is Suspense, including asynchronous rendering, fallback handling, and integration with data fetching solutions?

57/92
Challenges when adopting Concurrent Features

What challenges arise when adopting Concurrent Features, including debugging complexity, race conditions, and compatibility concerns?

58/92
Frontend caching: design, invalidation, consistency, performance

How should caching be designed in frontend applications, including invalidation strategies, consistency requirements, and performance implications?

59/92
Data fetching strategies in React

What strategies can be used for data fetching in React, including client-side fetching, SSR, SSG, and hybrid approaches?

60/92
Race conditions during data fetching

What problems arise from race conditions during data fetching, including stale responses, cancellation strategies, and user experience issues?

61/92
Optimistic updates: implementation, rollback, and failure handling

How should optimistic updates be implemented, including rollback strategies, consistency guarantees, and failure handling?

62/92
API error handling: retries, user feedback, observability

How should error handling be designed for API interactions, including retry mechanisms, user feedback, and observability requirements?

63/92
Trade-offs: React Query · SWR · Redux-based · Custom fetching

What are the trade-offs between React Query, SWR, Redux-based solutions, and custom fetching implementations, including caching and synchronization concerns?

64/92
Designing complex forms in React

How should complex forms be designed in React, including validation strategies, state management approaches, and performance considerations?

65/92
Accessibility in React

How to address accessibility in React applications: keyboard navigation, screen readers, and semantic HTML usage.

66/92
Testing vs Mocking in React

What should be tested versus mocked in React applications, including component boundaries, external dependencies, and confidence trade-offs?

67/92
Testing React applications

How should React applications be tested, including unit testing, integration testing, end-to-end testing, and test pyramid considerations?

68/92
React Hook Form vs Formik vs Custom forms

What are the trade-offs between React Hook Form, Formik, and custom form solutions, considering scalability and developer productivity?

69/92
Challenges of highly interactive interfaces

What challenges arise when building highly interactive interfaces, including event management, performance concerns, and state synchronization?

70/92
Visual regression testing in React

How should visual regression testing be incorporated into React projects, including tooling options and maintenance challenges?

71/92
Common testing anti-patterns in React applications

Common anti-patterns when testing React apps: why they make tests brittle or slow, and how to avoid them.

72/92
React Testing Library — effective usage and anti-patterns

How should React Testing Library be used effectively, including user-centric testing principles and anti-patterns to avoid?

73/92
Scaling React across multiple teams

How to scale React applications across multiple teams: ownership boundaries, shared dependencies, and governance models.

74/92
React security risks

What security risks exist in React applications, including XSS vulnerabilities, unsafe rendering practices, and third-party dependency risks?

75/92
Risks of storing sensitive data in browser storage

What risks arise from storing sensitive information in browser storage, including attack vectors and mitigation strategies?

76/92
Micro-frontend architecture considerations

What architectural considerations are required for micro-frontend solutions, including deployment independence, shared state challenges, and operational complexity?

77/92
Internationalization in large React applications

Guidelines for implementing i18n in large React apps: translation management, performance considerations, and long term maintenance.

78/92
Authentication and Authorization in React

How should authentication and authorization be implemented in React applications, including token handling, session management, and security trade-offs?

79/92
Content Security Policy for React applications

How to apply Content Security Policy (CSP) to React apps: goals, practical setup, deployment notes and common pitfalls.

80/92
Feature flags in React

How should feature flags be integrated into React applications, including rollout strategies, testing implications, and technical debt concerns?

81/92
Offline-first React: challenges, synchronization, conflicts, and UX trade-offs

What challenges arise when supporting offline-first React applications, including synchronization, conflict resolution, and user experience trade-offs?

82/92
Frontend observability: logging, metrics, tracing, production debugging

Practical guidance for implementing frontend observability covering structured logging, metrics, distributed tracing, and safe production debugging.

83/92
Detecting and preventing performance regressions

How should performance regressions be detected and prevented, including monitoring strategies, CI integration, and alerting approaches?

84/92
Risks of excessive memoization

What are the risks of excessive memoization, including increased complexity, stale values, and memory overhead?

85/92
Production monitoring for React applications

What metrics should be monitored in production React applications, including Core Web Vitals, business metrics, and operational indicators?

86/92
Capturing and reporting runtime errors in React

How should React applications capture and report runtime errors, including Error Boundaries, monitoring integrations, and incident response considerations?

87/92
Flexibility vs Standardization in React architecture

What trade-offs exist between flexibility and standardization in React architecture, including developer autonomy and long-term maintainability?

88/92
When Not to Choose React

When should you not choose React? A concise guide that covers application scope, performance constraints, team skills, and alternative technologies that may be a better fit.

89/92
React anti-patterns: derived state, prop drilling, excessive abstraction

What are the most common React anti-patterns, including derived state misuse, prop drilling workarounds, and excessive abstraction?

90/92
Problems from overusing Context API

What problems arise from overusing Context API, including performance degradation, coupling concerns, and maintainability issues?

91/92
Tight coupling of business logic to UI

What architectural problems emerge when business logic is tightly coupled to UI components, including testing difficulties and scalability limitations?

92/92
WitSlice © 2026