# Middleware & Interceptors (Node.js / NestJS) > Middleware, interceptors, RxJS operators, request/response transformation, caching - 20 interview questions - Mid-Level - [Interview Questions: Node.js / NestJS](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions.md) ## 1. What is a middleware in NestJS? **Answer** A middleware is a function that executes before the route handler. It has access to request and response objects, and can modify the request, the response, end the request-response cycle, or pass to the next middleware with next(). Middlewares are ideal for logging, basic authentication, or header modifications. They execute in the order they are declared. ## 2. What is an interceptor in NestJS? **Answer** An interceptor is a class with @Injectable() decorator that implements NestInterceptor. It allows intercepting requests before and after route handler execution. Using RxJS, it can transform results, handle errors, add caching, measure performance, or log responses. Interceptors provide more control than middlewares over the complete lifecycle. ## 3. What is the main difference between a middleware and an interceptor? **Answer** Middlewares execute before the handler and don't have access to the final response. Interceptors use RxJS and can act before AND after execution, allowing response transformation. Middlewares are simpler for basic tasks like request logging, while interceptors are more powerful for data transformation, error handling, or caching implementation. ## 17 more questions available - In what order do components execute in NestJS? - How to apply a middleware globally in NestJS? Sign up for free: https://sharpskill.dev/en/login ## Other Node.js / NestJS interview topics - [Node.js Fundamentals](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/nodejs-fundamentals.md): 20 questions, Junior - [Node.js Core APIs](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/nodejs-core-apis.md): 25 questions, Junior - [Asynchronous Programming](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/asynchronous-programming.md): 25 questions, Junior - [Express.js Basics](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/express-basics.md): 20 questions, Junior - [NestJS Fundamentals](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/nestjs-fundamentals.md): 23 questions, Junior - [REST API Design](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/rest-api-design.md): 20 questions, Junior - [Validation & DTO](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/validation-dto.md): 20 questions, Junior - [API Documentation & Contracts](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/api-documentation.md): 20 questions, Junior - [Error Handling](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/error-handling.md): 20 questions, Junior - [Unit Testing](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/testing-unit.md): 20 questions, Junior - [Task Scheduling](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/scheduling-cron.md): 15 questions, Junior - [NestJS Modules & DI](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/nestjs-modules-di.md): 20 questions, Mid-Level - [Configuration & Environment Management](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/configuration-environment.md): 20 questions, Mid-Level - [JWT Authentication](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/authentication-jwt.md): 25 questions, Mid-Level - [Authorization & RBAC](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/authorization-rbac.md): 20 questions, Mid-Level - [Database with TypeORM](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/database-typeorm.md): 30 questions, Mid-Level - [Prisma ORM](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/prisma-orm.md): 25 questions, Mid-Level - [File Upload](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/file-upload.md): 15 questions, Mid-Level - [WebSockets](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/websockets.md): 20 questions, Mid-Level - [GraphQL with NestJS](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/graphql-basics.md): 25 questions, Mid-Level - [End-to-End Testing](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/testing-e2e.md): 20 questions, Mid-Level - [Caching with Redis](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/caching-redis.md): 20 questions, Mid-Level - [Queues with Bull](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/queues-bull.md): 20 questions, Mid-Level - [DevOps, Logging & CI/CD](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/logging-monitoring.md): 25 questions, Mid-Level - [Docker & Containerization](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/docker-containerization.md): 25 questions, Mid-Level - [Microservices](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/microservices.md): 30 questions, Senior - [Security Best Practices](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/security-best-practices.md): 25 questions, Senior - [Performance & Cloud Deployment](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/performance-optimization.md): 30 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/middleware-interceptors