Next.js Interview Preparation Roadmap
Next.js is the React framework — it adds routing, rendering strategies, a server runtime, bundling and deployment on top of React.
Suggested Learning Order
- App Router
- Data Fetching & Caching
- API Routes & Route Handlers
- Pages Router — legacy, but still asked
- Deployment
- Interview Questions
Version Note (Important)
These notes target Next.js 16 (released October 2025, current stable through 2026). Several answers changed between Next 14/15 and Next 16, and interviewers ask both. Where behaviour changed, both are shown.
The big shifts in Next.js 16:
| Change | Before (13–15) | Next.js 16 |
|---|---|---|
| Caching | Implicit — fetch cached by default, opt out | Explicit — nothing cached unless you say "use cache" |
| Cache config | experimental.ppr, experimental.dynamicIO | cacheComponents: true |
| Middleware file | middleware.ts | proxy.ts (middleware.ts deprecated) |
params / searchParams | Sync object | Async — must await |
cookies() / headers() | Sync | Async — must await |
| Bundler | webpack | Turbopack (default) |
| PPR | Experimental flag | Default behaviour with Cache Components |
next lint | Built in | Removed — use ESLint or Biome directly |
Also: Node.js 20.9+ and TypeScript 5.1+ are now the minimums, and AMP support is gone.
Why Next.js Over Plain React?
| Problem with plain React (CRA/Vite SPA) | Next.js answer |
|---|---|
| Empty HTML shell — bad SEO | SSR / SSG / Server Components |
| Slow first paint | Server rendering + streaming |
| No routing | File-system routing |
| No backend | Route Handlers + Server Actions |
| Manual code splitting | Automatic, per route |
| Image, font, script optimisation | Built in |
| Deployment config | Zero-config on Vercel, adapters elsewhere |
What Interviewers Actually Test
| Area | The real question behind it |
|---|---|
| Server vs Client Components | Do you understand what ships to the browser |
| Rendering strategies | Can you pick SSG/SSR/ISR for a given page |
| Caching | Do you know where the four caches live |
| Server Actions | Can you mutate data without an API route |
loading.js / error.js | Do you know the file conventions |
| Metadata / SEO | Have you shipped a real public site |