# Middleware dan Interceptor (Node.js / NestJS) > Middleware, interceptor, operator RxJS, transformasi request/response, caching - 20 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: Node.js / NestJS](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara.md) ## 1. Apa itu middleware di NestJS? **Jawaban** Middleware adalah fungsi yang dieksekusi sebelum route handler. Middleware memiliki akses ke objek request dan response, dan dapat memodifikasi request, response, mengakhiri siklus request-response, atau meneruskan ke middleware berikutnya dengan next(). Middleware ideal untuk logging, autentikasi dasar, atau modifikasi header. Middleware dieksekusi sesuai urutan deklarasinya. ## 2. Apa itu interceptor di NestJS? **Jawaban** Interceptor adalah class dengan decorator @Injectable() yang mengimplementasikan NestInterceptor. Interceptor memungkinkan untuk mencegat request sebelum dan sesudah eksekusi route handler. Dengan RxJS, ia dapat mentransformasi hasil, menangani error, menambahkan caching, mengukur performa, atau melakukan logging response. Interceptor memberikan kontrol lebih besar daripada middleware atas seluruh siklus hidup. ## 3. Apa perbedaan utama antara middleware dan interceptor? **Jawaban** Middleware dieksekusi sebelum handler dan tidak memiliki akses ke response akhir. Interceptor menggunakan RxJS dan dapat bertindak sebelum DAN sesudah eksekusi, memungkinkan transformasi response. Middleware lebih sederhana untuk tugas dasar seperti logging request, sementara interceptor lebih powerful untuk transformasi data, penanganan error, atau implementasi caching. ## 17 pertanyaan lagi tersedia - Dalam urutan apa komponen dieksekusi di NestJS? - Bagaimana cara menerapkan middleware secara global di NestJS? 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 - [Validasi & DTO](https://sharpskill.dev/id/technologies/node-nestjs/pertanyaan-wawancara/validation-dto.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 - [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/middleware-interceptors