Interviewfragen zu NestJS mit Antworten
Module, Controller und Provider, Dependency Injection, Pipes, Guards, Interceptors und Filter, Validierung, TypeORM und Prisma, Testen, Microservices und GraphQL.
225 Fragen fürs Vorstellungsgespräch zu NestJS mit Antworten und Erklärungen: Level Junior, Middle und Senior. Beispielfragen, Online-Tests und Programmieraufgaben.
- Modules
- DI
- Guards
- Interceptors
- Testing
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.
NestJS · Junior
- Was ist NestJS?
Antwort zeigen
Richtige Antwort: Ein Node.js-Framework für serverseitige TypeScript-Apps
Nest bietet eine strukturierte, von Angular inspirierte Architektur. Darunter läuft ein HTTP-Framework, standardmäßig Express oder Fastify, ergänzt um Module, DI, Pipes, Guards und mehr.
- Welche HTTP-Plattform nutzt NestJS standardmäßig?
Antwort zeigen
Richtige Antwort: Express
Express ist der Standardadapter. Mit
@nestjs/platform-fastifykann man für bessere Performance zu Fastify wechseln, der meiste Code bleibt gleich. - Wie legt man ein neues NestJS-Projekt an?
Antwort zeigen
Richtige Antwort:
npx @nestjs/cli new my-appDie CLI erzeugt
main.ts, ein Wurzel-AppModule, einen Beispiel-Controller und -Service plus Test-Setup.nest generate(nest g) fügt Module, Controller und Services hinzu. - Welche Sprache nutzt NestJS hauptsächlich?
Antwort zeigen
Richtige Antwort: TypeScript
Nest verlässt sich für Dependency Injection auf TypeScript-Decorators und Typ-Metadaten, TypeScript ist also die naheliegende Wahl.
NestJS · Middle
- In welcher Reihenfolge laufen die Verarbeitungsschichten einer Anfrage in Nest?
Antwort zeigen
Richtige Antwort: Middleware → Guards → Interceptors → Pipes → Handler
Innerhalb jeder Schicht laufen zuerst globale, dann solche auf Controller-Ebene, dann auf Routenebene. Exception Filter behandeln Fehler, die irgendwo auf dem Weg geworfen werden.
- Warum sollte Authentifizierung ein Guard statt Middleware sein?
Antwort zeigen
Richtige Antwort: Guards kennen den Handler und seine Metadaten
Middleware weiß nicht, welcher Routen-Handler laufen wird. Guards sind für die Entscheidung „darf diese Anfrage weiter?“ gebaut.
- Wofür nutzt man
ExecutionContext?Antwort zeigen
Richtige Antwort: Den aktuellen Handler, die Klasse und die Anfrage lesen
context.switchToHttp().getRequest(),context.getHandler(),context.getClass()undcontext.getType()sind die üblichen Aufrufe. - Wie kann ein Interceptor jede Antwort in
{ data: ... }einhüllen?Antwort zeigen
Richtige Antwort:
next.handle().pipe(map((data) => ({ data })))Interceptors sind der Ort für querschnittliche Änderungen an Antworten. Sei konsistent: Fehler formen Exception Filter, nicht Interceptors.
NestJS · Senior
- Woher weiß Nest, was in
constructor(private users: UsersService)injiziert werden soll?Antwort zeigen
Richtige Antwort: Es liest die Metadaten
design:paramtypesDeshalb brechen reine Typ-Imports (
import type) oder Interfaces die Injektion: es gibt keinen Laufzeitwert, der als Token dienen kann. - Warum kann ein Bundler oder Compiler ohne Unterstützung für Decorator-Metadaten eine Nest-App kaputt machen?
Antwort zeigen
Richtige Antwort: Ohne
design:paramtypeslassen sich Typen nicht auflösenesbuild zum Beispiel gibt keine Decorator-Metadaten aus. SWC unterstützt sie mit passender Konfiguration, deshalb dokumentiert Nest ein SWC-Setup.
- Wie ist der DI-Container über Module hinweg organisiert?
Antwort zeigen
Richtige Antwort: Jedes Modul hat einen eigenen Bereich, geteilt per Export
Diese Kapselung ist der Grund, warum dieselbe Klasse in den Providern zweier Module zwei Instanzen ergibt.
- Ein REQUEST-scoped Provider wird in einen Singleton-Service injiziert. Was passiert?
Antwort zeigen
Richtige Antwort: Die ganze Kette wird request-scoped
Der Scope steigt nach oben. In einer viel genutzten App kann das die Allokationen pro Anfrage vervielfachen; Durable Provider oder ALS sind Alternativen für Mandantenfähigkeit.
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 →