# WebSockets (Node.js / NestJS) > Socket.io, gateways, events, rooms, namespaces, authentication, broadcasting - 20 interview questions - Mid-Level - [Interview Questions: Node.js / NestJS](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions.md) ## 1. What is a WebSocket Gateway in NestJS? **Answer** A WebSocket Gateway is a class decorated with @WebSocketGateway() that handles WebSocket connections and real-time events. It acts as an entry point for bidirectional communication between server and clients. Gateways use Socket.io by default and allow handling incoming and outgoing events via decorators like @SubscribeMessage(). ## 2. Which library does NestJS use by default for WebSockets? **Answer** NestJS uses Socket.io by default for WebSockets. Socket.io provides advanced features like rooms, namespaces, automatic reconnection and long-polling fallback. It's possible to use ws (native WebSocket) by specifying the adapter, but Socket.io remains the recommended choice for most use cases. ## 3. How to listen to a WebSocket event in a NestJS Gateway? **Answer** To listen to an event, use the @SubscribeMessage('eventName') decorator on a Gateway method. The method automatically receives data emitted by the client. The decorator handles event registration and allows returning a response to the client or broadcasting to multiple clients. ## 17 more questions available - Which lifecycle method allows executing code when a client connects to the Gateway? - What is a Room in Socket.io? 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 - [Middleware & Interceptors](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/middleware-interceptors.md): 20 questions, Mid-Level - [File Upload](https://sharpskill.dev/en/technologies/node-nestjs/interview-questions/file-upload.md): 15 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/websockets