Pytania rekrutacyjne NestJS (Middle) z odpowiedziami

75 pytań na rozmowę rekrutacyjną z tematu NestJS (Middle) - z poprawnymi odpowiedziami, wyjaśnieniami i linkami do dokumentacji.

Rozwiąż ten test
  1. 1.W jakiej kolejności działają warstwy przetwarzania żądania w Nest?
  2. 2.Dlaczego uwierzytelnianie powinno być guardem, a nie middleware?
  3. 3.Do czego służy ExecutionContext?
  4. 4.Jak guard ról odczytuje role zadeklarowane na trasie?
  5. 5.Jak zarejestrować globalny guard, który może wstrzykiwać inne providery?
  6. 6.Co zwraca intercept(context, next) w interceptorze?
  7. 7.Jak interceptor może opakować każdą odpowiedź w { data: ... }?
  8. 8.Jak interceptor może dodać timeout dla wolnych handlerów?
  9. 9.Jak napisać własny dekorator parametru, np. @User()?
  10. 10.Jak połączyć kilka dekoratorów w jeden, np. guardy i adnotacje Swaggera?
  11. 11.Kiedy użyć useFactory dla providera?
  12. 12.Do czego służy useExisting?
  13. 13.Dlaczego wstrzykiwać zależność „interfejsową” po tokenie, a nie po klasie?
  14. 14.Czym jest moduł dynamiczny?
  15. 15.Jaka jest zwyczajowa konwencja dla forRoot, register i forFeature?
  16. 16.Jakie są trzy zakresy wstrzykiwania (injection scopes) w Nest?
  17. 17.Jaki jest efekt uboczny providera o zakresie REQUEST?
  18. 18.Jak rozwiązać cykliczną zależność między dwoma providerami?
  19. 19.Na co pozwala ModuleRef?
  20. 20.Który hook cyklu życia nadaje się do otwarcia połączenia, na którym inne moduły polegają przy starcie?
  21. 21.Jak walidować zagnieżdżone obiekty w DTO?
  22. 22.Jakie jest ryzyko używania encji bazy bezpośrednio jako DTO żądań?
  23. 23.Jak własna reguła walidacji może sprawdzić coś asynchronicznego, np. „e-mail nie jest zajęty”?
  24. 24.Po co pisać własny pipe zamiast ValidationPipe?
  25. 25.Na co pozwala @Expose({ groups: ['admin'] }) z ClassSerializerInterceptor?
  26. 26.Jak napisać globalny filtr, który formatuje wszystkie błędy jako problem details RFC 9457?
  27. 27.Gdzie tłumaczyć błędy bazy, np. naruszenia unikalności, na błędy HTTP?
  28. 28.Dlaczego filtry wyjątków mogą działać inaczej w mikroserwisach i HTTP?
  29. 29.Jak Passport wpisuje się w uwierzytelnianie w Nest?
  30. 30.Jak zaimplementować reguły dostępu drobniejsze niż role, np. „użytkownik edytuje tylko własne posty”?
  31. 31.Po co sprawdzać własność obiektu oprócz uwierzytelniania?
  32. 32.Jak wykonać kilka operacji TypeORM w jednej transakcji w Nest?
  33. 33.Dlaczego synchronize: true w TypeORM jest niebezpieczne na produkcji?
  34. 34.Jak schludnie trzymać szczegóły Prismy czy TypeORM poza logiką biznesową?
  35. 35.Jak cache'ować odpowiedzi GET w Nest?
  36. 36.Jak przenieść wolną pracę, np. wysyłanie e-maili, do kolejki w tle w Nest?
  37. 37.Co daje @nestjs/event-emitter?
  38. 38.Jak wysyłać przeglądarce aktualizacje na żywo przez HTTP w Nest?
  39. 39.Czym jest bramka WebSocket (gateway) w Nest?
  40. 40.Czym różnią się testy jednostkowe od e2e w projekcie Nest?
  41. 41.Dlaczego w teście e2e stosować te same globalne pipes i filtry co w main.ts?
  42. 42.Jak podmienić guarda w teście, żeby zasymulować uwierzytelnionego użytkownika?
  43. 43.Dlaczego kod repozytoriów warto testować na prawdziwej bazie w Dockerze?
  44. 44.Czym różni się @MessagePattern od @EventPattern w mikroserwisach Nest?
  45. 45.Jakie transporty mikroserwisów Nest obsługuje od razu?
  46. 46.Czym jest aplikacja hybrydowa w Nest?
  47. 47.Czym różni się GraphQL code-first od schema-first w Nest?
  48. 48.Co robi @ResolveField() w resolverze GraphQL?
  49. 49.Jak walidować zmienne środowiskowe przy starcie z @nestjs/config?
  50. 50.Jak uporządkować konfigurację w typowane przestrzenie nazw?
  51. 51.Jakie strategie wersjonowania API obsługuje Nest?
  52. 52.Co robi plugin CLI @nestjs/swagger?
  53. 53.Dlaczego przenieść aplikację Nest z Expressa na Fastify?
  54. 54.Jaki problem może spowodować „moduł wspólny”, który eksportuje wszystko?
  55. 55.Do czego służy monorepo (workspace) Nest?
  56. 56.Czym jest aplikacja standalone w Nest?
  57. 57.Jak odczytać bieżące ID żądania w głębokich serwisach bez przekazywania go przez każde wywołanie?
  58. 58.Jak włączyć łagodne zamykanie z health checkami w Kubernetes dla Nesta?
  59. 59.Czego NIE widzi middleware podpięty w configure(consumer)?
  60. 60.Jak wykluczyć niektóre trasy z middleware?
  61. 61.Co daje @nestjs/cqrs?
  62. 62.Jak kompresować odpowiedzi w Nest?
  63. 63.Co świadczy o tym, że kontroler Nest robi za dużo?
  64. 64.Jak ustawić nagłówki bezpieczeństwa w aplikacji Nest?
  65. 65.Co oferuje @nestjs/schedule oprócz @Cron?
  66. 66.Jak logować każde żądanie z czasem trwania w Nest?
  67. 67.Dlaczego ValidationPipe domyślnie może nie odrzucać nieznanych parametrów zapytania?
  68. 68.Czego wymaga @Controller({ path: 'users', version: '2' }), żeby działało?
  69. 69.Jaki jest cel nest build z webpackiem lub SWC na produkcji?
  70. 70.Po aktualizacji do NestJS 11 (Express 5) trasa @Get('files/*') przestaje dopasowywać się jak wcześniej. Dlaczego?
  71. 71.Dlaczego przy kilku instancjach domyślny magazyn throttlera daje złe limity?
  72. 72.Który wbudowany pipe odrzuca parametr trasy niebędący poprawnym UUID?
  73. 73.Kiedy przydają się moduły ładowane leniwie (LazyModuleLoader)?
  74. 74.Interceptory są podpięte globalnie, na kontrolerze i na trasie. W jakiej kolejności działa ich logika „po”?
  75. 75.Co robi @Optional() na parametrze konstruktora?