study-index.md

πŸš€ React Mastery: Zero to Interview-Ready

Master Study Index & Roadmap

Goal: Go from knowing absolutely nothing about React to confidently answering interview questions, reading any React codebase, and writing production-quality code.


πŸ“‹ Table of Contents

  1. Module Overview Table
  2. Learning Path Diagram
  3. Prerequisites
  4. How to Use This Guide
  5. Module Summaries
  6. Interview Readiness Checklist
  7. Recommended Learning Schedule
  8. Additional Resources

πŸ“Š Module Overview Table

ModuleTitleDifficultyEst. TimeKey TopicsInterview Weight
01React Fundamentals🟒 Beginner15-20 hrsJSX, Components, Props, State, Events⭐⭐⭐⭐⭐
02Hooks In Depth🟑 Intermediate18-22 hrsuseState, useEffect, useRef, useContext, Custom Hooks⭐⭐⭐⭐⭐
03Advanced Component PatternsπŸ”΄ Advanced15-20 hrsHOCs, Render Props, Compound Components, Controlled/Uncontrolled⭐⭐⭐⭐
04State Management & Data FlowπŸ”΄ Advanced18-22 hrsContext API, Redux, Zustand, React Query, Data Fetching⭐⭐⭐⭐⭐
05Performance & React InternalsπŸ”΄ Advanced15-20 hrsVirtual DOM, Fiber, Reconciliation, Memoization, Profiling⭐⭐⭐⭐⭐
06Routing, Forms & Ecosystem🟑 Intermediate12-15 hrsReact Router, Form Handling, Testing, TypeScript with React⭐⭐⭐⭐
07Real-World Projects & Interview PrepπŸ”΄ Advanced20-25 hrsSystem Design, Architecture, FAANG Questions, Code Reviews⭐⭐⭐⭐⭐

Total Estimated Time: 113-144 hours (4-6 weeks of dedicated study)


πŸ—ΊοΈ Learning Path Diagram

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ START HERE β”‚ β”‚ Do you know HTML/CSS/JS? β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ YES β”‚ NO β†’ Learn JS basics first β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MODULE 01: FUNDAMENTALS β”‚ β”‚ JSX, Components, Props, β”‚ β”‚ State, Events, Lists β”‚ β”‚ ⏱️ 15-20 hours β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MODULE 02: HOOKS IN DEPTH β”‚ β”‚ useState, useEffect, β”‚ β”‚ useRef, useContext, β”‚ β”‚ Custom Hooks β”‚ β”‚ ⏱️ 18-22 hours β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MODULE 03: ADVANCED β”‚ β”‚ PATTERNS β”‚ β”‚ HOCs, Render Props, β”‚ β”‚ Compound Components, β”‚ β”‚ Error Boundaries β”‚ β”‚ ⏱️ 15-20 hours β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MODULE 04: β”‚ β”‚ MODULE 05: β”‚ β”‚ MODULE 06: β”‚ β”‚ STATE MGMT & β”‚ β”‚ PERFORMANCE β”‚ β”‚ ROUTING, FORMS β”‚ β”‚ DATA FLOW β”‚ β”‚ & INTERNALS β”‚ β”‚ & ECOSYSTEM β”‚ β”‚ ⏱️ 18-22 hrs β”‚ β”‚ ⏱️ 15-20 hrsβ”‚ β”‚ ⏱️ 12-15 hrs β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”˜β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ MODULE 07: REAL-WORLD & β”‚ β”‚ INTERVIEW PREP β”‚ β”‚ System Design, FAANG Qs, β”‚ β”‚ Architecture, Code Reviews β”‚ β”‚ ⏱️ 20-25 hours β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ πŸŽ‰ INTERVIEW β”‚ β”‚ READY! β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Dependency Map

Module 01 ──────► Module 02 ──────► Module 03 β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β–Ό β–Ό β”‚ Module 06 Module 04 β”‚ (can start (needs 02 + 03) β”‚ after 02) β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό └───────────► Module 05 (needs 01-03) β”‚ β–Ό Module 07 (needs ALL)

πŸ“š Prerequisites

Before starting Module 01, you should be comfortable with:

JavaScript Essentials (Must Know)

  • Variables (let, const, var) and scoping
  • Functions (regular, arrow, callbacks)
  • Objects and arrays (destructuring, spread/rest operators)
  • Array methods (map, filter, reduce, forEach)
  • Template literals
  • Ternary operator
  • import/export (ES Modules)
  • Promises and async/await
  • this keyword behavior
  • Classes (basic syntax)
  • Closures

HTML/CSS Essentials

  • Semantic HTML elements
  • CSS selectors and specificity
  • Flexbox and Grid basics
  • Responsive design concepts

Tooling

  • Node.js and npm installed
  • A code editor (VS Code recommended)
  • Basic terminal/command line usage
  • Git basics (for version control)

πŸ“– How to Use This Guide

Reading Strategy

  1. First Pass: Read the concept explanations and analogies. Understand the "why."
  2. Second Pass: Type out every code example yourself. Don't copy-paste.
  3. Third Pass: Attempt the practice problems without looking at solutions.
  4. Fourth Pass: Answer interview questions out loud as if in a real interview.
  5. Review: Come back to "What's the output?" questions weekly.

Active Learning Tips

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ 🧠 THE 70-20-10 RULE β”‚ β”‚ β”‚ β”‚ 70% β€” Build projects (hands-on coding) β”‚ β”‚ 20% β€” Read/study these modules β”‚ β”‚ 10% β€” Watch videos for visual learning β”‚ β”‚ β”‚ β”‚ Don't just read. BUILD THINGS. β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Symbols Used Throughout

SymbolMeaning
πŸ’‘Key insight or tip
⚠️Warning / Common mistake
πŸ”Under the hood / Internal detail
🏒Real-world production usage
🎯Interview-critical concept
❓Interview question
πŸ§ͺPractice exercise
πŸ“ŠComparison table
πŸ”—Cross-reference to another module

πŸ“ Module Summaries

Module 01: React Fundamentals

File: 01-react-fundamentals.md

The foundation of everything. You'll learn what React actually is (a UI library, NOT a framework), why it exists, and how it fundamentally changes the way we build UIs. Covers JSX (the weird HTML-in-JavaScript thing), components (function vs class), props (how data flows), state (how things change), event handling, conditional rendering, and rendering lists. By the end, you can build basic interactive UIs.

Key Interview Topics: Virtual DOM explanation, JSX transpilation, controlled vs uncontrolled components, one-way data flow, keys in lists.


Module 02: Hooks In Depth

File: 02-hooks-in-depth.md

The most important module for modern React. Hooks replaced class lifecycle methods and are now the standard way to add state and side effects. Deep dives into every built-in hook (useState, useEffect, useContext, useRef, useMemo, useCallback, useReducer, useLayoutEffect, etc.), the rules of hooks, and how to build custom hooks. This is where most interview questions come from.

Key Interview Topics: Closure over stale state, useEffect cleanup, dependency arrays, custom hooks patterns, useRef vs state.


Module 03: Advanced Component Patterns

File: 03-advanced-patterns.md

Patterns used in production codebases and open-source libraries. Higher-Order Components (HOCs), Render Props, Compound Components, Controlled vs Uncontrolled patterns, Provider pattern, and more. Understanding these lets you read any codebase and write reusable, flexible components.

Key Interview Topics: HOC vs Render Props vs Hooks, compound component pattern, inversion of control, component composition.


Module 04: State Management & Data Flow

File: 04-state-management-and-data-flow.md

How to manage application state at scale. Covers the evolution from prop drilling to Context API to external libraries. Deep dives into Redux (with Redux Toolkit), Zustand, and data fetching with React Query/TanStack Query. Covers when to use what and how to architect state in large apps.

Key Interview Topics: Redux data flow, middleware, when to use Context vs Redux, server state vs client state, caching strategies.


Module 05: Performance & React Internals

File: 05-performance-and-internals.md

The "secret weapon" module. Understanding how React works under the hood (Virtual DOM, Fiber architecture, reconciliation algorithm) and how to write performant code (memoization, code splitting, lazy loading, profiling). This separates junior from senior developers.

Key Interview Topics: How reconciliation works, Fiber architecture, why keys matter, React.memo vs useMemo vs useCallback, avoiding re-renders, concurrent features.


Module 06: Routing, Forms & Ecosystem

File: 06-routing-forms-and-ecosystem.md

Practical skills you need for any real React app. React Router v6+ (nested routes, protected routes, data loading), form handling (controlled forms, Formik, React Hook Form, validation), testing (React Testing Library, Jest), and TypeScript with React. Also covers the broader ecosystem (Next.js, Vite, styling solutions).

Key Interview Topics: Client-side routing, form state management, testing best practices, TypeScript generics with React.


Module 07: Real-World Projects & Interview Prep

File: 07-real-world-and-interview-prep.md

The final boss. System design for frontend (how would you design Twitter's feed?), code review exercises, common architecture patterns in production, comprehensive interview question bank with detailed answers, and mini-project ideas. Includes behavioral question guidance specific to React developers.

Key Interview Topics: Everything. This module synthesizes all previous modules into interview-ready format.


βœ… Interview Readiness Checklist

Rate yourself honestly on each topic. You're interview-ready when all boxes are checked.

Tier 1: Must-Know (Asked in 90%+ of React interviews)

  • Explain the Virtual DOM and reconciliation
  • Difference between state and props
  • How useState works (including batching and closures)
  • How useEffect works (including cleanup and dependency array)
  • Controlled vs uncontrolled components
  • Why keys are needed in lists (and why index is bad)
  • Component lifecycle (mount, update, unmount) in hooks
  • Event handling in React vs vanilla DOM
  • Conditional rendering patterns
  • What causes re-renders and how to prevent unnecessary ones

Tier 2: Frequently Asked (Asked in 70%+ of interviews)

  • Custom hooks β€” when and how to write them
  • Context API β€” usage and limitations
  • useRef β€” DOM access and persistent values
  • useMemo and useCallback β€” when to use them
  • Error boundaries
  • Higher-Order Components vs Render Props vs Hooks
  • Code splitting and lazy loading
  • React Router basics
  • Lifting state up
  • Pure components and React.memo

Tier 3: Senior-Level (Asked in 50%+ of senior interviews)

  • Fiber architecture and concurrent features
  • Redux internals and middleware
  • Server-side rendering (SSR) vs client-side rendering (CSR)
  • React Server Components
  • Performance profiling and optimization strategies
  • Testing strategies (unit, integration, e2e)
  • Accessibility in React
  • Design system / component library architecture
  • State machine patterns
  • Micro-frontend architecture

Tier 4: Expert-Level (Distinguishes top candidates)

  • React compiler and automatic memoization
  • Suspense for data fetching
  • Concurrent rendering deep dive
  • Custom reconciler creation
  • Streaming SSR
  • Build tool internals (Webpack, Vite)
  • Module federation
  • Advanced TypeScript patterns with React

πŸ“… Recommended Learning Schedule

Aggressive (4 weeks β€” Full-time study)

WeekModulesDaily HoursFocus
101 + 026-8 hrsFundamentals + Hooks
203 + 046-8 hrsPatterns + State Management
305 + 066-8 hrsPerformance + Ecosystem
407 + Review6-8 hrsInterview Prep + Practice

Moderate (8 weeks β€” Part-time with job)

WeekModulesDaily HoursFocus
1-2012-3 hrsFundamentals
3-4022-3 hrsHooks
5032-3 hrsPatterns
6042-3 hrsState Management
705 + 062-3 hrsPerformance + Ecosystem
807 + Review3-4 hrsInterview Prep

Relaxed (12 weeks β€” Casual learning)

WeekModulesDaily HoursFocus
1-3011-2 hrsFundamentals
4-6021-2 hrsHooks
7-8031-2 hrsPatterns
9042 hrsState Management
10052 hrsPerformance
11062 hrsEcosystem
12072-3 hrsInterview Prep

πŸ”— Additional Resources

Official Documentation

Practice Platforms

Recommended Reading

  • React: Up & Running by Stoyan Stefanov
  • Learning React by Alex Banks & Eve Porcello
  • Dan Abramov's blog: overreacted.io
  • Kent C. Dodds' blog: kentcdodds.com

YouTube Channels

  • Fireship (quick overviews)
  • Jack Herrington (advanced patterns)
  • Theo - t3.gg (industry perspectives)
  • Web Dev Simplified (clear explanations)

🎯 Quick-Start Guide

If you're in a rush for an interview in 1 week:

  1. Read Module 01 (skip practice problems)
  2. Read Module 02 (focus on useState, useEffect, custom hooks)
  3. Read Module 05 sections on Virtual DOM and reconciliation
  4. Read Module 07 interview questions
  5. Practice explaining concepts out loud

If you have 2 weeks:

  • Add Module 03 and Module 04
  • Do the practice problems in Module 02

If you have a month or more:

  • Follow the full path. Don't skip anything.
  • Build a project alongside studying.

Remember: The goal isn't to memorize answers. It's to understand React so deeply that you can derive the answers from first principles. When you truly understand how React works, you can answer any question β€” even ones you've never seen before.

Now start with Module 01: React Fundamentals β†’