React Native

Otimização de desempenho

Otimização de FlatList, memo, useMemo/useCallback, Hermes, profiling, tamanho do bundle

24 perguntas de entrevista·
Senior
1

Qual é o papel principal do React.memo na otimização de desempenho do React Native?

Resposta

React.memo é um Higher-Order Component que memoriza o resultado de renderização de um componente funcional. Ele evita re-renders desnecessários comparando as props atuais com as anteriores (shallow comparison por padrão). Se as props não mudaram, o React reutiliza o resultado memorizado em vez de renderizar novamente o componente, o que melhora significativamente o desempenho em listas ou árvores de componentes complexas.

2

Qual propriedade do FlatList otimiza significativamente o scroll fornecendo as dimensões dos items com antecedência?

Resposta

getItemLayout é uma propriedade opcional do FlatList que permite calcular com antecedência a altura, a largura e o offset de cada elemento. Isso evita que o React Native meça dinamicamente cada item, o que melhora consideravelmente o desempenho do scroll, especialmente ao saltar para um índice específico com scrollToIndex. Essa otimização é particularmente útil quando todos os items têm o mesmo tamanho.

3

Qual é a diferença principal entre useMemo e useCallback em termos de otimização?

Resposta

useMemo memoriza o resultado de um cálculo custoso e retorna esse valor calculado, enquanto useCallback memoriza uma função em si e retorna essa função. useMemo é útil para evitar recálculos pesados a cada render, enquanto useCallback é essencial para evitar recriar funções passadas como props para componentes filhos memorizados, o que quebraria sua otimização React.memo.

4

O que é o Hermes e qual é a sua principal vantagem para as aplicações React Native?

5

Por que é crucial fornecer uma função keyExtractor estável ao FlatList?

+21 perguntas de entrevista

Outros temas de entrevista React Native

Fundamentos de JavaScript

Junior
25 perguntas

Fundamentos do React

Junior
20 perguntas

Fundamentos do React Native

Junior
22 perguntas

React Hooks

Junior
20 perguntas

TypeScript para React e React Native

Junior
22 perguntas

Componentes e API do React Native

Junior
20 perguntas

Estilização e Layout no React Native

Junior
18 perguntas

Navegação no React Native

Mid-Level
22 perguntas

Gerenciamento de Estado no React Native

Mid-Level
24 perguntas

Networking e API no React Native

Mid-Level
20 perguntas

Persistência de dados

Mid-Level
20 perguntas

Formulários e validação

Mid-Level
18 perguntas

Animações do React Native

Mid-Level
22 perguntas

Native Modules & Bridge

Mid-Level
20 perguntas

Código específico de plataforma

Mid-Level
18 perguntas

Permissões e APIs de dispositivo

Mid-Level
20 perguntas

Push Notifications

Mid-Level
18 perguntas

Testing no React Native

Mid-Level
20 perguntas

Debugging de React Native

Mid-Level
18 perguntas

Build & Deployment

Mid-Level
20 perguntas

Expo vs React Native Bare

Mid-Level
18 perguntas

Gerenciamento de memória

Senior
20 perguntas

Architecture Patterns

Senior
22 perguntas

New Architecture do React Native

Senior
24 perguntas

Melhores Práticas de Segurança

Senior
20 perguntas

Offline-First Architecture

Senior
20 perguntas

CI/CD React Native

Senior
20 perguntas

Monorepo e compartilhamento de código

Senior
18 perguntas

Tópicos avançados

Senior
22 perguntas

Ciclo de vida do app e execução em segundo plano

Mid-Level
20 perguntas

Autenticação e gerenciamento de sessões

Mid-Level
22 perguntas

Monitoring & Crash Reporting

Senior
20 perguntas

Domine React Native para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis