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