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

Junior JavaScriptPerguntas de entrevista JavaScript

Junior · sem experiência / menos de 1 ano

As entrevistas de JavaScript se concentram em um pequeno número de coisas que a linguagem faz diferente de tudo mais: closures, `this`, protótipos e o event loop. Entenda bem isso e a maioria das outras perguntas se resolve sozinha. Aqui estão as mais frequentes, cada uma com uma resposta modelo. Junior: teoria básica, definições e casos práticos simples.

Experimente — sem necessidade de conta
Preparando sua pergunta…

Temas para se preparar

Tipos e coerção
Closures e escopo
`this` e protótipos
O event loop e async
Promises e async/await
DOM, eventos e o navegador

7 perguntas de nível Junior com respostas

1

Qual é a diferença entre primitivos e objetos?

Resposta

Primitivos — strings, numbers, booleans, null, undefined, symbols, bigints — são copiados por valor. Objetos, incluindo arrays e funções, são copiados por referência, então duas variáveis podem apontar para a mesma coisa e mudá-la através de uma é visível através da outra. Quase todo bug de "por que meu array mudou" é isso.

2

Qual é a diferença entre `var`, `let` e `const`?

Resposta

var tem escopo de função e pode ser redeclarada; let e const têm escopo de bloco. const significa que o binding não pode ser reatribuído — o objeto para o qual ele aponta ainda pode ser mutado. Use const por padrão e let quando realmente for reatribuir.

3

Qual é a diferença entre `null` e `undefined`?

Resposta

undefined significa que um valor nunca foi atribuído — uma variável declarada, um argumento faltando, uma propriedade que não existe. null é um "nada" explícito, atribuído deliberadamente. typeof undefined é 'undefined', typeof null é 'object', e null == undefined é verdadeiro enquanto null === undefined é falso.

4

Como você verifica se um valor é um array, e se é `NaN`?

Resposta

Array.isArray(x) para o array, porque typeof retorna 'object' tanto para arrays quanto para objetos comuns. Para NaN, use Number.isNaN(x) — o velho isNaN global coage primeiro, então isNaN('hello') é verdadeiro mesmo uma string não sendo um número. NaN é o único valor que não é igual a si mesmo, que é como a checagem funciona por baixo dos panos.

5

O que é hoisting?

Resposta

Declarações são processadas antes do código rodar. Uma declaração function é totalmente hoisted e pode ser chamada antes da sua linha; um var é hoisted como undefined; let e const são hoisted mas ficam inutilizáveis até a declaração — a zona morta temporal — então lê-las antes lança um ReferenceError.

6

Qual é a diferença entre `map`, `filter`, `reduce` e `forEach`?

Resposta

map retorna um novo array do mesmo tamanho com cada elemento transformado. filter retorna um array menor com os elementos que passaram num teste. reduce reduz o array a um único valor. forEach não retorna nada e existe só por efeitos colaterais — usar map quando você ignora o resultado constrói um array à toa.

7

O que é event bubbling, e como você o interrompe?

Resposta

Um evento disparado roda no alvo e depois viaja para cima pelos seus ancestrais, o que torna possível a delegação de eventos — um listener numa lista em vez de um por elemento. event.stopPropagation() interrompe a viagem; event.preventDefault() cancela a ação padrão do navegador, como um formulário sendo enviado ou um link navegando. São coisas diferentes e costumam ser confundidas.

🦎

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 JavaScript →
Grátis · 3 entrevistas por mês

Outros níveis — JavaScript

Middle JavaScriptSenior JavaScriptTodas as perguntas de JavaScript

Outras especializações

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