Node.js / NestJS

Валідація та DTO

class-validator, class-transformer, DTO, ValidationPipe, кастомні валідатори, санітизація

20 питань зі співбесід·
Junior
1

Що таке DTO (Data Transfer Object) у NestJS?

Відповідь

DTO — це клас TypeScript, який визначає структуру даних, що передаються між клієнтом і сервером. Він діє як контракт даних і дозволяє автоматично валідувати вхідні дані за допомогою декораторів, таких як @IsString або @IsNumber. DTO підвищують безпеку, відфільтровуючи несанкціоновані властивості, і спрощують підтримку коду.

2

Який пакет дозволяє додавати обмеження валідації до DTO?

Відповідь

Пакет class-validator надає декоратори валідації, такі як @IsString, @IsEmail, @Min, @Max, що дозволяють визначати правила валідації для властивостей DTO. Він працює в парі з ValidationPipe для автоматичної валідації вхідних даних. Цей пакет широко використовується в екосистемі NestJS для забезпечення цілісності даних.

3

Який декоратор перевіряє, що властивість є рядком?

Відповідь

Декоратор @IsString перевіряє, що властивість має тип string. Він застосовується безпосередньо до властивості DTO і автоматично відхиляє будь-яке значення, яке не є рядком. Цей декоратор є одним із найуживаніших, оскільки охоплює дуже поширений випадок валідації в REST API.

4

Де слід налаштувати ValidationPipe, щоб валідувати всі маршрути застосунку?

5

Який декоратор перевіряє, що поле не порожнє?

+17 питань зі співбесід

Інші теми співбесід Node.js / NestJS

Основи Node.js

Junior
20 запитань

Основні API Node.js

Junior
25 запитань

Асинхронне програмування

Junior
25 запитань

Основи Express.js

Junior
20 запитань

Основи NestJS

Junior
23 запитань

Проєктування REST API

Junior
20 запитань

Документація API та контракти

Junior
20 запитань

Обробка помилок

Junior
20 запитань

Юніт-тестування

Junior
20 запитань

Планування завдань

Junior
15 запитань

Модулі та DI у NestJS

Mid-Level
20 запитань

Конфігурація та керування середовищами

Mid-Level
20 запитань

Автентифікація JWT

Mid-Level
25 запитань

Авторизація та RBAC

Mid-Level
20 запитань

База даних з TypeORM

Mid-Level
30 запитань

Prisma ORM

Mid-Level
25 запитань

Middleware та Interceptors

Mid-Level
20 запитань

Завантаження файлів

Mid-Level
15 запитань

WebSockets

Mid-Level
20 запитань

GraphQL з NestJS

Mid-Level
25 запитань

Наскрізне тестування (End-to-End)

Mid-Level
20 запитань

Кешування з Redis

Mid-Level
20 запитань

Черги з Bull

Mid-Level
20 запитань

DevOps, Logging та CI/CD

Mid-Level
25 запитань

Docker та контейнеризація

Mid-Level
25 запитань

Мікросервіси

Senior
30 запитань

Найкращі практики безпеки

Senior
25 запитань

Продуктивність і хмарне розгортання

Senior
30 запитань

Опануй Node.js / NestJS для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно