Питання на співбесіді з NestJS (Middle) з відповідями

75 запитань для співбесіди з теми NestJS (Middle) - з правильними відповідями, поясненнями й посиланнями на документацію.

Пройти цей тест
  1. 1.У якому порядку виконуються шари обробки запиту в Nest?
  2. 2.Чому автентифікацію варто робити guard-ом, а не middleware?
  3. 3.Для чого ExecutionContext?
  4. 4.Як guard ролей читає ролі, оголошені на маршруті?
  5. 5.Як зареєструвати глобальний guard, який може впроваджувати інші провайдери?
  6. 6.Що повертає intercept(context, next) у interceptor?
  7. 7.Як interceptor може обгорнути кожну відповідь у { data: ... }?
  8. 8.Як interceptor може додати таймаут для повільних обробників?
  9. 9.Як написати власний декоратор параметра на кшталт @User()?
  10. 10.Як поєднати кілька декораторів в один, наприклад guards і анотації Swagger?
  11. 11.Коли варто використовувати useFactory для провайдера?
  12. 12.Для чого useExisting?
  13. 13.Навіщо впроваджувати залежність-«інтерфейс» за токеном, а не за класом?
  14. 14.Що таке динамічний модуль?
  15. 15.Яка звична домовленість щодо forRoot, register і forFeature?
  16. 16.Які три області впровадження (injection scopes) є в Nest?
  17. 17.Який побічний ефект має провайдер з областю REQUEST?
  18. 18.Як розв'язати циклічну залежність між двома провайдерами?
  19. 19.Що дозволяє ModuleRef?
  20. 20.Який хук життєвого циклу підходить, щоб відкрити з'єднання, на яке покладаються інші модулі під час запуску?
  21. 21.Як перевіряти вкладені об'єкти в DTO?
  22. 22.Чим ризиковано використовувати сутності бази напряму як DTO запиту?
  23. 23.Як власне правило валідації може перевірити щось асинхронне, наприклад «email не зайнятий»?
  24. 24.Навіщо писати власний pipe замість ValidationPipe?
  25. 25.Що дозволяє @Expose({ groups: ['admin'] }) з ClassSerializerInterceptor?
  26. 26.Як написати глобальний фільтр, що форматує всі помилки як RFC 9457 problem details?
  27. 27.Де варто перетворювати помилки бази, як-от порушення унікальності, на HTTP-помилки?
  28. 28.Чому фільтри винятків можуть поводитися по-різному в мікросервісах і HTTP?
  29. 29.Як Passport вписується в автентифікацію Nest?
  30. 30.Як реалізувати правила доступу, тонші за ролі, наприклад «користувач редагує лише власні пости»?
  31. 31.Навіщо перевіряти власника об'єкта на додачу до автентифікації?
  32. 32.Як виконати кілька операцій TypeORM в одній транзакції в Nest?
  33. 33.Чим небезпечний synchronize: true у TypeORM у продакшені?
  34. 34.Як охайно тримати деталі Prisma чи TypeORM поза бізнес-логікою?
  35. 35.Як кешувати відповіді GET у Nest?
  36. 36.Як винести повільну роботу, наприклад надсилання листів, у фонову чергу в Nest?
  37. 37.Що надає @nestjs/event-emitter?
  38. 38.Як надсилати браузеру оновлення наживо через HTTP у Nest?
  39. 39.Що таке WebSocket-шлюз (gateway) у Nest?
  40. 40.Чим юніт-тести відрізняються від e2e-тестів у Nest-проєкті?
  41. 41.Навіщо в e2e-тесті застосовувати ті самі глобальні pipes і фільтри, що в main.ts?
  42. 42.Як підмінити guard у тесті, щоб імітувати автентифікованого користувача?
  43. 43.Чому корисно тестувати код репозиторіїв на справжній базі в Docker?
  44. 44.Чим @MessagePattern відрізняється від @EventPattern у мікросервісах Nest?
  45. 45.Які транспорти мікросервісів Nest підтримує з коробки?
  46. 46.Що таке гібридний застосунок у Nest?
  47. 47.Чим відрізняються code-first і schema-first GraphQL у Nest?
  48. 48.Що робить @ResolveField() у GraphQL-резолвері?
  49. 49.Як перевіряти змінні середовища під час запуску через @nestjs/config?
  50. 50.Як організувати конфігурацію в типізовані простори імен?
  51. 51.Які стратегії версіонування API підтримує Nest?
  52. 52.Що робить CLI-плагін @nestjs/swagger?
  53. 53.Навіщо переводити Nest-застосунок з Express на Fastify?
  54. 54.Яку проблему може спричинити «спільний модуль», що експортує все?
  55. 55.Для чого монорепозиторій (workspace) Nest?
  56. 56.Що таке standalone-застосунок Nest?
  57. 57.Як прочитати поточний ID запиту в глибоких сервісах, не передаючи його через кожен виклик?
  58. 58.Як увімкнути коректну зупинку з перевірками стану в Kubernetes для Nest?
  59. 59.Чого НЕ бачить middleware, прив'язаний у configure(consumer)?
  60. 60.Як виключити деякі маршрути з middleware?
  61. 61.Що надає @nestjs/cqrs?
  62. 62.Як стискати відповіді в Nest?
  63. 63.Що свідчить, що Nest-контролер робить забагато?
  64. 64.Як задати заголовки безпеки в Nest-застосунку?
  65. 65.Що пропонує @nestjs/schedule окрім @Cron?
  66. 66.Як логувати кожен запит із часом виконання в Nest?
  67. 67.Чому ValidationPipe за замовчуванням може не відхиляти невідомі параметри запиту?
  68. 68.Що потрібно, щоб працював @Controller({ path: 'users', version: '2' })?
  69. 69.Яке призначення nest build з webpack чи SWC для продакшену?
  70. 70.Після оновлення до NestJS 11 (Express 5) маршрут @Get('files/*') перестає збігатися як раніше. Чому?
  71. 71.Чому сховище throttler за замовчуванням дає неправильні ліміти, коли інстансів кілька?
  72. 72.Який вбудований pipe відхиляє параметр маршруту, що не є коректним UUID?
  73. 73.Коли корисні модулі з лінивим завантаженням (LazyModuleLoader)?
  74. 74.Interceptors прив'язані глобально, на контролері й на маршруті. У якому порядку виконується їхня логіка «після»?
  75. 75.Що робить @Optional() на параметрі конструктора?