Interviewfragen zu NestJS (Middle) mit Antworten
75 Fragen fürs Vorstellungsgespräch zu NestJS (Middle) mit richtigen Antworten, Erklärungen und Links zur Dokumentation.
Diesen Test machen- 1.In welcher Reihenfolge laufen die Verarbeitungsschichten einer Anfrage in Nest?
- 2.Warum sollte Authentifizierung ein Guard statt Middleware sein?
- 3.Wofür nutzt man
ExecutionContext? - 4.Wie liest ein Rollen-Guard die an einer Route deklarierten Rollen?
- 5.Wie registriert man einen globalen Guard, der andere Provider injizieren kann?
- 6.Was liefert
intercept(context, next)eines Interceptors? - 7.Wie kann ein Interceptor jede Antwort in
{ data: ... }einhüllen? - 8.Wie kann ein Interceptor langsamen Handlern ein Timeout geben?
- 9.Wie schreibt man einen eigenen Parameter-Decorator wie
@User()? - 10.Wie kombiniert man mehrere Decorators zu einem, etwa Guards plus Swagger-Annotationen?
- 11.Wann nutzt man
useFactoryfür einen Provider? - 12.Wofür ist
useExistingda? - 13.Warum eine interface-artige Abhängigkeit per Token statt per Klasse injizieren?
- 14.Was ist ein dynamisches Modul?
- 15.Was ist die übliche Konvention für
forRoot,registerundforFeature? - 16.Was sind die drei Injection Scopes in Nest?
- 17.Was ist ein Nebeneffekt, wenn man einen Provider request-scoped macht?
- 18.Wie löst man eine zirkuläre Abhängigkeit zwischen zwei Providern auf?
- 19.Was erlaubt
ModuleRef? - 20.Welcher Lifecycle-Hook ist der richtige Ort, um eine Verbindung zu öffnen, auf die andere Module beim Start angewiesen sind?
- 21.Wie validiert man verschachtelte Objekte in einem DTO?
- 22.Was ist das Risiko, Datenbank-Entitäten direkt als Request-DTOs zu nutzen?
- 23.Wie kann eine eigene Validierungsregel etwas Asynchrones prüfen, etwa „E-Mail ist nicht vergeben“?
- 24.Warum schreibt man eventuell eine eigene Pipe, statt
ValidationPipezu nutzen? - 25.Was erlaubt
@Expose({ groups: ['admin'] })mitClassSerializerInterceptor? - 26.Wie schreibt man einen globalen Filter, der alle Fehler als RFC-9457-Problem-Details formatiert?
- 27.Wo sollten Datenbankfehler wie Eindeutigkeitsverletzungen in HTTP-Fehler übersetzt werden?
- 28.Warum können sich Exception Filter in Microservices und HTTP unterschiedlich verhalten?
- 29.Wie fügt sich Passport in die Authentifizierung von Nest ein?
- 30.Wie setzt man Berechtigungsregeln feiner als Rollen um, etwa „Nutzer dürfen nur eigene Posts bearbeiten“?
- 31.Warum zusätzlich zur Authentifizierung den Besitz von Objekten prüfen?
- 32.Wie führt man in Nest mehrere TypeORM-Operationen in einer Transaktion aus?
- 33.Warum ist
synchronize: truein TypeORM in Produktion gefährlich? - 34.Was ist ein sauberer Weg, Details von Prisma oder TypeORM aus der Geschäftslogik herauszuhalten?
- 35.Wie cacht man GET-Antworten in Nest?
- 36.Wie verschiebt man langsame Arbeit wie E-Mail-Versand in Nest in eine Hintergrund-Queue?
- 37.Was bietet
@nestjs/event-emitter? - 38.Wie schickt man in Nest Live-Updates über HTTP an den Browser?
- 39.Was ist ein WebSocket-Gateway in Nest?
- 40.Was ist der Unterschied zwischen Unit- und E2E-Tests in einem Nest-Projekt?
- 41.Warum im E2E-Test dieselben globalen Pipes und Filter wie in
main.tsanwenden? - 42.Wie ersetzt man in einem Test einen Guard, um einen angemeldeten Nutzer zu simulieren?
- 43.Warum ist es nützlich, Repository-Code gegen eine echte Datenbank in Docker zu testen?
- 44.Was ist der Unterschied zwischen
@MessagePatternund@EventPatternin Nest-Microservices? - 45.Welche Transporte unterstützen Nest-Microservices von Haus aus?
- 46.Was ist eine hybride Anwendung in Nest?
- 47.Was ist der Unterschied zwischen Code-First- und Schema-First-GraphQL in Nest?
- 48.Was macht
@ResolveField()in einem GraphQL-Resolver? - 49.Wie validiert man Umgebungsvariablen beim Start mit
@nestjs/config? - 50.Wie ordnet man Konfiguration in typisierte Namensräume?
- 51.Welche Strategien zur API-Versionierung unterstützt Nest?
- 52.Was macht das CLI-Plugin von
@nestjs/swagger? - 53.Warum wechselt man eine Nest-App eventuell von Express zu Fastify?
- 54.Welches Problem kann ein „Shared Module“ verursachen, das alles exportiert?
- 55.Wofür nutzt man ein Nest-Monorepo (Workspace)?
- 56.Was ist eine Standalone-Nest-Anwendung?
- 57.Wie liest man die aktuelle Request-ID in tiefen Services, ohne sie durch jeden Aufruf zu reichen?
- 58.Wie aktiviert man für Nest in Kubernetes ein sauberes Herunterfahren mit Health Checks?
- 59.Was kann in
configure(consumer)gebundene Middleware NICHT sehen? - 60.Wie nimmt man einige Routen von einer Middleware aus?
- 61.Was bietet
@nestjs/cqrs? - 62.Wie komprimiert man Antworten in Nest?
- 63.Woran erkennt man, dass ein Nest-Controller zu viel tut?
- 64.Wie setzt man Sicherheits-Header in einer Nest-App?
- 65.Was bietet
@nestjs/scheduleaußer@Cron? - 66.Wie loggt man in Nest jede Anfrage mit Timing?
- 67.Warum lehnt
ValidationPipeunbekannte Query-Parameter standardmäßig eventuell nicht ab? - 68.Was braucht
@Controller({ path: 'users', version: '2' }), um zu funktionieren? - 69.Wozu dient
nest buildmit webpack oder SWC in Produktion? - 70.Nach dem Upgrade auf NestJS 11 (Express 5) passt eine Route
@Get('files/*')nicht mehr wie früher. Warum? - 71.Warum liefert der Standardspeicher des Throttlers bei mehreren App-Instanzen falsche Grenzen?
- 72.Welche eingebaute Pipe lehnt einen Routenparameter ab, der keine gültige UUID ist?
- 73.Wann sind verzögert geladene Module (
LazyModuleLoader) nützlich? - 74.Interceptors sind global, am Controller und an einer Route gebunden. In welcher Reihenfolge läuft ihre „Danach“-Logik?
- 75.Was macht
@Optional()an einem Konstruktorparameter?