Prices shown are a USD base. Your local-market price is calculated at checkout in your own currency, plus any local sales tax.
What is inside
20 chapters, in the order the interviews tend to ask them:
Routing, layouts and navigation
Server and Client Components
Fetching data on the server
Caching and revalidation
Streaming, Suspense and partial rendering
Rendering modes and static generation
Server Actions and mutations
Forms, validation and error UX
Route Handlers and web API endpoints
Middleware, proxy and the runtimes
Metadata, SEO and social previews
Images, fonts and static assets
Client state and mutation feedback
Performance and Core Web Vitals
Build configuration and next.config
TypeScript and type safety
Security headers, CSP and authentication
Testing a Next.js application
Deployment, CI and observability
Accessibility and internationalisation
How the answers are built
Each chapter opens with the checklist the question is really testing. A few from this pack:
A folder becomes an addressable route segment only when it holds a page file; folders holding only a layout, template, loading or error file add a boundary but no path segment.
The 'use client' directive marks the entry point of a client module graph: every module that file imports becomes client code too, transitively.
Request memoisation deduplicates identical GET fetches within one server render pass and lasts only for that pass; it is not a cache and does not survive the request.
Without Cache Components, the Data Cache holds fetched responses, the Full Route Cache holds prerendered output, and the Client Router Cache holds RSC payloads for recently visited routes.
A Suspense boundary lets the server flush the shell and everything outside the boundary before the awaited work inside it finishes.
A route with no request-time API and no uncached access is prerendered at build time; reading cookies, headers or searchParams, or fetching with no-store, makes it request-time rendered.
Questions this pack covers
How does the App Router turn nested folders into URL path segments?
When is a nested segment right for a page, and when should it hold only a layout?
What does the use client directive actually mark as a boundary?
Why can a Server Component not hold React state?
What exactly does request memoisation deduplicate, and for how long?
When should you set cache no-store on a server fetch?
What are the three caches in the App Router, and what does each hold?
When does a revalidation need a router refresh before a user sees it?
Each one is answered in full in the pack, with the reasoning written out rather than a bullet list.