Interviewfragen zu Next.js mit Antworten
App Router, Server und Client Components, Rendering, Caching, Server Actions, Next.js 16.
225 Fragen fürs Vorstellungsgespräch zu Next.js mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- App Router
- RSC
- Caching
- Server Actions
Fragen nach Level
Junior
Grundbegriffe und Syntax · 50 Fragen
Middle
Praxis, Feinheiten und Optimierung · 50 Fragen
Senior
Architektur, Interna, Randfälle · 50 Fragen
Beispielfragen
Ein paar Fragen aus jedem Level mit richtiger Antwort und Erklärung.
Next.js · Junior
- Was ist Colocation im App Router?
Antwort zeigen
Richtige Antwort: Komponenten und Hilfsfunktionen neben den Routen in
app/ablegenDateien in
app/werden nur überpageoderrouteöffentlich. Deshalb kann man Komponenten, Hooks, Styles und Tests einer Route sicher neben ihrerpage.tsxhalten. Für Übersicht sorgen private Ordner_componentsoder gemeinsamer Code insrc/außerhalb vonapp. - Was ist Next.js?
Antwort zeigen
Richtige Antwort: Ein React-Framework mit Routing, Server-Rendering und Optimierungen
Next.js baut auf React auf und ergänzt, was der Bibliothek fehlt: dateibasiertes Routing, Server- und statisches Rendering, Server Components und Server Functions, Optimierung von Bildern und Schriften, Build und Deployment. Komponenten schreibt man in normalem React.
- Wie legt man im App Router eine Seite unter
/aboutan?Antwort zeigen
Richtige Antwort:
app/about/page.tsxmit einer Komponente als Default-Export anlegenEine Route wird durch einen Ordner definiert, und eine Datei
page.tsx(oder.js) macht sie zur öffentlichen Seite. Ohnepageist der Ordner per URL nicht erreichbar - man kann darin Komponenten ablegen (Colocation). Innext.configgibt es keine Routenkonfiguration. Eine Dateipages/about.tsxist die alte Konvention des Pages Router. - Wie unterscheidet sich
layout.tsxvonpage.tsx?Antwort zeigen
Richtige Antwort: Ein Layout umhüllt Seiten und behält beim Navigieren seinen Zustand
Ein Layout bekommt
childrenund enthält UI, die verschachtelte Routen teilen (Header, Seitenleiste). Beim Wechsel zwischen Kindseiten wird das Layout nicht neu gemountet: Zustand und DOM bleiben erhalten, nur der geänderte Teil wird gerendert. Layout und Page sind standardmäßig Server Components.
Next.js · Middle
- Was ist eine Server Function (Server Action) in Next.js?
Antwort zeigen
Richtige Antwort: Eine async-Funktion mit
'use server', aufrufbar vom ClientDie Direktive
'use server'macht eine Funktion zur Server Function, und Next.js erzeugt einen Endpoint dafür. Man kann sie an<form action>übergeben oder aus einem Client-Handler aufrufen. Der Aufruf ist ein POST-Request. Server Actions sind Server Functions für Mutationen, oft gefolgt von einer Cache-Revalidierung. - Was bringt
<form action={createPost}>mit einer Server Action im Vergleich zuonSubmit+fetch?Antwort zeigen
Richtige Antwort: Das Formular funktioniert schon vor dem Laden von JS (Progressive Enhancement), ohne API-Route
Eine Server Action bekommt
FormDatadirekt, man braucht also keinen Route Handler und keinfetchauf dem Client. Rendert eine Server Component das Formular, wird es schon vor der Hydration abgeschickt. Die Validierung schreibt man trotzdem selbst (etwa mit Zod). Den Zustand der Übermittlung zeigt man überuseActionStateoderuseFormStatus. - Was macht
revalidatePath('/blog')nach einer Mutation?Antwort zeigen
Richtige Antwort: Markiert gecachte Daten und UI der Route
/blogals veraltetDer nächste Request auf
/blogbekommt frische Daten. In einer Server Action aufgerufen, kommt die aktualisierte UI direkt in der Antwort der Action zurück. Für gezieltes Invalidieren von Daten, die viele Seiten nutzen, sind Tags bequemer (cacheTag+revalidateTag/updateTag). - Wie unterscheidet sich
updateTagvonrevalidateTagin Next.js 16?Antwort zeigen
Richtige Antwort:
updateTagläuft sofort ab,revalidateTagist Stale-while-revalidateupdateTaggibt es nur in Server Actions: Wer die Daten geändert hat, sieht die Änderungen sofort.revalidateTag(tag, 'max')markiert Daten als veraltet: Besucher sehen die alte Version, während die neue im Hintergrund entsteht - gut für Blogs und Kataloge. In Next.js 16 verlangtrevalidateTagein zweites Argument - eincacheLife-Profil.
Next.js · Senior
- Was ist der RSC-Payload?
Antwort zeigen
Richtige Antwort: Das serialisierte Render-Ergebnis von Server Components mit Verweisen auf Client Components
Der Payload enthält den gerenderten Baum der Server Components, Platzhalter für Client Components mit Verweisen auf ihre JS-Chunks und deren Props. Beim ersten Laden ist er ins HTML eingebettet (für die Hydration); bei Client-Navigation wird er separat geholt. Der Code von Server Components erreicht den Browser nie.
- Was passiert im App Router bei Client-Navigation über
<Link>?Antwort zeigen
Richtige Antwort: Der RSC-Payload des neuen Segments wird geladen, und React aktualisiert nur die geänderten Teile
Der Router fordert den Payload an (oder nimmt einen vorab geladenen aus dem Client-Cache) und gleicht ihn mit dem aktuellen Baum ab: Gemeinsame Layouts bleiben erhalten, und der Client-Zustand geht nicht verloren. Lädt das Segment noch, erscheint
loading.tsx. Ein vollständiges Neuladen des Dokuments gibt es nicht. - Mit
cacheComponents: truezeigt das Dev-Overlay „blocking route“. Was bedeutet das?Antwort zeigen
Richtige Antwort: Nicht gecachte Daten werden außerhalb von
<Suspense>gelesen und blockieren die statische HülleMit Cache Components muss jede asynchrone Arbeit entweder über
'use cache'gecacht sein (sie kommt in die Hülle) oder in<Suspense>stecken (sie wird zur Request-Zeit gestreamt). Sonst würde die ganze Seite auf Daten warten. Diese Regel wird in der Entwicklung und beim Build geprüft. - Wie unterscheidet sich
'use cache: remote'von'use cache'?Antwort zeigen
Richtige Antwort: Es speichert das Ergebnis in einem entfernten Handler, den alle Instanzen teilen, auf Kosten von Netzwerklatenz
Einfaches
'use cache'speichert Einträge standardmäßig im Prozessspeicher (LRU), in Serverless und mit mehreren Instanzen ist der Cache also kurzlebig und nicht geteilt.remotenutzt einen Handler auscacheHandlers(Redis, ein KV der Plattform) - zuverlässiger, aber teurer. Zugriff auf Request-Daten gibt'use cache: private', nichtremote.
Kombinierte Tests mit diesem Thema
Fragen aus mehreren Themen auf einmal, wie im Vorstellungsgespräch für eine konkrete Stelle.
Programmieraufgaben
Schreib die Lösung direkt im Browser, und Tests prüfen sie sofort. Klassiker aus Vorstellungsgesprächen zu JavaScript (debounce, deepClone, Promise.all, LRU-Cache), zu TypeScript (Generics, Narrowing und Utility Types, geprüft von einem echten Compiler), Backend-Logik in Node.js (Middleware, Rate Limits, Job-Queues), SQL-Abfragen in echtem PostgreSQL und zu React: Komponenten und Hooks wie eine Aufgabenliste, Tabs, useDebounce und useInterval.
Aufgaben öffnen →