NestJS
Modules and providers, DI, guards and interceptors, database access and testing.
Why the framework exists, how modules organise the code of a large application, and which hooks fire while it starts up and shuts down.
How the IoC container creates services and manages their scope, how settings are read from environment variables, and how modules are assembled dynamically.
Handling HTTP requests: routes and their parameters, describing input with DTOs, custom decorators and documenting endpoints with Swagger.
The order in which middleware, guards, interceptors, pipes and exception filters run around a route handler, and what each stage is responsible for.
Passport strategies, issuing and verifying JWTs, and restricting access by role on protected routes.
Wiring up TypeORM, working with entities and repositories, and caching that takes load off the database.
Transports beyond REST: GraphQL schemas and resolvers, and two-way messaging through WebSocket gateways.
Distributed architecture: microservice transports, background job queues and separating commands from queries.
Unit and end-to-end tests with the Nest testing module: replacing providers with mocks and exercising the fully booted application.