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

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

Пройти цей тест
  1. 1.Що таке NestJS?
  2. 2.Яку HTTP-платформу NestJS використовує за замовчуванням?
  3. 3.Як створити новий проєкт NestJS?
  4. 4.Що зазвичай містить main.ts у Nest-застосунку?
  5. 5.Яку мову переважно використовує NestJS?
  6. 6.З яких трьох будівельних блоків складається більшість фіч у Nest?
  7. 7.Що робить команда nest g resource users?
  8. 8.Навіщо Nest використовує декоратори на кшталт @Controller() і @Injectable()?
  9. 9.Що описує декоратор @Module()?
  10. 10.OrdersModule потрібен UsersService з UsersModule. Що має бути зроблено?
  11. 11.Що робить @Global() на модулі?
  12. 12.Чи є провайдери модуля синглтонами за замовчуванням?
  13. 13.Навіщо ділити застосунок на feature-модулі?
  14. 14.Який типовий спосіб завантажити конфігурацію середовища в Nest?
  15. 15.Яка роль контролера?
  16. 16.Який маршрут обслуговує цей обробник?
  17. 17.Як прочитати JSON-тіло POST-запиту в контролері?
  18. 18.Який код статусу за замовчуванням повертає обробник @Post()?
  19. 19.Що станеться, якщо метод контролера поверне звичайний об'єкт?
  20. 20.Що таке DTO в Nest?
  21. 21.Чому DTO має бути класом, а не інтерфейсом TypeScript?
  22. 22.Як прочитати ?page=2 у контролері?
  23. 23.Що таке провайдер у Nest?
  24. 24.Як контролер отримує екземпляр сервісу?
  25. 25.Яка головна перевага впровадження залежностей?
  26. 26.Що позначає @Injectable()?
  27. 27.Що зазвичай означає помилка «Nest can't resolve dependencies of the UsersController (?)»?
  28. 28.Як зареєструвати звичайне значення як провайдер, наприклад об'єкт конфігурації?
  29. 29.Що робить pipe у Nest?
  30. 30.Що зробить @Param('id', ParseIntPipe) id: number із /users/abc?
  31. 31.Як зазвичай налаштовують валідацію тіла запиту?
  32. 32.Що робить опція whitelist: true у ValidationPipe?
  33. 33.Що дає transform: true у ValidationPipe?
  34. 34.Як повернути 404 із сервісу чи контролера?
  35. 35.Що поверне Nest, якщо обробник кине звичайний Error?
  36. 36.Які вбудовані винятки відповідають кодам 400, 401 і 403?
  37. 37.Що таке фільтр винятків (exception filter)?
  38. 38.Що таке middleware у Nest?
  39. 39.Яке завдання guard?
  40. 40.Як захистити маршрут guard-ом?
  41. 41.Що може робити interceptor?
  42. 42.Де в Nest-застосунку налаштовують CORS?
  43. 43.Де має жити бізнес-логіка в Nest-застосунку?
  44. 44.Які ORM та інструменти для баз даних часто використовують з Nest?
  45. 45.Як зазвичай підключають TypeORM до Nest-застосунку?
  46. 46.Як використовувати Prisma в Nest?
  47. 47.Чому в сервісах Nest поширені async-методи?
  48. 48.Як створити тестовий модуль у Nest?
  49. 49.Як підмінити справжній сервіс моком у тесті Nest?
  50. 50.Що зазвичай робить e2e-тест у Nest-проєкті?
  51. 51.Який тест-раннер використовує проєкт Nest за замовчуванням?
  52. 52.Як часто реалізують JWT-автентифікацію в Nest?
  53. 53.Як позначити деякі маршрути публічними, коли guard автентифікації глобальний?
  54. 54.Як додати обмеження частоти запитів до Nest API?
  55. 55.Чому хеші паролів ніколи не можна повертати у відповідях API?
  56. 56.Як згенерувати документацію OpenAPI (Swagger) у Nest?
  57. 57.Що робить app.setGlobalPrefix('api')?
  58. 58.Який вбудований логер надає Nest?
  59. 59.Як запускати метод за розкладом, наприклад щоночі?
  60. 60.Для чого @nestjs/terminus?
  61. 61.Як обробляти завантаження файлів у Nest на Express?
  62. 62.Що робить ClassSerializerInterceptor разом із class-transformer?
  63. 63.Який хук життєвого циклу виконується, коли залежності модуля розв'язані?
  64. 64.Що треба викликати, щоб хуки зупинки спрацьовували на SIGTERM?
  65. 65.Як зазвичай організований Nest-проєкт?
  66. 66.Що змінює @Res() в обробнику?
  67. 67.Чи може Nest обслуговувати GraphQL замість REST?
  68. 68.Що робить nest start --watch?
  69. 69.Як надіслати власний заголовок з обробника без @Res()?
  70. 70.Яке налаштування TypeScript потрібне Nest-проєктам для DI за типом?
  71. 71.Що дає PartialType(CreateUserDto)?
  72. 72.Що зробить @Query('limit', new DefaultValuePipe(20), ParseIntPipe) limit: number, якщо limit немає?
  73. 73.Як у стилі Nest викликати зовнішній HTTP API із сервісу?
  74. 74.Навіщо TypeOrmModule.forRootAsync({ useFactory, inject: [ConfigService] }) замість forRoot({...})?
  75. 75.Чому в обробниках краще використовувати @Body(), @Param() і @Query(), а не @Req()?