Pytania rekrutacyjne NestJS (Senior) z odpowiedziami

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

Rozwiąż ten test
  1. 1.Skąd Nest wie, co wstrzyknąć do constructor(private users: UsersService)?
  2. 2.Dlaczego bundler lub kompilator bez obsługi metadanych dekoratorów może zepsuć aplikację Nest?
  3. 3.Jak zorganizowany jest kontener DI między modułami?
  4. 4.Provider o zakresie REQUEST jest wstrzyknięty do serwisu-singletonu. Co się stanie?
  5. 5.Do czego służą durable providery?
  6. 6.Jak wstrzyknąć bieżące żądanie do providera i ile to kosztuje?
  7. 7.Jak przy starcie znaleźć wszystkie providery z własnym dekoratorem, np. żeby automatycznie zarejestrować handlery zdarzeń?
  8. 8.Jak ConfigurableModuleBuilder pomaga pisać wielokrotnego użytku moduł dynamiczny?
  9. 9.Dlaczego forwardRef może ukrywać problem projektowy, nawet gdy naprawia błąd?
  10. 10.Dlaczego przy zależnościach cyklicznych wstrzyknięta wartość może być undefined w konstruktorze, a później już zdefiniowana?
  11. 11.Gdzie narzut Nesta zwykle ma znaczenie, a gdzie nie?
  12. 12.Dlaczego serializacja class-transformer może być wąskim gardłem przy dużych odpowiedziach?
  13. 13.Jak skrócić zimny start aplikacji Nest na platformach serverless?
  14. 14.Dlaczego w developmencie z Nestem często używa się SWC?
  15. 15.Na co muszą być przygotowane handlery w mikroserwisach Nest na Kafce?
  16. 16.Dlaczego żądanie-odpowiedź (client.send) między mikroserwisami bywa ryzykowne w dużej skali?
  17. 17.Jak niezawodnie publikować zdarzenia z serwisu Nest, który też zapisuje do bazy?
  18. 18.Na czym opiera się transport gRPC w Nest?
  19. 19.Jak przekazywać trace lub correlation ID między mikroserwisami Nest?
  20. 20.Jak ustrukturyzować dużą bazę kodu Nest, żeby granice pozostały jasne?
  21. 21.Jak wygląda architektura heksagonalna (ports and adapters) w Nest?
  22. 22.Kiedy @nestjs/cqrs się opłaca?
  23. 23.Jak utrzymać spójność transakcji między kilkoma serwisami w jednym żądaniu bez przekazywania obiektu transakcji wszędzie?
  24. 24.Jak zaimplementować w Nest wielodostępność z bazą na tenanta?
  25. 25.Jakie jest ryzyko trzymania logiki autoryzacji tylko w guardach?
  26. 26.Dlaczego warto mieć tę samą walidację i autoryzację dla HTTP, GraphQL i handlerów wiadomości?
  27. 27.Jak aplikacja Nest powinna zamykać się w Kubernetes, żeby nie gubić żądań?
  28. 28.Co powinien sprawdzać readiness check w Nest, a czego unikać liveness?
  29. 29.Jak uodpornić wychodzące wywołania HTTP z Nesta?
  30. 30.Jaki problem może wywołać globalny @Cron w skalowanym wdrożeniu Nest i jak go rozwiązać?
  31. 31.Jak wdrażać workery BullMQ w Nest pod obciążeniem?
  32. 32.Dlaczego błędy w handlerach zdarzeń (@OnEvent) trzeba obsługiwać ostrożnie?
  33. 33.Jak dodać rozproszony tracing do aplikacji Nest?
  34. 34.Jak sprawić, by logi Nesta były strukturalne i powiązane?
  35. 35.Jak przetestować moduł używający providera request-scoped?
  36. 36.Jaka jest dobra strategia testowania warstwy bazy aplikacji Nest w CI?
  37. 37.Jak sprawdzić, czy guardy, pipes i filtry są poprawnie podpięte do trasy?
  38. 38.Jak chronić GraphQL API na Nest przed bardzo kosztownymi zapytaniami?
  39. 39.Dlaczego instancje DataLoadera w aplikacji GraphQL na Nest trzeba tworzyć dla każdego żądania?
  40. 40.Na co pozwala Apollo Federation (obsługiwana przez moduł GraphQL Nesta)?
  41. 41.Jakie ustawienia czynią API w Nest domyślnie bezpieczniejszym?
  42. 42.Jak zapobiegać mass assignment przy aktualizacji encji w Nest?
  43. 43.Dlaczego sekrety nie powinny trafiać do logów wyjątków lub żądań w Nest?
  44. 44.Jak bezpiecznie obsługiwać upload plików w dużej skali w Nest?
  45. 45.Jakie jest rozsądne podejście do aktualizacji dużej aplikacji Nest do nowej wersji głównej?
  46. 46.Dlaczego zespół może wybrać Nest zamiast minimalistycznego frameworka, np. samego Fastify?
  47. 47.Jak współdzielić DTO i walidację między backendem w Nest a frontendem w TypeScripcie?
  48. 48.Jaki jest problem z udostępnionym Swagger UI na produkcji?
  49. 49.Jak jeden interceptor może zaimplementować klucze idempotencji dla endpointów POST?
  50. 50.Jak zaimplementować cache odpowiedzi zależny od użytkownika w Nest?
  51. 51.Jak zaimplementować wersjonowanie API bez duplikowania całych kontrolerów?
  52. 52.Jaka jest pułapka @Res() bez passthrough dla interceptorów i filtrów?
  53. 53.Jak strumieniować pobieranie dużego pliku w Nest bez wczytywania go do pamięci?
  54. 54.Czym różni się onModuleInit od onApplicationBootstrap?
  55. 55.Dlaczego hooki cyklu życia nie działają w zwykły sposób dla providerów request-scoped i transient?
  56. 56.Co domyślnie dzieje się z globalnymi enhancerami w mikroserwisowej części aplikacji hybrydowej?
  57. 57.Jak napisać guarda działającego dla HTTP i GraphQL?
  58. 58.Co się stanie po rzuceniu błędu wewnątrz operatora map w interceptorze?
  59. 59.Dlaczego długiej pracy obciążającej CPU nie należy wykonywać w handlerze żądania Nest?
  60. 60.Jak automatycznie egzekwować granice modułów w monorepo Nest?
  61. 61.Dlaczego dobrze oddzielić start aplikacji Nest (main.ts) od jej konfiguracji (np. funkcji configureApp(app))?
  62. 62.Jak uczynić błędy ValidationPipe bardziej użytecznymi dla klientów API?
  63. 63.Czego NIE daje app.useGlobalInterceptors() w porównaniu z APP_INTERCEPTOR?
  64. 64.Jak globalnie filtrować miękko usunięte rekordy z TypeORM w Nest?
  65. 65.Dlaczego handlery @nestjs/event-emitter mogą wykonać się przed commitem transakcji bazy?
  66. 66.Co dostaje onApplicationShutdown(signal) i dlaczego to przydatne?
  67. 67.Jak ograniczyć wpływ wolnego serwisu niżej w łańcuchu na API w Nest?
  68. 68.Dlaczego testy kontrolerów nie powinny być jedynymi testami reguł autoryzacji?
  69. 69.W czym pomaga useMocker() w builderze modułu testowego?
  70. 70.Jak Nest może konsumować wiadomości z brokera, dla którego nie ma wbudowanego transportu, np. AWS SQS?
  71. 71.Dlaczego serwisy domenowe powinny rzucać błędy domenowe, a nie HttpException?
  72. 72.Jak limitować żądania per uwierzytelniony użytkownik zamiast per IP w @nestjs/throttler?
  73. 73.Jak rozgłaszać wiadomości WebSocket między kilkoma instancjami Nest?
  74. 74.Czym jest Backend for Frontend (BFF) i jak Nest może go zaimplementować?
  75. 75.Dlaczego globalny ClassSerializerInterceptor może nie ukrywać pól, gdy zwracasz wyniki z Prismy?