Skip to content
tezvyn:

Node.js & Express

Node.js, Express, Fastify, NestJS, Bun, Deno

134 bites

Test yourself: Top 30 Node.js & Express interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Interview questions in Node.js & Express, page 6

advanced1 min read

How do you handle errors across piped streams safely?

Pipe connects streams but errors don't auto-propagate, must listen on each stream. Use pipeline() helper for auto-cleanup.

easy1 min read

HTTP request-response versus WebSocket connections?

HTTP is request-initiated, pull-based, client waits for response. WebSocket is persistent, bidirectional, either side sends data anytime.

easy1 min read

Socket.IO emit methods: socket, io, broadcast differences?

Socket.emit() sends to one client, broadcast.emit() to all except sender, io.emit() to all.

easy1 min read

How to add Socket.IO to an Express application?

Create HTTP server with express(), attach Socket.IO to it, listen on server not app, define event handlers.

intermediate1 min read

How do Socket.IO rooms organize client communication?

Rooms group sockets for targeted broadcasting, socket can join multiple rooms, emit to room broadcasts to all members.

intermediate1 min read

How does Socket.IO handle WebSocket failures with fallbacks?

Transports are communication protocols, WebSocket is primary, long-polling is fallback, client auto-detects and downgrades.

intermediate1 min read

How to authenticate WebSocket connections using JWTs?

Client sends JWT on connection, server validates via middleware, socket is attached to user.

intermediate1 min read

How to sync state across multiple user devices?

Attach userId to each socket, track active sockets per user, broadcast user state to all their sockets.

advanced1 min read

Cross-server Socket.IO communication in horizontal scaling?

Local io.emit() only reaches local sockets, need adapter (Redis) for inter-server broadcast.

advanced2 min read

WebSocket optimization for high-frequency data?

Large payloads increase latency, frequent tiny messages waste overhead, solutions include compression, selective fields, and batching.

easy1 min read

Environment configuration and secrets management in Node.js?

Use environment variables, load from .env file (dev only), never commit secrets.

easy1 min read

What does PM2 do for Node.js applications?

PM2 restarts crashed processes and manages multiple workers.

easy1 min read

How does NODE_ENV=production change Express behavior?

NODE_ENV is a convention signal, production disables verbose logging and enables caching.

intermediate1 min read

What are key Dockerfile steps for Node.js Express apps?

Use lightweight base image, copy app, install deps, expose port, set NODE_ENV, run.

intermediate1 min read

dependencies vs devDependencies in production?

Dependencies are needed at runtime, devDependencies only for development. npm install includes both, npm ci --only=production excludes dev.

intermediate2 min read

PM2 cluster mode and multi-core utilization?

Cluster mode forks multiple worker processes using Node.js cluster module, distributes load, uses all CPU cores.

advanced1 min read

Graceful shutdown implementation and zero-downtime deployments?

Listen for SIGTERM, stop accepting new connections, drain in-flight requests, close resources, exit.

advanced1 min read

Multi-stage Docker builds for lean production images?

Build stage compiles/installs, runtime stage copies artifacts only, discards build tools.

advanced1 min read

Managing secrets for containerized Node.js on Kubernetes

Use Kubernetes Secrets or an external vault, mount as files not env, encrypt at rest, rotate.

intermediate1 min read

Role of libuv in the Node.js runtime

Libuv provides the event loop, a thread pool for blocking work, and OS async I/O abstractions.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles