🎤

Guía de preguntas para entrevistas React

May 26, 2025

Preguntas de entrevista para React

Introducción

  • Proyecto creado por midudev para preparar entrevistas de trabajo relacionadas con React.
  • Ofrece una colección de preguntas con respuestas en español.
  • Recursos adicionales como comunidad en Discord y streams en Twitch.

Estructura de las preguntas

  1. Principiante

    • Conceptos básicos
      • React se autodenomina biblioteca porque necesita de otras bibliotecas de terceros para crear una app entera.
      • JSX: Sintaxis que combina JavaScript y HTML.
      • Estado y Props: Props son inmutables y pasadas de padres a hijos; el estado es mutable dentro del componente.
      • Renderizado condicional y de listas.
      • Estilos en React: Uso de className para clases y style para estilos en línea.
      • Uso de eventos y manejo del estado con hooks.
    • Hooks Básicos
      • useState: Para manejar estados dentro de componentes funcionales.
      • useEffect: Para manejar efectos colaterales, como suscripciones y API calls.
      • useId: Para generar identificadores únicos.
  2. Intermedio

    • Hooks personalizados: Permiten reutilizar lógica entre componentes.
    • Ciclo de vida de componentes: Uso de useEffect para manejar montaje y desmontaje de componentes.
    • Reglas de los hooks y diferencia entre useEffect y useLayoutEffect.
    • Componentes controlados vs. no controlados: Controlados manejan su estado con React; no controlados dependen del DOM.
    • Server Side Rendering (SSR) y High Order Components (HOC).
    • Render props y ciclo de vida de los componentes.
    • Optimización con useMemo y useCallback.
    • Manejo de referencias con useRef y forwardRef.
    • Uso del contexto en React useContext.
    • Virtualización y paginación: Técnicas para mejorar el rendimiento con grandes cantidades de datos.
  3. Experto

    • Renderizado en servidor: Uso de renderToPipeableStream para mejorar el SSR.
    • Optimización con useMemo y useCallback: Para evitar cálculos innecesarios y crear funciones memorables.
    • Contexto en React: Uso de createContext y useContext para manejar datos globales.
    • Uso de useImperativeHandle y cloneElement.
    • Implementación de Portales.
    • Error Boundaries: Mecanismo para capturar errores en el árbol de componentes.
    • Técnicas de rendimiento (virtualization, pagination, hilos con renderToPipeableStream).
    • Testing de componentes y hooks.

Errores típicos

  • Keys únicas en listas: Importante para identificar correctamente elementos al renderizar listas.
  • Reglas de Hooks: Deben llamarse en el mismo orden para mantener consistencia.
  • Evitar actualizaciones de estado en componentes desmontados<span>: Uso de </span>AbortController<span> para manejar peticiones asíncronas</span>

Testing

  • Testing de componentes con @testing-library/react.
  • Testing de hooks con @testing-library/react-hooks.

Otros conceptos

  • Shadow DOM vs. Virtual DOM: Shadow DOM es para encapsulación; Virtual DOM es para rendimiento.
  • Binding en React: One-Way y Two-Way Binding para manejo de estado y vista.

Conclusión

  • El proyecto sirve como una guía exhaustiva para abordar entrevistas técnicas en React, cubriendo desde conceptos básicos hasta prácticas y patrones avanzados.