All skill tracks
frontend field guide
Next.js
App Router routing, Server Components, caching, Server Actions, and production deployment for full-stack Next.js interviews.
4 difficulty sections16 modules8 lessons5690 min
16
Modules
8/128
Lessons written
5690 min
Total read time
4
Difficulty sections
Cheat sheet: Next.js at a glance

128 of 8 lessons
- 1What problems does Next.js solve that React alone does not, and what does it deliberately leave to React?Basicconceptual40 min
- 2Walk through what create-next-app generates and what each top-level file and folder is responsible for.Basicconceptual40 min
- 3How does the App Router differ from the Pages Router, and what would make you keep an app on Pages?Basicconceptual45 min
- 4Trace what happens between next dev, next build, and an incoming production request.Basicconceptual45 min
- 5Explain the difference between static, dynamic, and streamed rendering in Next.js and how a route ends up in each.Intermediateconceptual50 min
- 6What do src/app, public, the env files, and the server-only package each guarantee?Basicconceptual40 min
- 7You are asked in an interview to justify choosing Next.js for a new product. How do you answer without overselling it?Scenarioscenario25 min
- 8Check your understanding of the App Router bet, the request cycle, and Next.js conventions.Basicconceptual15 min
- 9How do folders and page.tsx map onto URL segments in the App Router?Basicconceptual40 minIn writing
- 10What does a layout persist across navigations, and what actually re-renders when the URL changes?Intermediateconceptual50 minIn writing
- 11When would you reach for template.tsx instead of layout.tsx?Intermediatepractical45 minIn writing
- 12Explain route groups, private folders, and colocated files, and when each earns its keep.Intermediatepractical50 minIn writing
- 13How do dynamic segments, catch-all routes, and generateStaticParams work together?Intermediatepractical55 minIn writing
- 14What does route segment config still control once Cache Components are in play?Advancedconceptual50 minIn writing
- 15An interviewer asks you to design the route tree for a multi-tenant dashboard. How do you lay it out?Scenariodesign25 minIn writing
- 16Check your understanding of segments, layouts, route groups, and dynamic routes.Intermediateconceptual15 minIn writing
- 17Describe the Server Component mental model: the server tree, client islands, and serialized props.Intermediateconceptual50 minIn writing
- 18What do "use client" and "use server" actually mark, and why is the boundary a module boundary?Intermediateconceptual50 minIn writing
- 19What can and cannot be passed from a Server Component to a Client Component, and why?Intermediatepractical55 minIn writing
- 20How does passing Server Components as children into a Client wrapper keep the client bundle small?Advancedpractical50 minIn writing
- 21Where are hooks, event handlers, and browser APIs legal, and what error tells you that you crossed the line?Intermediatetroubleshooting45 minIn writing
- 22How do server-only and tainting stop a secret from reaching the browser by accident?Advancedpractical55 minIn writing
- 23A teammate has put "use client" at the root layout to fix an error. How do you diagnose and unwind that?Scenariotroubleshooting25 minIn writing
- 24Check your understanding of the server tree, the client boundary, and what serializes.Intermediateconceptual15 minIn writing
- 25When should you use Link, and when is a plain anchor the correct choice?Basicpractical40 minIn writing
- 26Compare useRouter, redirect, notFound, and permanentRedirect, and say where each belongs.Intermediatepractical50 minIn writing
- 27How do params and searchParams differ between Server and Client Components?Intermediatepractical55 minIn writing
- 28What does prefetching buy you, what does it cost, and how does the router cache affect freshness?Advancedconceptual55 minIn writing
- 29What stays mounted across a soft navigation, and how do you use that deliberately?Intermediateconceptual45 minIn writing
- 30What are the common scroll, focus, and useSearchParams pitfalls on App Router navigations?Advancedtroubleshooting50 minIn writing
- 31A filter panel writes to searchParams and the page feels sluggish. How do you find and fix the cause?Scenariotroubleshooting25 minIn writing
- 32Check your understanding of links, router APIs, URL state, and prefetching.Intermediateconceptual15 minIn writing
- 33How do loading.tsx and Suspense produce a streamed fallback, and where should the boundary sit?Intermediatepractical50 minIn writing
- 34Compare error.tsx and global-error.tsx, and explain what each can and cannot catch.Intermediatepractical50 minIn writing
- 35What is the difference between not-found.tsx and calling notFound()?Intermediateconceptual40 minIn writing
- 36What problem do parallel routes and slots solve that nested layouts cannot?Advanceddesign60 minIn writing
- 37How do intercepting routes give a modal a real, shareable URL?Advanceddesign60 minIn writing
- 38How do default.tsx, catch-all recovery, and nested error UI interact on a complex route?Advancedtroubleshooting50 minIn writing
- 39Design the loading and error strategy for a dashboard with three independently slow panels.Scenariodesign25 minIn writing
- 40Check your understanding of loading, error, not-found, parallel, and intercepting routes.Intermediateconceptual15 minIn writing
- 41Why is an async Server Component the primary data-fetching API in the App Router?Intermediateconceptual50 minIn writing
- 42How do fetch request memoization and React.cache stop duplicate work in one render?Advancedconceptual55 minIn writing
- 43How do you spot a data waterfall, and when is Promise.all the wrong fix?Advancedtroubleshooting55 minIn writing
- 44What happens to a route when you read cookies or headers, and how do you contain that?Intermediatepractical50 minIn writing
- 45How do you use Suspense to stream a slow subtree without holding up the whole page?Advancedpractical55 minIn writing
- 46When must the browser do the fetching, and how do you keep that path small?Intermediatepractical45 minIn writing
- 47A product page takes 3 seconds because of chained fetches. Walk through your diagnosis and fix.Scenariotroubleshooting25 minIn writing
- 48Check your understanding of server fetching, memoization, waterfalls, and streaming.Advancedconceptual15 minIn writing
- 49Why did Next.js flip to uncached-by-default, and what broke in the old mental model?Advancedconceptual50 minIn writing
- 50Explain "use cache", cacheLife, and cacheTag, and how they compose.Advancedpractical60 minIn writing
- 51How does Partial Prerendering serve a static shell with dynamic holes?Advancedconceptual60 minIn writing
- 52When do you reach for revalidateTag versus updateTag?Advancedpractical55 minIn writing
- 53What cannot go inside a "use cache" boundary, and why is that restriction there?Advancedconceptual50 minIn writing
- 54A page shows stale data. How do you work out which cache layer you are hitting?Scenariotroubleshooting55 minIn writing
- 55Design the caching strategy for a catalog with 50,000 products and hourly price updates.Scenariodesign25 minIn writing
- 56Check your understanding of cache components, revalidation, and PPR.Advancedconceptual15 minIn writing
- 57What is a Server Action at the wire level, and what does that imply for how you treat it?Intermediateconceptual50 minIn writing
- 58How does binding an action to a form's action prop keep the form working without JavaScript?Intermediatepractical45 minIn writing
- 59How do useActionState and useFormStatus give you pending and result UI?Intermediatepractical55 minIn writing
- 60How do you validate FormData on the server and return usable field-level errors?Intermediatepractical55 minIn writing
- 61Why must every Server Action authenticate and authorize independently?Advancedpractical50 minIn writing
- 62How do you combine useOptimistic with revalidation so the UI never lies for long?Advancedpractical60 minIn writing
- 63An action updates a row but the list does not refresh. Walk through the causes you would check.Scenariotroubleshooting25 minIn writing
- 64Check your understanding of Server Actions, forms, pending UI, and mutation safety.Intermediateconceptual15 minIn writing
- 65When does a route handler beat a Server Action, and when is it the wrong tool?Intermediatedesign50 minIn writing
- 66How do you receive a signed webhook correctly, including the raw body problem?Advancedpractical55 minIn writing
- 67How do you set cookies, shape NextResponse, handle CORS, and stream from a route handler?Intermediatepractical55 minIn writing
- 68How do you design and version a public JSON API inside a Next.js app?Advanceddesign45 minIn writing
- 69How do you accept a file upload safely on the server, and where do the size limits actually apply?Advancedpractical50 minIn writing
- 70How do rate limits, auth headers, and a stable error shape keep an API safe to expose?Advancedpractical50 minIn writing
- 71Design the endpoint that receives your payment provider's webhooks. What must be true of it?Scenariodesign25 minIn writing
- 72Check your understanding of route handlers, webhooks, uploads, and API safety.Intermediateconceptual15 minIn writing
- 73When do you use the static metadata export versus generateMetadata?Basicpractical45 minIn writing
- 74How do titles, descriptions, canonicals, and robots directives fit together on a real site?Intermediatepractical50 minIn writing
- 75How do you produce correct Open Graph and Twitter cards, including generated OG images?Intermediatepractical55 minIn writing
- 76What do sitemap.ts, robots.ts, and manifest.ts each generate, and when do they run?Intermediatepractical45 minIn writing
- 77How do you add JSON-LD structured data without describing something the page does not contain?Advancedpractical50 minIn writing
- 78How do you keep preview deployments, trailing slashes, and duplicate URLs from damaging indexing?Advancedtroubleshooting50 minIn writing
- 79A marketing site's pages are indexed with the wrong titles. How do you find and fix it?Scenariotroubleshooting25 minIn writing
- 80Check your understanding of metadata, social previews, and indexing controls.Intermediateconceptual15 minIn writing
- 81How do next/image's sizes, priority, and remote patterns affect LCP and layout shift?Intermediatepractical55 minIn writing
- 82How does next/font eliminate the font-driven layout shift that a link tag causes?Intermediatepractical45 minIn writing
- 83How do you load a third-party script without paying for it on first paint?Intermediatepractical45 minIn writing
- 84Compare CSS Modules, global CSS, and Tailwind in the App Router.Basicdesign50 minIn writing
- 85When should an asset live in public/, be imported, or be served from a CDN?Basicdesign40 minIn writing
- 86What breaks for keyboard and screen-reader users on client-side route changes, and how do you fix it?Advancedpractical50 minIn writing
- 87A page scores badly on CLS and LCP. Walk through what you would check in a Next.js app.Scenariotroubleshooting25 minIn writing
- 88Check your understanding of images, fonts, scripts, styling, and route accessibility.Intermediateconceptual15 minIn writing
- 89How do you choose between httpOnly session cookies and client-readable tokens?Intermediatedesign50 minIn writing
- 90What should proxy.ts do, and what must never be decided there?Advanceddesign55 minIn writing
- 91Why must Server Components, Server Actions, and route handlers each check auth themselves?Advancedpractical55 minIn writing
- 92What CSRF exposure do Server Actions have, and what closes it?Advancedpractical50 minIn writing
- 93How do NEXT_PUBLIC_ prefixes, server-only, and bundling rules decide what leaks?Intermediatepractical45 minIn writing
- 94Walk through an OAuth and a magic-link flow in the App Router, including the state and PKCE parts.Advanceddesign60 minIn writing
- 95An auth check lives only in middleware. Explain the exposure and how you would close it.Scenariotroubleshooting25 minIn writing
- 96Check your understanding of sessions, the proxy, CSRF, and secret handling.Advancedconceptual15 minIn writing
- 97How would you choose between Prisma, Drizzle, and raw SQL for a new Next.js app?Intermediatedesign50 minIn writing
- 98Why put database access behind a server-only data module instead of calling it from components?Advanceddesign50 minIn writing
- 99What goes wrong with database connections on serverless, and how do you fix it?Advancedtroubleshooting55 minIn writing
- 100How do you turn a unique-constraint violation into a good user-facing error?Advancedpractical50 minIn writing
- 101How do you paginate and cache a list page correctly with "use cache"?Advancedpractical55 minIn writing
- 102How do migrations, seeds, and local-versus-production databases fit into a deploy?Intermediatepractical45 minIn writing
- 103Your app exhausts database connections under load on Vercel. Diagnose it.Scenariotroubleshooting25 minIn writing
- 104Check your understanding of the server data layer, pooling, transactions, and migrations.Advancedconceptual15 minIn writing
- 105How do LCP, INP, and CLS each fail in a Next.js app, and what fixes each?Advancedtroubleshooting50 minIn writing
- 106What does a "use client" boundary actually cost, and how do you measure it?Advancedpractical55 minIn writing
- 107How does Suspense placement decide whether streaming helps or hurts?Advanceddesign55 minIn writing
- 108What does the React Compiler do for you, and where does manual memoisation still matter?Advancedconceptual50 minIn writing
- 109Why is the Node.js runtime the default recommendation, and how do you migrate a legacy edge route?Advancedpractical50 minIn writing
- 110How do you get useful production logs, traces, and error tracking out of a Next.js app?Advancedpractical50 minIn writing
- 111Traffic tripled and INP regressed. Walk through your investigation.Scenariotroubleshooting25 minIn writing
- 112Check your understanding of web vitals, bundles, streaming, and runtimes.Advancedconceptual15 minIn writing
- 113How do you choose between locale in the URL, a cookie, or the Accept-Language header?Intermediatedesign50 minIn writing
- 114How do you handle translated messages, locale-aware dates, and hreflang correctly?Intermediatepractical55 minIn writing
- 115How do you wire MDX and frontmatter into the App Router as typed content?Intermediatepractical55 minIn writing
- 116How does draft mode give editors a preview without leaking unpublished content?Advancedpractical50 minIn writing
- 117How do you statically generate a catalog too large to build all at once?Advanceddesign50 minIn writing
- 118When do you use redirects, rewrites, and next.config rules on a content site?Intermediatepractical45 minIn writing
- 119Design the routing and caching for a documentation site in six languages.Scenariodesign25 minIn writing
- 120Check your understanding of locales, MDX, draft mode, and large-catalog generation.Intermediateconceptual15 minIn writing
- 121How do you split testing between unit tests, Playwright, and RSC-aware tests?Advanceddesign55 minIn writing
- 122How do you test Server Actions, route handlers, and authenticated paths?Advancedpractical60 minIn writing
- 123What do preview deployments and environment scoping give you, and where do they mislead?Intermediatepractical45 minIn writing
- 124What does self-hosting a Next.js app on Node or Docker require that Vercel hid from you?Advanceddesign60 minIn writing
- 125What belongs on a production checklist for headers, CSP, caching, and backups?Advancedpractical55 minIn writing
- 126Design and defend a complete production Next.js application end to end.Scenariodesign240 minIn writing
- 127How would you convince a sceptical reviewer that your Next.js app is production-ready?Scenarioscenario25 minIn writing
- 128Check your understanding of testing strategy, deployment, and production readiness.Advancedconceptual15 minIn writing