React / Performance Interview Questions 2026

Published July 22, 2026 · Updated July 22, 2026

82 React / Performance interview questions from Amazon, Infosys, Google, TCS, Razorpay, General, Myntra, Flipkart, Meta, Airbnb, Adobe, Wipro and more. Real questions from Technical, System Design, and HR rounds.

82 questions
Companies: Amazon, Infosys, Google, TCS…

All React / Performance Questions

TCS Medium Technical round 2-4 years

A developer puts async code inside useEffect by returning an async arrow function: useEffect(() => async () => {...}). Why is this wrong?

↑ 84 upvotes · 22 engineers asked this · SDE2
TCS Medium Screening round 2-5 years

What is React.StrictMode and what bugs does it help catch?

↑ 83 upvotes · 21 engineers asked this · SDE2
General Medium System Design round 2-5 years

How do you implement dark mode in a React app that persists across refreshes, respects OS preference, and allows manual override?

↑ 82 upvotes · 20 engineers asked this · SDE2
TCS Medium Technical round 2-5 years

Your React app uses React Router. Users report the browser back button doesn't work after programmatic navigation. What are the likely causes?

↑ 81 upvotes · 19 engineers asked this · SDE2
General Hard Technical round 3-6 years

Your Next.js app shows 'Loading...' forever on first visit but works fine on refresh. What's happening?

↑ 80 upvotes · 18 engineers asked this · SDE2
TCS Medium Screening round 2-5 years

How does React's useCallback differ from useMemo? A developer uses useCallback everywhere to 'optimize performance.' Is this correct?

↑ 79 upvotes · 17 engineers asked this · SDE2
Amazon Hard Scenario round 3-6 years

Your React SPA loads slowly on first visit (8 seconds). Bundle size is 5MB. How do you optimize?

↑ 79 upvotes · 27 engineers asked this · SDE2
TCS Easy Screening round 1-3 years

What is the difference between useEffect with no dependency array, empty array, and with dependencies?

↑ 78 upvotes · 26 engineers asked this · SDE1
TCS Medium Screening round 2-5 years

What are Error Boundaries in React and why can't they catch errors in event handlers?

↑ 77 upvotes · 25 engineers asked this · SDE2
TCS Medium Screening round 2-5 years

Explain the React context API pattern for theming. What is the pitfall when the context value is an object?

↑ 76 upvotes · 24 engineers asked this · SDE2
TCS Medium Screening round 2-5 years

Explain how Suspense and lazy loading work together in React for code splitting.

↑ 75 upvotes · 23 engineers asked this · SDE2
TCS Easy Screening round 1-3 years

What is the difference between controlled and uncontrolled components? When would you choose uncontrolled?

↑ 74 upvotes · 22 engineers asked this · SDE1
Amazon Hard Scenario round 3-6 years

Your React app has a form with 50 fields. On each keystroke, the entire form re-renders taking 200ms. How do you fix this?

↑ 73 upvotes · 21 engineers asked this · SDE2
General Hard System Design round 3-6 years

Explain how you would handle authentication in a Next.js app. Compare NextAuth vs rolling your own JWT solution.

↑ 72 upvotes · 20 engineers asked this · SDE2
Razorpay Hard System Design round 5-8 years

You're building a feature flag system in React. Flags come from an API and affect which components render. How do you implement this so: flags load once at startup, components don't re-render when irrelevant flags change, and engineers can easily wrap any component.

↑ 71 upvotes · 39 engineers asked this · SDE2
Amazon Medium Screening round 3-6 years

What is the difference between React.memo, useMemo, and useCallback? Give an example where each is the right tool.

↑ 71 upvotes · 19 engineers asked this · SDE2
Amazon Hard Screening round 4-7 years

Explain the difference between useLayoutEffect and useEffect. Give a real scenario where using useEffect instead of useLayoutEffect causes a visible bug.

↑ 70 upvotes · 38 engineers asked this · SDE2
Amazon Hard Screening round 4-7 years

How does React's reconciliation algorithm (Fiber) decide whether to update or replace a component?

↑ 70 upvotes · 18 engineers asked this · SDE2
TCS Hard System Design round 5-8 years

Your team needs to migrate a large class component codebase to hooks. A senior dev says 'just convert everything to hooks.' What risks does this carry and how would you approach the migration safely?

↑ 69 upvotes · 37 engineers asked this · SDE2
Flipkart Medium Scenario round 3-5 years

You need to implement infinite scroll in React. The list fetches 20 items per page. Users scroll down, new items load. When they scroll back up, previously loaded items should still be there. How do you implement this correctly?

↑ 68 upvotes · 36 engineers asked this · SDE2
Amazon Hard Technical round 4-7 years

After adding React DevTools Profiler, you see a component called UserAvatar re-rendering 200 times per second even when no user data changes. What are the most likely causes?

↑ 67 upvotes · 35 engineers asked this · SDE2
TCS Medium System Design round 2-4 years

Your React component tree is 8 levels deep. A state change at level 1 needs to reach a component at level 8. Without Redux or Context, you're prop drilling through 6 intermediate components. What are your options?

↑ 66 upvotes · 34 engineers asked this · SDE2
General Hard System Design round 4-8 years

You're asked to build a drag-and-drop kanban board in React. The board has 10 columns and potentially 1000 cards total. Describe your complete implementation approach including performance considerations.

↑ 65 upvotes · 33 engineers asked this · SDE2
TCS Hard Technical round 3-6 years

A product manager reports that your React app works fine in Chrome but crashes on Safari iOS 15. You cannot reproduce it locally. How do you debug this?

↑ 64 upvotes · 32 engineers asked this · SDE2
TCS Medium System Design round 3-6 years

When would you choose React over Vue or Angular for a new project? What are the actual tradeoffs, not just marketing?

↑ 64 upvotes · 22 engineers asked this · SDE2
Myntra Medium Scenario round 3-6 years

Your React app uses code splitting with React.lazy. On slow connections, users see a blank screen while the chunk loads. How do you improve this experience without removing code splitting?

↑ 63 upvotes · 31 engineers asked this · SDE2
Amazon Hard System Design round 3-6 years

Your React form has complex validation: some fields depend on others, some validation is async (API calls). How do you architect this without the form becoming unmanageable?

↑ 63 upvotes · 21 engineers asked this · SDE2
Google Hard Screening round 5-8 years

Explain how React's reconciliation algorithm decides what to re-render. A senior dev claims 'adding a key prop always makes things faster.' Is he right?

↑ 62 upvotes · 30 engineers asked this · SDE2
TCS Medium Screening round 2-5 years

Explain how React's key prop affects performance and correctness. Give an example where using array index as key causes a bug.

↑ 62 upvotes · 20 engineers asked this · SDE2
TCS Medium Technical round 2-5 years

You deploy a React app and users report a blank white screen on IE11. Your CI/CD passes. What's happening and how do you fix it?

↑ 61 upvotes · 29 engineers asked this · SDE2
Amazon Hard Technical round 3-6 years

A user reports that typing in a search input feels 'laggy' only when there are many results showing below. Nothing in the input code changed. Explain and fix.

↑ 61 upvotes · 19 engineers asked this · SDE2
General Medium System Design round 3-5 years

Your team is arguing about whether to use Context API or Redux for a mid-sized app with 15 screens. Some data is global (user auth), some is page-level. Make the architecture decision and justify it.

↑ 60 upvotes · 28 engineers asked this · SDE2
General Medium System Design round 3-6 years

You're asked to implement 'skeleton loading' for a complex page with 5 different data sources. Each section should show a skeleton while its data loads, then transition smoothly. How?

↑ 60 upvotes · 18 engineers asked this · SDE2
Amazon Hard Technical round 4-8 years

You notice your React app's memory usage grows from 80MB to 400MB over 30 minutes of normal usage. There are no error logs. How do you identify and fix the memory leak?

↑ 59 upvotes · 27 engineers asked this · SDE2
General Hard Technical round 4-8 years

Your React app uses CSS-in-JS (Styled Components). After migrating to Next.js App Router (Server Components), styles are missing on first render. Why?

↑ 59 upvotes · 17 engineers asked this · SDE2
Infosys Hard Scenario round 3-6 years

A React form with 30 fields re-renders every field on every keystroke in any single field. No memoization exists. You cannot refactor to a form library. Fix it with minimal code changes.

↑ 58 upvotes · 26 engineers asked this · SDE2
Amazon Hard Screening round 4-7 years

Explain the React rendering lifecycle in a functional component with hooks. In what exact order do useState, useEffect, and useLayoutEffect fire during mount and update?

↑ 58 upvotes · 16 engineers asked this · SDE2
Razorpay Hard Scenario round 4-7 years

Your Next.js app fetches user-specific data in getServerSideProps. The page load time is 3.2 seconds. CDN cache hit rate is 0%. Product team asks you to make it faster without losing personalization. What do you do?

↑ 57 upvotes · 25 engineers asked this · SDE2
General Hard System Design round 4-8 years

You need to build a data table with sorting, filtering, pagination, and column resizing for 100 columns and 10,000 rows. Describe your complete technical approach.

↑ 57 upvotes · 15 engineers asked this · SDE2
TCS Medium Technical round 2-4 years

After a React upgrade from v17 to v18, your useEffect fires twice in development even though it wasn't before. Several API calls are duplicated. A junior dev asks you to 'just add a flag'. What's the real explanation and the correct fix?

↑ 56 upvotes · 24 engineers asked this · SDE2
General Medium HR round 3-6 years

A PM asks you to add Google Analytics and 3 other tracking scripts to your React app. You know this will hurt Core Web Vitals. How do you push back with data and propose a solution?

↑ 56 upvotes · 14 engineers asked this · SDE2
Google Hard System Design round 5-10 years

You're building a real-time collaborative document editor (like Google Docs) in React. Multiple users edit simultaneously. How do you handle state synchronization without the UI flickering or losing cursor position?

↑ 55 upvotes · 23 engineers asked this · Staff
General Hard System Design round 4-8 years

Your Next.js app fetches user data in a Server Component. The data is user-specific so caching is tricky. How do you handle per-user caching without leaking data between users?

↑ 55 upvotes · 13 engineers asked this · SDE2
Amazon Hard Scenario round 4-8 years

Your team ships a React app and Lighthouse shows CLS (Cumulative Layout Shift) of 0.45. Users see content jumping on load. No one on the team has touched layout recently. How do you diagnose and fix it?

↑ 54 upvotes · 22 engineers asked this · SDE2
Infosys Hard Technical round 2-5 years

A useEffect in your component is firing infinitely. The dependency array contains an object fetched from an API. You cannot change the API response. How do you stop the infinite loop?

↑ 53 upvotes · 21 engineers asked this · SDE2
Amazon Hard Scenario round 3-7 years

Your React app renders a list of 50,000 rows. Users report severe lag when scrolling. The current implementation maps over the entire array and renders each row as a component. Walk me through exactly how you'd fix this without changing the data source.

↑ 52 upvotes · 20 engineers asked this · SDE2
Meta Hard Technical round 3-7 yearsReactJavaScript

A news feed component re-fetches and re-renders every item whenever a single like count changes. Walk through how you would restructure state so only the affected item re-renders, without introducing a global state library.

↑ 52 upvotes · 31 engineers asked this · Senior SDE
Amazon Medium System Design round 3-6 years

How do you implement optimistic UI updates in a React app with server synchronization?

↑ 44 upvotes · 52 engineers asked this · SDE2
Google Medium Technical round 3-6 yearsReactJavaScript

Explain the difference between reconciliation and the commit phase in React. Why can render be interrupted in Concurrent Mode but commit cannot?

↑ 38 upvotes · 15 engineers asked this · Senior SDE
Amazon Hard Technical round 3-6 years

Given a React component that renders 10,000 checkboxes, selecting one checkbox causes all 10,000 to re-render. Fix it without virtualizing.

↑ 35 upvotes · 23 engineers asked this · SDE2
Airbnb Medium Technical round 2-5 yearsReactJavaScript

A multi-step booking form (dates → guests → payment) loses all user input if they navigate back a step or refresh the page. How would you fix this without a backend round-trip on every keystroke?

↑ 27 upvotes · 18 engineers asked this · Senior SDE
TCS Hard Scenario round 3-6 years

Your React Native app gets a 1-star review: 'The app crashes every time I open it.' You cannot reproduce it. Logs show nothing. How do you debug this?

↑ 25 upvotes · 13 engineers asked this · SDE2
Adobe Hard Technical round 3-7 yearsReactJavaScript

You're building a browser-based image editor with layers, filters, and undo/redo. Would you manage canvas rendering state inside React state, or outside it? Justify your choice.

↑ 25 upvotes · 8 engineers asked this · Senior SDE
Wipro Medium Technical round 1-4 yearsReactJavaScript

What is a controlled component in React? Rewrite an uncontrolled input (using a ref) into a controlled one and explain the trade-off.

↑ 25 upvotes · 17 engineers asked this · Developer
Wipro Easy Technical round 1-3 yearsReactJavaScript

What is the difference between useState and useRef in React? Give an example where using the wrong one would cause a bug.

↑ 22 upvotes · 14 engineers asked this · Developer
Wipro Medium Technical round 1-4 yearsReact

How does useEffect replace the class component lifecycle methods componentDidMount, componentDidUpdate, and componentWillUnmount?

↑ 21 upvotes · 13 engineers asked this · Developer
Amazon Hard Technical round 3-6 years

Your React app has a race condition: user types in search, two API calls are made, the slower one returns last and overwrites the correct result. Fix it.

↑ 20 upvotes · 48 engineers asked this · SDE2
General Hard System Design round 4-7 years

How would you implement a 'undo/redo' feature in a complex React form with 20 fields?

↑ 19 upvotes · 47 engineers asked this · SDE2
Wipro Medium Technical round 2-4 yearsReact

Your React app has 5 sibling components that all need access to the logged-in user's name. Would you use prop drilling, Context, or a state management library? Justify your choice.

↑ 19 upvotes · 10 engineers asked this · Developer
TCS Medium Technical round 2-5 years

You're using useReducer for complex form state. The reducer is being called twice in development. Is this a bug?

↑ 18 upvotes · 46 engineers asked this · SDE2
Wipro Easy Technical round 0-2 yearsReact

Explain the difference between props and state in React with a simple example of each.

↑ 18 upvotes · 11 engineers asked this · Developer
Amazon Hard Screening round 5-9 years

What is React's Fiber architecture and why was it introduced? How does it enable concurrent features?

↑ 17 upvotes · 45 engineers asked this · Staff
General Hard System Design round 4-8 years

A designer hands you a Figma design for an animated dashboard with 20 charts updating every second from WebSocket. How do you architect the React side to prevent the entire dashboard from re-rendering on each update?

↑ 16 upvotes · 44 engineers asked this · SDE2
Amazon Hard System Design round 4-7 years

How do you handle global loading states and error handling in a React app with 50+ API calls?

↑ 16 upvotes · 24 engineers asked this · SDE2
General Hard System Design round 5-9 years

Your team wants to add server-side rendering to an existing client-side React app. What are the actual technical challenges beyond 'just use Next.js'?

↑ 15 upvotes · 43 engineers asked this · Staff
Amazon Medium Screening round 3-6 years

What is the purpose of React.Profiler component and how do you use it to find performance bottlenecks?

↑ 15 upvotes · 23 engineers asked this · SDE2
TCS Medium Scenario round 2-4 years

You have a React component that renders a chart. The chart library is 500KB. It's only shown in a modal that 10% of users ever open. How do you optimize the initial load?

↑ 14 upvotes · 42 engineers asked this · SDE2
TCS Medium Technical round 2-5 years

Your React application shows 'Cannot update a component from inside the function body of a different component.' What causes this?

↑ 14 upvotes · 22 engineers asked this · SDE2
Amazon Hard Screening round 4-7 years

Explain Concurrent React. What problem does it solve and how does startTransition help? Give a real example where it improves UX.

↑ 13 upvotes · 41 engineers asked this · SDE2
Amazon Hard Screening round 4-7 years

What is the purpose of React.cloneElement vs React.Children.map? When would you use each?

↑ 13 upvotes · 31 engineers asked this · SDE2
Amazon Hard Screening round 4-7 years

Explain the difference between React 17 and React 18 concurrent features. What is startTransition?

↑ 13 upvotes · 21 engineers asked this · SDE2
General Medium Technical round 2-5 years

Your React app uses React Query. Users complain data is always stale — they update a record and the list still shows old data. What's the correct fix and what are the tradeoffs?

↑ 12 upvotes · 40 engineers asked this · SDE2
General Hard System Design round 6-10 years

Explain Module Federation in React micro-frontends. What are the main production challenges?

↑ 12 upvotes · 30 engineers asked this · Staff
TCS Medium Screening round 2-5 years

What are React portals and when do you need them?

↑ 12 upvotes · 20 engineers asked this · SDE2
General Hard System Design round 6-10 years

You're building a micro-frontend architecture where 5 teams ship independent React apps that compose into one shell. How do you handle shared state, shared dependencies (avoid duplicate React), and routing?

↑ 11 upvotes · 39 engineers asked this · Staff
General Hard System Design round 4-7 years

How do you implement tree shaking in a React component library so importing one component doesn't bundle the entire library?

↑ 11 upvotes · 29 engineers asked this · SDE2
TCS Medium Screening round 3-6 years

A developer says 'I never need Redux because Context API can do everything Redux does.' Is this true?

↑ 10 upvotes · 28 engineers asked this · SDE2
General Medium Screening round 2-5 years

What is React Query's staleTime vs cacheTime? Explain with a scenario where misconfiguring them causes UX problems.

↑ 9 upvotes · 27 engineers asked this · SDE2
General Medium System Design round 2-5 years

Design a Toast notification system in React that can be triggered from anywhere in the app, shows multiple toasts, and auto-dismisses after 3 seconds.

↑ 8 upvotes · 26 engineers asked this · SDE2
TCS Easy Screening round 1-3 years

What is the difference between var _default_ = and named exports in React? What's the impact on tree shaking?

↑ 7 upvotes · 25 engineers asked this · SDE1
Amazon Hard Screening round 3-6 years

Explain how React context causes performance issues and how to solve them without third-party libraries.

↑ 6 upvotes · 24 engineers asked this · SDE2
TCS Medium Screening round 2-4 years

What happens to React component state when you conditionally render it: {show && <Counter />}. User clicks 3 times. show=false, then show=true. What's the counter value?

↑ 5 upvotes · 23 engineers asked this · SDE2

Practice these questions with AI feedback

Get instant grading on your answers, identify your weak areas, and generate a personalised 14-day study plan — all free.

Build my study plan →

Same topic at specific companies

Amazon React / Performance Infosys React / Performance Google React / Performance TCS React / Performance Razorpay React / Performance General React / Performance Myntra React / Performance Flipkart React / Performance Meta React / Performance Airbnb React / Performance

Related topics

DSA / Arrays System Design DSA / Trees DSA / Graphs Behavioral Testing Domain DevOps API Testing DSA / Hashmaps GCP / Real-time Data Java / Pub-Sub Node.js / Memory SQL / Query Optimization Python / Async AWS / Lambda Kafka / Consumer Microservices / Saga Pattern TypeScript / Type System MongoDB / Indexing Security / SQL Injection Performance / Latency Tail Redis / Cache Stampede Elasticsearch / Cluster Health GraphQL / Security Data Engineering / Exactly Once Snowflake / Architecture PySpark / Core Concepts Airflow / Scheduling Web / WebAssembly Debugging / Production JavaScript / V8 Engine

Frequently asked questions

A developer puts async code inside useEffect by returning an async arrow function: useEffect(() => async () => {...}). Why is this wrong?
A developer puts async code inside useEffect by returning an async arrow function: useEffect(() => async () => {...}). Why is this wrong?
What is React.StrictMode and what bugs does it help catch?
What is React.StrictMode and what bugs does it help catch?
How do you implement dark mode in a React app that persists across refreshes, respects OS preference, and allows manual override?
How do you implement dark mode in a React app that persists across refreshes, respects OS preference, and allows manual override?
Your React app uses React Router. Users report the browser back button doesn't work after programmatic navigation. What are the likely causes?
Your React app uses React Router. Users report the browser back button doesn't work after programmatic navigation. What are the likely causes?
Your Next.js app shows 'Loading...' forever on first visit but works fine on refresh. What's happening?
Your Next.js app shows 'Loading...' forever on first visit but works fine on refresh. What's happening?