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

Junior Node.js BackendPerguntas de entrevista Node.js

Junior · sem experiência / menos de 1 ano

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. Junior: teoria básica, definições e casos práticos simples.

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 Junior com respostas

1

O que é o event loop, e o que single-threaded realmente significa aqui?

Resposta

O Node roda seu JavaScript numa única thread e repassa o I/O para o sistema operacional, recolhendo os resultados como callbacks quando ficam prontos. Single-threaded significa que seu código nunca roda em dois lugares ao mesmo tempo — mas a espera acontece em outro lugar, por isso o Node lida com milhares de conexões ociosas de forma barata. A consequência a lembrar: um loop lento no seu código bloqueia todo request, não só o que pertence a ele.

2

Qual é a diferença entre um callback, uma promise e async/await?

Resposta

São o mesmo mecanismo em três níveis de ergonomia. Um callback é uma função chamada ao completar e aninha mal. Uma promise é um objeto que representa um valor futuro que pode ser encadeado. async/await é sintaxe sobre promises que deixa você escrever código que parece sequencial. O que não muda é o modelo subjacente — await não bloqueia a thread, ele cede o controle.

3

O que acontece se você esquecer de dar await numa promise?

Resposta

A função continua imediatamente com uma promise pending em vez do valor, então você obtém comportamento indefinido mais adiante, e qualquer erro dentro dela vira uma unhandled rejection que pode derrubar o processo. A forma mais comum é uma escrita no banco de dados que parece bem-sucedida porque ninguém esperou para descobrir que falhou. Os linters pegam isso e vale a pena ativar essa regra.

4

Como você trata um erro dentro de uma função async?

Resposta

Com try/catch em volta do await, porque uma promise rejeitada dentro de uma função async se comporta como um erro lançado. O que não funciona é try/catch em volta de uma chamada baseada em callback — o callback roda depois, fora do bloco. No Express, erros de handlers async precisam ser passados para next() ou o request fica pendurado até dar timeout.

5

Qual é a diferença entre dependencies e devDependencies?

Resposta

As dependencies são necessárias para rodar a aplicação, as devDependencies só para construí-la e testá-la. A distinção importa quando a imagem de produção instala com --omit=dev: colocar uma ferramenta de build no lugar errado infla a imagem ou quebra o build. A pergunta relacionada é o package-lock — commite ele, porque é isso que faz duas instalações produzirem a mesma árvore.

6

O que é middleware no Express?

Resposta

Uma função que recebe o request, a response e o next, e ou trata o request ou o repassa adiante. A ordem é tudo: autenticação colocada depois da rota que ela protege não faz nada, e um error handler precisa ser registrado por último para capturar o que vem antes. Esquecer de chamar next() é o bug clássico, e o sintoma é um request que nunca responde.

7

Qual é a diferença entre process.env e um arquivo de config?

Resposta

Variáveis de ambiente vêm de fora do código, então o mesmo build consegue rodar em staging e produção com valores diferentes, e segredos nunca entram no repositório. Um arquivo de config é conveniente e versionado, o que é exatamente por que credenciais não deveriam viver num. A configuração prática é um schema que valida as variáveis na inicialização, então uma faltando falha imediatamente em vez de no primeiro request.

🦎

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 Junior Node.js Backend →
Grátis · 3 entrevistas por mês

Outros níveis — Node.js Backend

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

Outras especializações

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