# Validasi & DTO (Node.js / NestJS) > class-validator, class-transformer, DTO, ValidationPipe, validator kustom, sanitization - 20 pertanyaan wawancara - Junior - [Pertanyaan Wawancara: Node.js / NestJS](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara.md) ## 1. Apa itu DTO (Data Transfer Object) di NestJS? **Jawaban** DTO adalah kelas TypeScript yang mendefinisikan struktur data yang ditransfer antara klien dan server. DTO berfungsi sebagai kontrak data dan memungkinkan validasi input secara otomatis menggunakan dekorator seperti @IsString atau @IsNumber. DTO meningkatkan keamanan dengan memfilter properti yang tidak diizinkan dan mempermudah pemeliharaan kode. ## 2. Paket mana yang memungkinkan penambahan batasan validasi pada DTO? **Jawaban** Paket class-validator menyediakan dekorator validasi seperti @IsString, @IsEmail, @Min, @Max yang memungkinkan pendefinisian aturan validasi pada properti DTO. Paket ini bekerja bersama ValidationPipe untuk memvalidasi data masuk secara otomatis. Paket ini banyak digunakan dalam ekosistem NestJS untuk menjamin integritas data. ## 3. Dekorator mana yang memvalidasi bahwa sebuah properti adalah string? **Jawaban** Dekorator @IsString memverifikasi bahwa sebuah properti bertipe string. Dekorator ini diterapkan langsung pada properti DTO dan secara otomatis menolak nilai apa pun yang bukan string. Dekorator ini adalah salah satu yang paling sering digunakan karena mencakup kasus validasi yang sangat umum dalam REST API. ## 17 pertanyaan lagi tersedia - Di mana ValidationPipe harus dikonfigurasi untuk memvalidasi semua rute aplikasi? - Dekorator mana yang memvalidasi bahwa sebuah field tidak kosong? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Node.js / NestJS lainnya - [Dasar-Dasar Node.js](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/nodejs-fundamentals.md): 20 pertanyaan, Junior - [API Inti Node.js](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/nodejs-core-apis.md): 25 pertanyaan, Junior - [Pemrograman Asinkron](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/asynchronous-programming.md): 25 pertanyaan, Junior - [Dasar-Dasar Express.js](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/express-basics.md): 20 pertanyaan, Junior - [Dasar-Dasar NestJS](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/nestjs-fundamentals.md): 23 pertanyaan, Junior - [Desain API REST](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/rest-api-design.md): 20 pertanyaan, Junior - [Dokumentasi API & Kontrak](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/api-documentation.md): 20 pertanyaan, Junior - [Penanganan Error](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/error-handling.md): 20 pertanyaan, Junior - [Pengujian Unit](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/testing-unit.md): 20 pertanyaan, Junior - [Penjadwalan Tugas](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/scheduling-cron.md): 15 pertanyaan, Junior - [Modul dan DI NestJS](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/nestjs-modules-di.md): 20 pertanyaan, Mid-Level - [Konfigurasi & Manajemen Lingkungan](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/configuration-environment.md): 20 pertanyaan, Mid-Level - [Autentikasi JWT](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/authentication-jwt.md): 25 pertanyaan, Mid-Level - [Otorisasi & RBAC](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/authorization-rbac.md): 20 pertanyaan, Mid-Level - [Database dengan TypeORM](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/database-typeorm.md): 30 pertanyaan, Mid-Level - [Prisma ORM](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/prisma-orm.md): 25 pertanyaan, Mid-Level - [Middleware dan Interceptor](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/middleware-interceptors.md): 20 pertanyaan, Mid-Level - [Unggah file](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/file-upload.md): 15 pertanyaan, Mid-Level - [WebSockets](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/websockets.md): 20 pertanyaan, Mid-Level - [GraphQL dengan NestJS](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/graphql-basics.md): 25 pertanyaan, Mid-Level - [Pengujian End-to-End](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/testing-e2e.md): 20 pertanyaan, Mid-Level - [Caching dengan Redis](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/caching-redis.md): 20 pertanyaan, Mid-Level - [Antrian dengan Bull](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/queues-bull.md): 20 pertanyaan, Mid-Level - [DevOps, Logging & CI/CD](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/logging-monitoring.md): 25 pertanyaan, Mid-Level - [Docker & Kontainerisasi](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/docker-containerization.md): 25 pertanyaan, Mid-Level - [Microservices](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/microservices.md): 30 pertanyaan, Senior - [Praktik Terbaik Keamanan](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/security-best-practices.md): 25 pertanyaan, Senior - [Performa dan Deployment Cloud](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/performance-optimization.md): 30 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/validation-dto