Preguntas clave de entrevista React (junior a senior) en español
Si buscas roles remotos en empresas internacionales, prepárate para entrevistas técnicas de React en español e inglés. Muchas compañías valoran no solo tus bases, sino tu comunicación y criterio frente a problemas cotidianos de desarrollo web. Aquí encontrarás preguntas reales, respuestas bien explicadas y consejos para cada nivel de experiencia.
Nivel junior: Fundamentos imprescindibles
En posiciones junior, esperan que manejes los conceptos centrales de React, entiendas JSX y sepas levantar una app sencilla. Practica explicar los *porqués*, no solo los *cómos*.
Preguntas frecuentes:
- ¿Qué es JSX y por qué se usa en React?
- _Respuesta:_ JSX es una extensión de sintaxis para JavaScript que permite escribir HTML dentro de JS. Hace nuestro código más legible y declara la UI de forma intuitiva. Luego, Babel lo transforma en llamadas a React.createElement.
- Explicá la diferencia entre estado y props.
- _Respuesta:_ Las props son datos que un componente recibe de su padre; son inmutables. El estado es un dato interno manejado por el componente y puede cambiar dinámicamente usando `useState` u otros hooks.
Nivel semi-senior: Hooks y ciclo de vida
Acá se busca que tengas control sobre los hooks modernos, manejo de efectos y comprensión de cómo React rinde y actualiza la UI.
- ¿Para qué sirve useEffect? ¿Qué es la *dependency array*?
- _Respuesta:_ useEffect ejecuta código “después de renderizado”, por ejemplo para fetch de datos o sincronización. El *dependency array* define cuándo el efecto debe volver a ejecutarse: si está vacío, sólo corre una vez; si tiene dependencias, corre cuando alguna cambia.
- ¿Cuáles problemas pueden surgir con useEffect?
- _Respuesta:_ Llamadas infinitas si no se fijan bien las dependencias, “memoria antigua” si se olvida actualizar las dependencias, o data inconsistente si olvidás limpiar efectos secundarios (con una función de limpieza).
Nivel senior: Patrones avanzados y performance
En roles senior, evaluarán si sabes identificar cuellos de botella, modularizar código y aplicar patrones escalables.
- ¿Cómo optimizás renders innecesarios?
- _Respuesta:_ Usando `React.memo`, `useMemo` y `useCallback` para evitar renders o funciones re-creadas. Analizá dependencias en los hooks y usá herramientas como React DevTools Profiler para detectar componentes problemáticos.
- Explicá el *contexto* de React y sus riesgos.
- _Respuesta:_ El contexto sirve para compartir datos globales (tema, usuario, idioma) en toda la app sin pasar props por muchos niveles. Como riesgo, cualquier cambio en el proveedor fuerza re-render de todos los consumidores; si el contexto es muy grande puede bajar la performance.
Preguntas de código en vivo y retos
Es común que te pidan resolver un bug en un sandbox, crear un componente o mejorar la accesibilidad. Practicá ejercicios como:
- Hacer un *todo list* simple usando `useState`.
- Revisar código con dependencias incorrectas en un `useEffect`.
- Migrar un antiguo componente de clase a función con hooks.
Entrenar con estas pruebas es invaluable. Usá CodeSandbox, StackBlitz o el propio repo de la empresa si te lo comparten.
Ejemplo concreto: cómo responde un senior a un reto
Ejercicio: Optimizar este componente de lista que funciona lento en una app:
```jsx
function ListaUsuarios({usuarios}) {
return (
<ul>
{usuarios.map(u => <Usuario key={u.id} datos={u}/>)}
</ul>
)
}
```
Respuesta con explicación:
“Primero revisaría si el componente Usuario se re-renderiza aunque sus props no cambien. Le aplicaría `React.memo` para evitar renders innecesarios. Si la lista es muy grande, consideraría virtualización con react-window o react-virtualized. Usaría el Profiler para diagnosticar origin del lag. Además, confirmaría que la prop ‘usuarios’ sea una referencia estable.”
Tips directos para destacar en la entrevista
- Responde en voz alta, mostrando tu razonamiento, aunque dudes.
- Si no sabés algo, explicá cómo lo investigarías y qué documentación consultarías.
- Ante una pregunta de optimización, pregunta: “¿Rendimiento en red, CPU, uso de memoria, o experiencia del usuario?”
- Si te preguntan sobre testing, menciona Jest, React Testing Library y cómo estructurás componentes testables.
- Revisa el repo de la empresa si es público. Los detalles específicos te harán destacar.
Apunta a roles en EE.UU., Europa y startups de LATAM
Para roles remotos, la claridad comunicativa es clave, tanto en español neutro como en inglés básico. En muchos procesos verás la parte técnica en español y retos orales en inglés. Prepárate para explicar tus respuestas y preguntar sobre stack, cultura y expectativas del equipo.