Perguntas para Entrevista de Desenvolvedor React Native Júnior: Guia Completo

Milad Bonakdar
Autor
Domine os fundamentos do desenvolvimento React Native com perguntas essenciais para entrevistas, abrangendo o básico de React, componentes, navegação, gerenciamento de estado e conceitos específicos para dispositivos móveis para desenvolvedores juniores.
Introdução
React Native permite que desenvolvedores construam aplicativos móveis nativos usando JavaScript e React. Com uma única base de código, você pode criar aplicativos para iOS e Android, tornando-o uma escolha poderosa para o desenvolvimento móvel multiplataforma.
Este guia abrange as principais perguntas de entrevista para Desenvolvedores React Native Júnior. Exploramos os fundamentos do React, componentes, hooks, navegação, gerenciamento de estado e conceitos específicos para dispositivos móveis para ajudá-lo a se preparar para sua primeira função como desenvolvedor React Native.
Fundamentos do React (6 Perguntas)
1. O que é React Native e como ele difere do React?
Resposta:
- React: Biblioteca JavaScript para construir interfaces de usuário web
- React Native: Framework para construir aplicativos móveis nativos usando React
- Principais Diferenças:
- React Native renderiza para componentes nativos (não DOM)
- Usa APIs nativas em vez de APIs web
- Abordagem de estilo diferente (sem CSS, usa StyleSheet)
- Código específico da plataforma para iOS e Android
Raridade: Muito Comum Dificuldade: Fácil
2. Quais são os componentes principais no React Native?
Resposta: React Native fornece componentes integrados que mapeiam para elementos de UI nativos:
- View: Componente de contêiner (como
divna web) - Text: Exibe texto (todo texto deve estar no componente
Text) - Image: Exibe imagens
- ScrollView: Contêiner rolável
- TextInput: Campo de entrada de texto
- TouchableOpacity/Pressable: Elementos toucháveis
- FlatList: Renderização de lista eficiente
- Button: Componente de botão básico
Raridade: Muito Comum Dificuldade: Fácil
3. Explique a diferença entre View e ScrollView.
Resposta:
- View: Contêiner estático. O conteúdo além dos limites da tela não é rolável.
- ScrollView: Contêiner rolável. Renderiza todos os filhos de uma vez (pode consumir muita memória para listas grandes).
- Quando usar:
- View: Para layouts que cabem na tela
- ScrollView: Para pequenas quantidades de conteúdo rolável
- FlatList: Para listas grandes (renderiza apenas os itens visíveis)
Raridade: Muito Comum Dificuldade: Fácil
4. O que são React Hooks e quais são os mais usados?
Resposta: Hooks são funções que permitem usar recursos de estado e ciclo de vida em componentes funcionais.
- Hooks Comuns:
- useState: Gerencia o estado do componente
- useEffect: Lida com efeitos colaterais (busca de dados, assinaturas)
- useContext: Acessa valores de contexto
- useCallback: Memoiza funções
- useMemo: Memoiza cálculos caros
- useRef: Referencia elementos DOM ou persiste valores
Raridade: Muito Comum Dificuldade: Fácil
5. Explique o hook useEffect e seu array de dependências.
Resposta:
useEffect executa efeitos colaterais após a renderização. O array de dependências controla quando ele é executado:
- Sem array: Executa após cada renderização
- Array vazio
[]: Executa uma vez após a renderização inicial - Com dependências
[dep1, dep2]: Executa quando as dependências mudam
Raridade: Muito Comum Dificuldade: Média
6. O que é o Virtual DOM e como o React o usa?
Resposta: O Virtual DOM é uma representação JavaScript leve do DOM real.
- Processo:
- Quando o estado muda, o React cria uma nova árvore Virtual DOM
- Compara com o Virtual DOM anterior (diffing)
- Calcula as mudanças mínimas necessárias
- Atualiza apenas as partes alteradas no DOM real
- Benefícios: Atualizações eficientes, melhor desempenho
Raridade: Comum Dificuldade: Fácil
Componentes e Props (4 Perguntas)
7. Qual é a diferença entre Props e State?
Resposta:
- Props:
- Passadas do pai para o filho
- Somente leitura (imutável)
- Usadas para configuração do componente
- State:
- Gerenciado dentro do componente
- Mutável (pode ser alterado)
- Usado para dados dinâmicos
Raridade: Muito Comum Dificuldade: Fácil
8. O que são Componentes Funcionais vs Componentes de Classe?
Resposta:
- Componentes Funcionais:
- Sintaxe mais simples
- Usam hooks para estado e ciclo de vida
- Preferidos no React moderno
- Componentes de Classe:
- Abordagem mais antiga
- Usam
this.statee métodos de ciclo de vida - Ainda suportados, mas menos comuns
Raridade: Comum Dificuldade: Fácil
9. Como você passa dados do componente filho para o componente pai?
Resposta: Use funções de callback passadas como props.
Raridade: Muito Comum Dificuldade: Fácil
10. O que é a prop key e por que ela é importante?
Resposta:
A prop key ajuda o React a identificar quais itens foram alterados, adicionados ou removidos em listas.
- Propósito: Otimizar o desempenho da renderização
- Requisitos: Deve ser único entre os irmãos, estável (não use o índice se a lista puder mudar)
Raridade: Muito Comum Dificuldade: Fácil
Estilo e Layout (3 Perguntas)
11. Como você estiliza componentes no React Native?
Resposta: React Native usa objetos JavaScript para estilizar, não CSS.
- StyleSheet API: Cria estilos otimizados
- Estilos Inline: Objetos de estilo diretos (menos performático)
- Flexbox: Sistema de layout padrão
Raridade: Muito Comum Dificuldade: Fácil
12. Explique Flexbox no React Native.
Resposta: Flexbox é o sistema de layout primário no React Native.
- Propriedades Principais:
- flexDirection:
rowoucolumn(padrão:column) - justifyContent: Alinha ao longo do eixo principal
- alignItems: Alinha ao longo do eixo transversal
- flex: Dimensionamento proporcional
- flexDirection:
Raridade: Muito Comum Dificuldade: Média
13. Qual é a diferença entre margin e padding?
Resposta:
- Padding: Espaço dentro do componente (entre o conteúdo e a borda)
- Margin: Espaço fora do componente (entre o componente e os vizinhos)
Raridade: Comum Dificuldade: Fácil
Navegação (3 Perguntas)
14. O que é React Navigation e como você o usa?
Resposta: React Navigation é a biblioteca de navegação mais popular para React Native.
- Tipos:
- Stack Navigator: Pilha de telas (push/pop)
- Tab Navigator: Abas inferiores
- Drawer Navigator: Menu lateral
Raridade: Muito Comum Dificuldade: Média
15. Como você passa parâmetros entre telas?
Resposta:
Use a função navigate com um segundo parâmetro para dados.
Raridade: Muito Comum Dificuldade: Fácil
16. O que são opções de navegação e como você personaliza os headers?
Resposta: As opções de navegação controlam a aparência e o comportamento da tela.
Raridade: Comum Dificuldade: Fácil
Dados e Armazenamento (4 Perguntas)
17. Como você busca dados de uma API no React Native?
Resposta:
Use a API fetch ou bibliotecas como Axios.
Raridade: Muito Comum Dificuldade: Média
18. O que é AsyncStorage e como você o usa?
Resposta: AsyncStorage é um sistema de armazenamento chave-valor simples e assíncrono para React Native.
- Casos de Uso: Preferências do usuário, tokens, pequenos dados
- Não para: Grandes conjuntos de dados, consultas complexas (use SQLite em vez disso)
Raridade: Muito Comum Dificuldade: Fácil
19. Qual é a diferença entre FlatList e ScrollView?
Resposta:
- ScrollView:
- Renderiza todos os filhos de uma vez
- Bom para listas pequenas
- Uso intensivo de memória para listas grandes
- FlatList:
- Renderiza apenas os itens visíveis (carregamento preguiçoso)
- Eficiente para listas grandes
- Otimizações integradas
Raridade: Muito Comum Dificuldade: Fácil
20. Como você lida com formulários e entrada de usuário?
Resposta: Use componentes controlados com estado.
Raridade: Muito Comum Dificuldade: Média


