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

Junior JavaScriptPreguntas de entrevista JavaScript

Junior · sin experiencia / menos de 1 año

Las entrevistas de JavaScript se concentran en un pequeño número de cosas que el lenguaje hace distinto a todo lo demás: closures, `this`, prototipos y el event loop. Entiende eso bien y la mayoría de las otras preguntas se resuelven solas. Aquí están las más frecuentes, cada una con una respuesta modelo. Junior: teoría básica, definiciones y casos prácticos simples.

Pruébalo — sin cuenta necesaria
Preparando tu pregunta…

Temas para prepararte

Tipos y coerción
Closures y scope
`this` y prototipos
El event loop y async
Promises y async/await
DOM, eventos y el navegador

7 preguntas de nivel Junior con respuestas

1

¿Cuál es la diferencia entre primitivos y objetos?

Respuesta

Los primitivos — strings, numbers, booleans, null, undefined, symbols, bigints — se copian por valor. Los objetos, incluyendo arrays y funciones, se copian por referencia, así que dos variables pueden apuntar a lo mismo y cambiarlo a través de una es visible a través de la otra. Casi todo bug de "por qué cambió mi array" es esto.

2

¿Cuál es la diferencia entre `var`, `let` y `const`?

Respuesta

var tiene scope de función y se puede redeclarar; let y const tienen scope de bloque. const significa que el binding no se puede reasignar — el objeto al que apunta se puede seguir mutando. Usa const por defecto y let cuando realmente reasignes.

3

¿Cuál es la diferencia entre `null` y `undefined`?

Respuesta

undefined significa que un valor nunca fue asignado — una variable declarada, un argumento faltante, una propiedad que no existe. null es un "nada" explícito, asignado deliberadamente. typeof undefined es 'undefined', typeof null es 'object', y null == undefined es verdadero mientras null === undefined es falso.

4

¿Cómo compruebas que un valor es un array, y que es `NaN`?

Respuesta

Array.isArray(x) para el array, porque typeof devuelve 'object' tanto para arrays como para objetos normales. Para NaN, usa Number.isNaN(x) — el viejo isNaN global coacciona primero, así que isNaN('hello') es verdadero aunque un string no sea un número. NaN es el único valor que no es igual a sí mismo, que es cómo funciona la comprobación internamente.

5

¿Qué es el hoisting?

Respuesta

Las declaraciones se procesan antes de que el código se ejecute. Una declaración function se hoistea por completo y es invocable antes de su línea; un var se hoistea como undefined; let y const se hoistean pero son inutilizables hasta la declaración — la zona muerta temporal — así que leerlas antes lanza un ReferenceError.

6

¿Cuál es la diferencia entre `map`, `filter`, `reduce` y `forEach`?

Respuesta

map devuelve un nuevo array del mismo largo con cada elemento transformado. filter devuelve un array más corto con los elementos que pasaron una prueba. reduce pliega el array en un solo valor. forEach no devuelve nada y existe solo para efectos secundarios — usar map cuando ignoras el resultado construye un array para nada.

7

¿Qué es el event bubbling, y cómo se detiene?

Respuesta

Un evento disparado corre en el target y luego viaja hacia arriba por sus ancestros, que es lo que hace posible la delegación de eventos — un listener en una lista en lugar de uno por elemento. event.stopPropagation() detiene el viaje; event.preventDefault() cancela la acción por defecto del navegador, como que un formulario se envíe o un link navegue. Son cosas distintas y a menudo se confunden.

🦎

Leer respuestas no es suficiente

En una entrevista real hablas bajo presión. Cam hace estas mismas preguntas, evalúa cada respuesta y muestra exactamente qué mejorar.

Practicar entrevista de Junior JavaScript →
Gratis · 3 entrevistas al mes

Otros niveles — JavaScript

Middle JavaScriptSenior JavaScriptTodas las preguntas de JavaScript

Otras especializaciones

🔍Junior Manual QA🤖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