P
prepair.app
Começar entrevista →
EnglishУкраїнськаРусскийDeutsch
🟢

Middle Node.js BackendPerguntas de entrevista Node.js

Middle · 2–4 anos de experiência

Entrevistas de Node.js giram em torno do event loop, padrões assíncronos, Express ou NestJS, e as consequências de um runtime de thread única. Abaixo estão as perguntas mais comuns com respostas modelo. Middle: compreensão mais profunda, otimização e situações reais de trabalho.

Experimente — sem necessidade de conta
Preparando sua pergunta…

Temas para se preparar

Event loop e suas fases
Promises e async/await
Streams e buffers
Express / NestJS
Middleware e tratamento de erros
JWT e autenticação

7 perguntas de nível Middle com respostas

1

Por que uma operação pesada em CPU é perigosa no Node, e o que você faz a respeito?

Resposta

Porque ela ocupa a única thread que atende todo request — um cálculo de dois segundos faz cada usuário concorrente esperar dois segundos. As opções são mover para um worker thread, para um processo ou fila separados, ou trocar o algoritmo. A armadilha é que isso parece bem com pouco tráfego no desenvolvimento e aparece como um precipício de latência sob carga.

2

Para que servem os streams, e quando dói não usá-los?

Resposta

Eles deixam você processar dados em chunks em vez de ter tudo na memória de uma vez. Ler um upload de um gigabyte com readFile aloca um gigabyte por request concorrente, que é como um serviço morre com três uploads simultâneos. Fazer pipe mantém a memória constante não importa o tamanho do arquivo. O backpressure é a parte que as pessoas pulam — se o destino é mais lento que a fonte, um stream sem pipe acumula buffer até o processo ficar sem memória.

3

Você tem um vazamento de memória em produção. Como você encontra?

Resposta

Confirme primeiro — um heap que sobe e nunca volta depois do garbage collection, em vez do dente de serra normal. Depois tire dois snapshots do heap com minutos de diferença sob carga e compare os objetos retidos; o diff geralmente aponta o culpado diretamente. As causas mais comuns são um cache que cresce sem eviction, listeners adicionados por request e nunca removidos, e closures mantendo um objeto grande vivo.

4

O que o clustering te dá, e o que não dá?

Resposta

Ele roda um processo por núcleo, então você usa a máquina inteira em vez de uma única thread, com o SO balanceando as conexões. O que ele não te dá é estado compartilhado — qualquer coisa em memória agora existe por worker, então caches em processo divergem e sessões quebram a menos que sejam movidas para o Redis. Também não conserta um handler lento; ele multiplica a quantidade de coisas que podem ficar lentas.

5

Como você evita um N+1 com um ORM no Node?

Resposta

Do mesmo jeito que em qualquer lugar: você percebe uma consulta por item no log, depois carrega as linhas relacionadas numa única consulta. Prisma tem include, Sequelize tem eager loading, e um join cru sempre funciona. A armadilha específica do Node é fazer await dentro de um for loop, que serializa chamadas que poderiam rodar juntas — Promise.all resolve a latência, mas não resolve a quantidade de consultas.

6

O que você verifica quando um serviço Node fica lento sob carga?

Resposta

Se o event loop está bloqueado, o que uma métrica de lag responde diretamente sem precisar chutar. Se o loop está bem, o tempo está numa chamada downstream — banco de dados, API upstream — e o esgotamento do connection pool é uma causa frequente. Os logs de latência média escondem isso; os percentis não, porque é no p99 que o esgotamento do pool aparece.

7

Como você testa código que chama uma API externa?

Resposta

Você intercepta na camada HTTP com algo como nock em vez de mockar seu próprio cliente, assim o teste exercita a construção e o parsing reais do request. Grave uma resposta real como fixture e compare com ela. Mockar seu próprio wrapper testa se seu mock coincide com seu mock, por isso essas suítes continuam verdes enquanto a integração quebra.

🦎

Só ler as respostas não basta

Numa entrevista de verdade você fala sob pressão. O Cam faz essas mesmas perguntas, avalia cada resposta e mostra exatamente o que melhorar.

Praticar entrevista de Middle Node.js Backend →
Grátis · 3 entrevistas por mês

Outros níveis — Node.js Backend

Junior Node.js BackendSenior Node.js BackendTodas as perguntas de Node.js Backend

Outras especializações

🔍Middle QA Manual🤖Middle QA AutomationMiddle Java Backend🐍Middle Python Backend🐘Middle PHP Backend🦫Middle Go Backend💎Middle Ruby on Rails🔷Middle C++🟨Middle JavaScript⚛️Middle React Frontend