InterviewHack.ai

Las 20 preguntas de entrevista JavaScript que más caen

24 de agosto de 2026

Las 20 preguntas de entrevista JavaScript que más caen

Si tu objetivo es conseguir un puesto remoto en dólares usando JavaScript, prepararte para entrevistas técnicas es esencial. En LATAM, los recruiters suelen repetir las mismas preguntas una y otra vez, buscando ver tanto tu conocimiento técnico como tu capacidad de explicar conceptos. Aquí te dejo una guía realista: las 20 preguntas que más caen, con consejos y ejemplos concretos para destacar.

1. ¿Qué es el hoisting en JavaScript?

Explica que las declaraciones de variables y funciones se “elevan” al inicio del scope. Un error común es pensar que las inicializaciones también lo hacen.

  • `var` permite acceso con `undefined`,
  • `let` y `const` bloquean hasta que se declaran.

2. Diferencias entre `let`, `const` y `var`

Describe el alcance (scope) y la mutabilidad. Resalta que `let` y `const` son block-scoped, mientras que `var` es function-scoped.

  • `const` no permite reasignación.
  • Evitá usar `var` en proyectos modernos.

3. ¿Cómo funciona el sistema de tipos en JavaScript?

JavaScript es débilmente tipado y dinámico. Señala hilos como conversión implícita y `typeof`.

4. Explicá qué es una closure y para qué se usan

Una closure ocurre cuando una función accede a variables de su contexto padre, incluso después de que ese contexto terminó. Ejemplo:

```js

function contador() {

let num = 0;

return function() { num++; return num; }

}

const c = contador();

```

5. Diferencia entre `==` y `===`

Volvé a aclarar que `==` compara valores tras conversión de tipos, y `===` exige tipo y valor iguales. Siempre preferí `===`.

6. ¿Qué es el event loop?

Describí la cola de mensajes y la pila de llamadas. Impresioná explicando cómo `setTimeout`, promesas y callbacks son gestionados.

7. Explicá el concepto de “callback hell” y cómo evitarlo

Cuando se anidan muchos callbacks, el código se vuelve inmanejable. Soluciones óptimas:

  • Promesas (`.then()`)
  • Async/await
  • Modularizar

8. ¿Qué es una promesa? Ejemplo básico

Una promesa representa un valor que estará disponible en el futuro.

```js

const fetchData = () => new Promise((resolve, reject) => { resolve('data'); });

```

9. Cómo manejar errores en JavaScript

Sirve mencionar `try/catch`, promesas con `.catch()`, y el uso de `throw` para lanzar errores custom.

10. ¿Qué hace `map`, `filter`, `reduce`? Ejemplo de uso

Explicá que son métodos de arrays para transformar y filtrar datos.

  • `map`: crea un nuevo array
  • `filter`: selecciona elementos
  • `reduce`: acumula valores

Ejemplo:

```js

const nums = [1,2,3];

const doble = nums.map(n => n*2);

```

11. ¿Qué es `this` en JavaScript?

Depende del contexto:

  • En funciones normales, depende de cómo se invoca
  • En arrow functions, es léxico (heredado del padre)
  • En métodos, hace referencia al objeto

12. ¿Cómo funciona la delegación de eventos en el DOM?

Explica cómo un event listener colocado en un elemento “padre” maneja eventos de hijos, optimizando performance.

13. ¿Qué es el destructuring?

Permite extraer propiedades de objetos o arrays fácilmente:

```js

const {nombre, edad} = persona;

const [x, y] = coords;

```

14. Explicá el concepto de “spread operator”

Permite copiar o combinar arrays y objetos:

```js

const arr = [...otrosArr, 1, 2];

const obj = {...user, activo: true};

```

15. Explique cómo funcionan las funciones async/await

Sintaxis para trabajar con promesas de forma más limpia:

```js

async function getData() {

const data = await fetch('/api');

}

```

16. Palabra clave `prototype` y herencia en JS

Explica cómo los objetos acceden a métodos y propiedades vía su `prototype`. Ejemplo:

```js

function Animal() {}

Animal.prototype.hablar = () => console.log('Hola');

```

17. ¿Qué es la diferencia entre “undefined” y “null”?

  • `undefined`: una variable no definida
  • `null`: ausencia intencional de valor (lo asignas)

18. ¿Qué es “debouncing” y “throttling”?

Técnicas para optimizar eventos. A veces caen en entrevistas técnicas front-end:

  • Debounce: espera a que termine el evento
  • Throttle: ejecuta cada cierto tiempo

19. Manejo de módulos en JS: CommonJS vs ES Modules

Actualmente, debe explicarse la diferencia entre `require` (CommonJS) y `import/export` (ES Modules).

  • Multiplataforma: preferir ES Modules en nuevos proyectos

20. ¿Cómo harías unit testing en JavaScript?

Menciona Jest, Mocha o Vitest. Explica la estructura: describe/it, assertions, mocks.

Ejemplo real: Cómo explicar “closure” en una entrevista

> “Una closure permite guardar el estado interno de una función. Por ejemplo, si quiero crear un contador, puedo definir una función interna que acceda a una variable `num` y retorne una función que la incremente. Así, cada vez que llamo a la función, el estado se mantiene. Yo lo usé para crear un cache memoizado en una API que consultaba datos desde un endpoint y evitaba hacer llamadas repetidas.”

Tips para destacar en entrevistas remotas

  • Practicá tus explicaciones en voz alta
  • Usá ejemplos que hayas implementado en proyectos
  • Si no sabés algo, admitílo y proponé cómo lo investigarías
  • Tené preparados snippets breves para compartir

Recursos para preparar entrevistas JavaScript

  • FreeCodeCamp JS Interview Guide
  • Eloquent JavaScript (capítulos avanzados)
  • Prácticas en LeetCode o Hackerrank

FAQ

¿Cómo prepararte para preguntas técnicas de JavaScript?+

Repasa los conceptos clave, practica la explicación en voz alta, haz ejercicios de código, y busca ejemplos reales que hayas usado en proyectos anteriores.

¿Qué es lo más importante al responder sobre closures?+

Enfatiza cómo una closure permite que funciones internas accedan a variables de su entorno, y ofrece ejemplos como contadores o caches.

¿Se siguen usando `var` en proyectos modernos?+

No, se prefiere usar `let` y `const` por su mejor control de scope y seguridad. `var` puede causar bugs inesperados por su hoisting y alcance.

¿Qué recursos online sirven para practicar entrevistas JS?+

FreeCodeCamp, LeetCode, Hackerrank y Eloquent JavaScript son los más recomendados para ejercicios, teoría y entrevistas técnicas.

Prepare for your real interview

Paste your job link: we research who's interviewing you and rehearse you live.

Start free