Node.js / NestJS

Node.js / NestJS

BACKEND

Desenvolvimento backend com runtime Node.js e NestJS como framework TypeScript-first. Arquitetura modular com decorators, injeção de dependências e suporte completo a TypeScript para construir APIs REST, GraphQL e microsserviços empresariais altamente manuteníveis.

O que voce vai aprender

Framework NestJS com arquitetura modular e decorators (@Controller, @Injectable)

TypeScript rigoroso com tipos avançados e inferência automática

Dependency Injection nativa com container IoC e scopes

Controllers, Providers, Modules para organização clara do código

Guards para autenticação, Pipes para validação, Interceptors para transformação

TypeORM ou Prisma para ORM com migrações e relacionamentos complexos

Passport.js integrado para estratégias de auth (JWT, OAuth2, local)

GraphQL com abordagem code-first ou schema-first

Microsserviços com camadas de transporte (TCP, Redis, gRPC, MQTT)

Testes completos (Jest, E2E, unit tests, mocking, coverage)

Topicos-chave para dominar

Os conceitos mais importantes para entender esta tecnologia e mandar bem nas entrevistas

1

Node.js: Event Loop, non-blocking I/O, async/await, streams, buffers

2

Arquitetura NestJS: modules, controllers, providers, decorators

3

Dependency Injection: providers, scopes (DEFAULT, REQUEST, TRANSIENT), custom providers

4

Controllers e roteamento: @Get, @Post, @Param, @Body, @Query, route params

5

Providers e services: lógica de negócio, repository pattern, service layer

6

Middleware, Guards, Interceptors, Pipes, ExceptionFilters (ciclo de vida da request)

7

Validação com class-validator e class-transformer (validação de DTO)

8

TypeORM: entities, relations (@OneToMany, @ManyToOne), repositories, QueryBuilder

9

Prisma: schema, migrations, client, relations, transactions

10

Autenticação: Passport.js, JWT strategy, guards, controle de acesso baseado em roles

11

Configuração: ConfigModule, variáveis de ambiente, validação

12

Tratamento de exceções: HttpException, exceções customizadas, filters

13

Testes: unit tests com Jest, testes E2E, mocking, test doubles

14

GraphQL: resolvers, schemas, mutations, subscriptions, DataLoader

15

Microsserviços: padrões (request-response, event-based), transporters

16

Performance: caching (Redis), compressão, rate limiting, profiling

17

Logging (Winston, Pino), monitoramento, Docker, deployment