backend
Express
Express em entrevista cobra o modelo de middleware: a cadeia `(req, res, next)`, a ordem importa, como um error handler tem 4 argumentos, e a pegadinha clássica de erro em código assíncrono que não chega no handler sem `next(err)` (ou um wrapper). Também: o que você precisa adicionar por conta própria (validação, auth, segurança de headers).
Tópicos por senioridade
Desafios práticos
Cenários reais pra resolver em voz alta, como numa entrevista de verdade — não é múltipla escolha.
- Erro em handler async que não chega no error handler
No Express 4, por que um erro lançado dentro de um handler `async` não cai no error middleware, e como resolver?
Perguntas mais cobradas
ver todas →- Fácil
A cadeia de middleware do Express
Funções `(req,res,next)` executadas na ordem de registro; cada uma encerra a resposta ou chama `next()`. Ordem = pipeline: body parser e auth antes das rotas, erro/404 por último.
- Médio
Erro em handler async que não chega no error handler
Express 4 só pega erro síncrono ou `next(err)`; um `throw` em handler async rejeita a promise que ele ignora. Use `.catch(next)`, um asyncHandler wrapper, ou Express 5.
- Médio
O que o Express não te dá
Validação, helmet/CORS, auth, rate limit, logging + request id, formato e handler de erro, limite de body, compressão, graceful shutdown — tudo é você que pluga.
- Fácil
`express.Router` e organização de rotas
Router = mini-app montado num prefixo. Cada recurso num arquivo com suas rotas/middleware locais; o app monta os routers e tem o middleware global + error handler + 404. Rota só valida, chama serviço, responde.
- Médio
Validar entrada numa rota Express
Schema (Zod/Joi) como middleware antes do handler: rejeita com 400 estruturado ou anexa `req.validated` tipado. Formato no middleware; regra de negócio no serviço (409/422). Com Zod+TS o tipo do handler sai do schema.
- Médio
Express x frameworks mais novos (Fastify, Elysia, Hono)
Fastify: performance + schema de entrada/saída embutido. Elysia/Hono: tipagem end-to-end e cliente tipado sem codegen, validação embutida. Troque em projeto novo ou gargalo real; fique no Express se o codebase é grande e estável.