SynfraCore
Synfracore
Start Learning
Navigation

Academies

Platform

RoadmapsLabsCertificationsInterviewPYQsAI AssistantCareer
Start Learning Free Learning Roadmaps

Next.jsNotes

Key takeaways, tips, and important points to remember

📄
Last updated Sep 2026
Expert Content

Next.js — Revision Notes

Condensed reference for quick review. Consolidated from this guide's Overview, Intermediate, Advanced, and Troubleshooting material.


Core Concept

text
Next.js = a META-FRAMEWORK built on top of React -- adds routing,
  rendering-strategy choice, and build tooling that plain React
  deliberately does NOT provide on its own.
Still built from React components/props/state/hooks underneath --
  Next.js does not replace React's component model.
Request flow: incoming request -> file-system routing match ->
  rendering-strategy decision -> response.

Rendering Strategies (the core durable tradeoff)

text
Ahead-of-time  -- fastest, cheapest per-visit, risk of staleness
Per-request    -- always fresh, real server cost every visit
Client-side    -- most interactive, weaker default SEO/first-paint
The actual skill: match each PAGE's real freshness need to the
  cheapest strategy that satisfies it -- not defaulting to "always
  fresh" everywhere out of caution (a genuinely common real mistake).

Routing

text
File-system routing: a file's location determines its URL -- durable
  as a CONCEPT, exact file-naming conventions need verification.
Two real historical paradigms exist in the wild: Pages Router
  (original) and App Router (introduced later) -- both appear in
  real codebases and real tutorials; know both exist.
Shared layouts avoid re-implementing common page chrome per route.

Common Failure Modes (verified from this guide's Troubleshooting)

text
Hydration mismatch     -> server-rendered output didn't match client's
  first render -- usually Date.now()/Math.random()/window access
  happening directly during render instead of after mount
Env var undefined client-side -> read a server-only variable from
  code that actually runs in the browser
Stale data shown       -> rendering strategy + revalidation config
  working exactly as configured, just not as the team intended
Works locally, fails CI -> Node version drift, import path casing
  (case-sensitive filesystems differ), missing CI env vars
Works locally, breaks in prod -> browser-only code (window/document)
  imported into something that also renders on the server

Interview-Readiness Checklist

text
1. Explain what a meta-framework adds over plain React
2. Explain the rendering-strategy tradeoff and pick correctly
   for a concrete example page
3. Explain the historical Pages-to-App-Router shift as real history
4. Explain WHY server/client env-var separation is a security
   mechanism, not just a naming convention to memorize
5. Walk through diagnosing a hydration-mismatch bug end to end

Versioning Note — read this before trusting any API name in this guide

This is the single most important note across this entire academy's content, and it's worth repeating explicitly: Next.js has already changed its core routing/rendering paradigm once in its real history — the Pages Router was the original model; the App Router was introduced later as a new paradigm alongside it, built around newer React server-rendering capabilities. Both paradigms are genuinely still encountered in real, active codebases.

Because of this, treat the following as durable, safe to rely on without re-checking: the conceptual architecture (meta-framework value proposition), file-system routing as an idea, the three-way rendering-strategy tradeoff as a concept, and the fact that this paradigm shift really happened.

Treat the following as (needs verification — recheck against current Next.js docs): every specific API/hook/component name, every specific config file key or CLI flag, which router paradigm is the current default/recommended approach, exact caching/revalidation semantics, and exact edge-runtime capabilities. This guide deliberately tags these throughout rather than stating them as settled fact — do the same in your own notes and code, and always confirm against the current official documentation before shipping.

Share:
Join our Community
Daily tips, job alerts, interview help — join engineers learning together
Up Next
📝
Next.jsPYQ
Previous Year Questions with detailed solutions
Also Worth Exploring
← Back to all Next.js modules
CheatsheetsPYQ