Frontend Architecture MasteryReact & Next.jsApril 12, 2026

ReactJS Mastery Quiz.

85+ expert-level questions covering React Fiber, Modern Hooks, and Next.js 15 Server Components.

Syllabus

Course Overview: Frontend Systems Design

01React Fiber & Reconciler Internals
02Recruiter Screening: Junior to Lead
03Advanced Hooks & State Orchestration
04RSC Architecture & Next.js 15 PPR
05React 19 Compiler & Auto-Memoization
06Hydration Strategies & Performance

Module 01 // Core Internals & Fiber Architecture

How does the React Fiber reconciler differ from the old Stack reconciler?

Fiber allows React to break rendering work into small units and spread it over multiple frames (time-slicing). It enables pausing, resuming, and prioritizing work, which prevents UI blocking during heavy updates and is the foundation for Concurrent React.

Explain the difference between Shadow DOM and Virtual DOM.

Shadow DOM is a native browser API for scoping CSS and DOM in web components. Virtual DOM is a lightweight JavaScript representation of the real DOM used by React to efficiently compute updates through 'diffing'.

What is 'Concurrent Mode' and how does it improve UX?

Concurrent Mode (now 'Concurrent React') allows React to work on multiple versions of the UI simultaneously. It enables the UI to remain responsive even during large renders by interrupting low-priority updates for high-priority user interactions.

Module 02 // Recruiter's Screening Room (Junior & Confirmed)

What is the difference between Functional and Class components?

Functional components are simpler, use Hooks for state/lifecycle, and are the modern standard. Class components rely on ES6 classes and lifecycle methods like 'componentDidMount' but are being phased out in favor of the more composable Hooks approach.

Explain the two main 'Rules of Hooks'.

1) Only call Hooks at the top level (not inside loops or conditions) to ensure they always run in the same order. 2) Only call Hooks from React functions (not standard JavaScript functions).

What is the difference between props and state?

Props (short for properties) are passed to a component from its parent and are read-only. State is managed internally by the component and can change over time, usually triggering a re-render when it does.

Why is the 'key' prop essential in lists?

Keys help React identify which items have changed, been added, or removed. This allows for stable component identity and efficient updates, preventing bugs like state being 'passed' to the wrong list item.

What is the 'Virtual DOM' in simple terms?

It's a 'draft' of the UI that React keeps in memory. When state changes, React updates the draft first, compares it with the old version (diffing), and then only updates the specific parts of the real DOM that actually changed.

Module 03 // Advanced Hooks & State Logic

When would you choose 'useDeferredValue' over 'useTransition'?

Use 'useTransition' when you have control over the state update that triggers the transition. Use 'useDeferredValue' when you receive a value from a parent (like a prop) and want to defer the re-render of a component tree that depends on that value.

Explain the 'Exhaustive Deps' lint rule and stale closures.

The rule ensures that all reactive values used inside an effect are declared as dependencies. Skipping them causes 'stale closures' where the effect function captures variables from a previous render, leading to bugs where the effect logic operates on old data.

Why is 'useLayoutEffect' considered a performance bottleneck?

It runs synchronously after all DOM mutations but before the browser paints. It blocks the browser from painting until the effect finishes, which can cause 'jank' or flickering if the logic is too heavy.

What is the difference between 'useCallback' and 'useMemo'?

useMemo memoizes the *result* of a function calculation. useCallback memoizes the *function instance* itself, preventing unnecessary re-renders of child components that rely on reference equality for props.

Module 04 // Next-Gen Architecture (RSC & Next.js)

What are React Server Components (RSC) and why do they matter?

RSCs are components that render exclusively on the server. They reduce the JavaScript bundle size shipped to the client to nearly zero and allow direct access to server-side resources like databases without intermediate APIs.

Explain the 'use client' directive in RSC architecture.

It marks a boundary between Server and Client components. Any component with 'use client' (and its imports) will be part of the client-side bundle, enabling the use of state, effects, and browser APIs.

Define 'Streaming Hydration' and its impact on LCP.

Streaming allows the server to send HTML chunks as they are ready. Hydration can then begin on those chunks immediately, rather than waiting for the entire page to download, significantly improving 'Largest Contentful Paint' and 'Time to Interactive'.

Advanced Insight: Next.js 15 PPR

Partial Prerendering (PPR) is the biggest breakthrough in Next.js 15. It combines the speed of static site generation with the flexibility of dynamic rendering in a single page request.

// Minimal PPR Implementation

export const experimental_ppr = true;

export default function Page() {
  return (
    <main>
      <StaticHeader />
      <Suspense fallback={<Skeleton />}>
        <DynamicUserDashboard />
      </Suspense>
    </main>
  );
}

With PPR enabled, the StaticHeader is served instantly from the edge (CDN), while the DynamicUserDashboard is streamed in as soon as the server finishes rendering it. This eliminates the "All or Nothing" choice between Static and Dynamic rendering.

React Architecture FAQ

What is the React Compiler and how does it eliminate useMemo?

The React Compiler (formerly React Forget) statically analyzes your component code at build time and automatically inserts memoization where needed. This means developers no longer need to manually use useMemo, useCallback, or React.memo — the compiler determines optimal re-render boundaries by analyzing data flow dependencies and automatically caches expensive computations and stable callback references.

How do Server Components differ from Server-Side Rendering (SSR)?

SSR renders the entire page to HTML on the server, then the client re-processes (hydrates) everything. Server Components render individual components on the server and stream their output as a serialized React tree. The critical difference: Server Components never ship their JavaScript to the client, reducing bundle size. They can also directly access databases, file systems, and APIs without exposing credentials to the browser.

When should I use useReducer vs. useState?

Use useState for simple, independent state values (toggle, counter, input text). Use useReducer when: (1) state updates depend on previous state, (2) multiple sub-values are logically related (form with 5+ fields), or (3) state transitions follow predictable patterns that benefit from a centralized dispatch/action model. The reducer function is also easier to test in isolation since it's a pure function.

What are Server Actions in Next.js and how do they work?

Server Actions are async functions marked with 'use server' that execute on the server when called from client components. They enable form submissions and data mutations without building separate API endpoints. Under the hood, Next.js creates a POST endpoint for each Server Action, serializes the arguments, executes the function on the server, and returns the result — all with automatic error handling and optimistic UI support.

How does React's Concurrent Rendering improve UX?

Concurrent Rendering allows React to interrupt long-running renders to handle higher-priority updates (like user input). With features like useTransition and useDeferredValue, expensive re-renders (filtering 10,000 list items) can be deprioritized so the UI remains responsive. The key insight: React can now prepare new UI in the background without blocking the current screen from responding to user interactions.

What is the recommended state management approach in 2026?

The React ecosystem has consolidated: use React's built-in useState/useReducer + Context for app-level state, React Query (TanStack Query) for server state (caching, synchronization, background refetching), and Zustand for complex client-side global state that needs to be accessed outside React's component tree. Redux remains viable for large existing codebases but is no longer the default recommendation for new projects.

Certification of Knowledge

At Kodivio, we serve the engineering community by providing high-signal technical content and private performance tools. Format your advanced React hooks and components locally with our JavaScript Beautifier.

Feedback

Live
ML

M. Leachouri

Founder & Chief Architect

"I built Kodivio because professional tools shouldn't come at the cost of your privacy. Our mission is to provide enterprise-grade utilities that process data exclusively in your browser."

M. Leachouri is an Expert Web Developer, Data Scientist Engineer, and Systems Architect with a deep specialization in DevOps and Cybersecurity. With over a decade of experience building scalable distributed systems and Zero-Trust architectures, he engineered Kodivio to bridge the gap between high-performance computing and absolute user sovereignty.

Verified Expert
Certified Architect
Full Profile & Mission →