Preguntas para Entrevistas de Desarrollador Junior de React Native: Guía Completa

Milad Bonakdar
Autor
Domina los fundamentos del desarrollo de React Native con preguntas esenciales para entrevistas que cubren los conceptos básicos de React, componentes, navegación, gestión del estado y conceptos específicos para móviles dirigidas a desarrolladores junior.
Introducción
React Native permite a los desarrolladores crear aplicaciones móviles nativas utilizando JavaScript y React. Con una única base de código, puedes crear aplicaciones tanto para iOS como para Android, lo que la convierte en una opción poderosa para el desarrollo móvil multiplataforma.
Esta guía cubre las preguntas esenciales de la entrevista para desarrolladores Junior de React Native. Exploramos los fundamentos de React, los componentes, los hooks, la navegación, la gestión del estado y los conceptos específicos para móviles para ayudarte a prepararte para tu primer puesto de desarrollador de React Native.
Fundamentos de React (6 preguntas)
1. ¿Qué es React Native y en qué se diferencia de React?
Respuesta:
- React: Biblioteca de JavaScript para construir interfaces de usuario web
- React Native: Framework para construir aplicaciones móviles nativas utilizando React
- Diferencias clave:
- React Native renderiza a componentes nativos (no al DOM)
- Utiliza APIs nativas en lugar de APIs web
- Diferente enfoque de estilo (sin CSS, utiliza StyleSheet)
- Código específico de la plataforma para iOS y Android
Frecuencia: Muy común Dificultad: Fácil
2. ¿Cuáles son los componentes principales en React Native?
Respuesta: React Native proporciona componentes incorporados que se asignan a los elementos de la interfaz de usuario nativa:
- View: Componente contenedor (como
diven web) - Text: Muestra texto (todo el texto debe estar en el componente
Text) - Image: Muestra imágenes
- ScrollView: Contenedor desplazable
- TextInput: Campo de entrada de texto
- TouchableOpacity/Pressable: Elementos táctiles
- FlatList: Renderizado eficiente de listas
- Button: Componente de botón básico
Frecuencia: Muy común Dificultad: Fácil
3. Explica la diferencia entre View y ScrollView.
Respuesta:
- View: Contenedor estático. El contenido que excede los límites de la pantalla no es desplazable.
- ScrollView: Contenedor desplazable. Renderiza todos los hijos a la vez (puede consumir mucha memoria para listas grandes).
- Cuándo usar:
- View: Para layouts que caben en la pantalla
- ScrollView: Para pequeñas cantidades de contenido desplazable
- FlatList: Para listas grandes (renderiza solo los elementos visibles)
Frecuencia: Muy común Dificultad: Fácil
4. ¿Qué son los React Hooks y cuáles son los más utilizados?
Respuesta: Los Hooks son funciones que te permiten usar el estado y las características del ciclo de vida en componentes funcionales.
- Hooks comunes:
- useState: Gestiona el estado del componente
- useEffect: Maneja los efectos secundarios (obtención de datos, suscripciones)
- useContext: Accede a los valores del contexto
- useCallback: Memoriza funciones
- useMemo: Memoriza cálculos costosos
- useRef: Referencia elementos DOM o persiste valores
Frecuencia: Muy común Dificultad: Fácil
5. Explica el hook useEffect y su array de dependencias.
Respuesta:
useEffect ejecuta efectos secundarios después del renderizado. El array de dependencias controla cuándo se ejecuta:
- Sin array: Se ejecuta después de cada renderizado
- Array vacío
[]: Se ejecuta una vez después del renderizado inicial - Con dependencias
[dep1, dep2]: Se ejecuta cuando las dependencias cambian
Frecuencia: Muy común Dificultad: Media
6. ¿Qué es el DOM Virtual y cómo lo usa React?
Respuesta: El DOM Virtual es una representación ligera de JavaScript del DOM real.
- Proceso:
- Cuando el estado cambia, React crea un nuevo árbol DOM Virtual
- Lo compara con el DOM Virtual anterior (diffing)
- Calcula los cambios mínimos necesarios
- Actualiza solo las partes modificadas en el DOM real
- Beneficios: Actualizaciones eficientes, mejor rendimiento
Frecuencia: Común Dificultad: Fácil
Componentes y Props (4 preguntas)
7. ¿Cuál es la diferencia entre Props y State?
Respuesta:
- Props:
- Se pasan de padre a hijo
- De solo lectura (inmutables)
- Se utilizan para la configuración del componente
- State:
- Se gestiona dentro del componente
- Mutable (se puede cambiar)
- Se utiliza para datos dinámicos
Frecuencia: Muy común Dificultad: Fácil
8. ¿Qué son los Componentes Funcionales vs los Componentes de Clase?
Respuesta:
- Componentes Funcionales:
- Sintaxis más sencilla
- Utilizan hooks para el estado y el ciclo de vida
- Preferidos en React moderno
- Componentes de Clase:
- Enfoque más antiguo
- Utilizan
this.statey métodos del ciclo de vida - Todavía soportados pero menos comunes
Frecuencia: Común Dificultad: Fácil
9. ¿Cómo se pasan datos del componente hijo al componente padre?
Respuesta: Utiliza funciones de callback pasadas como props.
Frecuencia: Muy común Dificultad: Fácil
10. ¿Qué es la prop key y por qué es importante?
Respuesta:
La prop key ayuda a React a identificar qué elementos han cambiado, se han añadido o se han eliminado en las listas.
- Propósito: Optimizar el rendimiento del renderizado
- Requisitos: Debe ser único entre los hermanos, estable (no usar el índice si la lista puede cambiar)
Frecuencia: Muy común Dificultad: Fácil
Estilos y Diseño (3 preguntas)
11. ¿Cómo se aplican estilos a los componentes en React Native?
Respuesta: React Native utiliza objetos de JavaScript para los estilos, no CSS.
- API StyleSheet: Crea estilos optimizados
- Estilos en línea: Objetos de estilo directos (menos rendimiento)
- Flexbox: Sistema de diseño predeterminado
Frecuencia: Muy común Dificultad: Fácil
12. Explica Flexbox en React Native.
Respuesta: Flexbox es el sistema de diseño principal en React Native.
- Propiedades principales:
- flexDirection:
rowocolumn(predeterminado:column) - justifyContent: Alinea a lo largo del eje principal
- alignItems: Alinea a lo largo del eje transversal
- flex: Tamaño proporcional
- flexDirection:
Frecuencia: Muy común Dificultad: Media
13. ¿Cuál es la diferencia entre margin y padding?
Respuesta:
- Padding: Espacio dentro del componente (entre el contenido y el borde)
- Margin: Espacio fuera del componente (entre el componente y sus vecinos)
Frecuencia: Común Dificultad: Fácil
Navegación (3 preguntas)
14. ¿Qué es React Navigation y cómo se usa?
Respuesta: React Navigation es la biblioteca de navegación más popular para React Native.
- Tipos:
- Stack Navigator: Pila de pantallas (push/pop)
- Tab Navigator: Pestañas inferiores
- Drawer Navigator: Menú lateral
Frecuencia: Muy común Dificultad: Media
15. ¿Cómo se pasan parámetros entre pantallas?
Respuesta:
Usa la función navigate con un segundo parámetro para los datos.
Frecuencia: Muy común Dificultad: Fácil
16. ¿Qué son las opciones de navegación y cómo se personalizan los encabezados?
Respuesta: Las opciones de navegación controlan la apariencia y el comportamiento de la pantalla.
Frecuencia: Común Dificultad: Fácil
Datos y Almacenamiento (4 preguntas)
17. ¿Cómo se obtienen datos de una API en React Native?
Respuesta:
Usa la API fetch o bibliotecas como Axios.
Frecuencia: Muy común Dificultad: Media
18. ¿Qué es AsyncStorage y cómo se usa?
Respuesta: AsyncStorage es un sistema de almacenamiento asíncrono de clave-valor simple para React Native.
- Casos de uso: Preferencias del usuario, tokens, datos pequeños
- No para: Grandes conjuntos de datos, consultas complejas (usar SQLite en su lugar)
Frecuencia: Muy común Dificultad: Fácil
19. ¿Cuál es la diferencia entre FlatList y ScrollView?
Respuesta:
- ScrollView:
- Renderiza todos los hijos a la vez
- Bueno para listas pequeñas
- Uso intensivo de memoria para listas grandes
- FlatList:
- Renderiza solo los elementos visibles (carga perezosa)
- Eficiente para listas grandes
- Optimizaciones incorporadas
Frecuencia: Muy común Dificultad: Fácil
20. ¿Cómo se manejan los formularios y la entrada del usuario?
Respuesta: Usa componentes controlados con estado.
Frecuencia: Muy común Dificultad: Media


