70 Perguntas de entrevista React & React Native que salvaram minha vida!

DhephDheph
6 min read

Durante minha trajetória como desenvolvedor Frontend, enfrentei uma verdadeira maratona de entrevistas. Para me preparar, criei uma lista com mais de 70 perguntas — técnicas e comportamentais — que reviso frequentemente. Agora compartilho com você esse compilado, dividido por tópicos para facilitar o estudo.

Se você está se preparando para entrevistas, use essas perguntas como guia de revisão ativa: tente respondê-las por conta própria, revise a documentação oficial e, se possível, simule entrevistas com amigos. Ao final, você também encontrará flashcards com algumas das principais perguntas e respostas.


📱 React Native Avançado

Perguntas voltadas para o uso profundo do React Native, integração com sensores, publicação e otimizações de performance.

  • Como você otimizaria uma FlatList com 10k+ de dados de sensores agrícolas?

  • Qual a diferença entre Bridge e JSI no React Native? Dê um exemplo prático.

  • Como você implementaria o offline-first em um app?

  • Explique como você publicaria um app na App Store com atualizações críticas em 1 hora.

  • Como lidar com vazamento de memória em um mapa com marcadores dinâmicos?

  • Por que usar Hermes? Quais as limitações?

  • Como você estruturaria um monorepo para 3 times trabalhando em módulos independentes?

  • Como criar um módulo nativo para acessar um sensor de umidade de solo?

  • Quais vantagens de microfrontends em um app?

  • Como debugar um crash específico do iOS na produção?

  • Como você garantiria compatibilidade com Android 10+ e iOS 12+?

  • Como implementar deep linking em um app?

  • Quais as melhores práticas para atualizar libs do React Native?

  • Como você monitora performance em produção?

  • Como lidar com conflitos de versões de libs no React Native?

  • Como gerenciar variáveis de ambiente em RN?

  • Qual sua experiência com EAS (Expo Application Services)?

  • Como lidar com certificados iOS expirados em produção?

  • Como medir o impacto de uma nova versão do app?

  • Como configurar CI/CD para um app RN com Fastlane?


🔐 Firebase e Dados Offline

Foque em autenticação, Firestore, sincronização e segurança de dados.

  • Como estruturar regras de segurança no Firestore para dados de fazendas?

  • Como sincronizar dados offline com Firestore sem conflitos?

  • Como implementar autenticação com Firebase Auth em RN?

  • Quando usar Realtime Database vs Firestore?

  • Como otimizar custos do Firestore em um app com muitos usuários?

  • Como garantir que imagens carreguem rápido em conexões ruins?

  • Como estruturar uma coleção no Firestore para dados de sensores IoT?

  • Como implementar busca por nome de item no Firestore?

  • Como chamar uma Cloud Function a partir do RN?

  • Como debugar uma Cloud Function que falha silenciosamente?


🧱 Estrutura de Projeto e Boas Práticas

Essas perguntas avaliam sua visão técnica e capacidade de tomar decisões escaláveis.

  • Como você organiza um projeto React Native do zero?

  • Quando usar Context API vs Redux?

  • Como convencer um time a migrar de classes para hooks?

  • Como documentar componentes para reuso em múltiplos projetos?

  • Quais padrões de código você imporia em um time com júnior?

  • Como lidar com código legado em RN sem testes?

  • Como garantir acessibilidade em um app?

  • Como estruturar temas (dark/light mode) em RN?

  • Como evitar prop drilling em um app complexo?

  • Qual sua estratégia para atualizar o React Native anualmente?


⚙️ React, Hooks & Gerenciamento de Estado

Conceitos fundamentais que todo React Dev deve dominar.

  • Como você gerencia estado no React Native?

  • Quando usar useMemo e useCallback?

  • Qual a diferença entre useRef e useState?

  • Como o useReducer pode substituir o Redux em React Native?

  • Como evitar memory leaks com Hooks em React Native?


🌐 Next.js & React.js

Para entrevistas com foco em apps Web com SSR, SEO e performance.

  • Como você otimizaria o LCP (Largest Contentful Paint) em um Next.js para um dashboard?

  • Quando usar getServerSideProps vs getStaticProps em um app de monitoramento em tempo real?

  • Como implementar autenticação JWT em Next.js com rotas protegidas?

  • Como estruturar um monorepo com Next.js e React Native compartilhando componentes?

  • Quais as vantagens do React Server Components no contexto fintech?

  • Como lidar com SEO em um app Next.js de recomendações de vídeos?

  • Como implementar o multi-tenant em Next.js para diferentes cooperativas agrícolas?


🧩 Microfrontends & Arquitetura

Essenciais para quem lida com times grandes, arquitetura escalável e performance distribuída.

  • Como dividir um app em microfrontends?

  • Como compartilhar estado entre microfrontends?

  • Qual sua experiência com Module Federation?

  • Como lidar com conflitos de versões React em microfrontends?

  • Como implementar lazy loading de microfrontends?

  • Como garantir CSS isolado entre microfrontends?


🤝 Comportamentais & Culturais

Essas perguntas revelam como você lida com pessoas, processos e desafios no trabalho.

  • Conte uma vez que você precisou negociar prazos com um cliente.

  • Como você lida com feedback negativo sobre seu código?

  • Como explicaria um conceito técnico para um usuário comum? (Ex: GPS)

  • Qual o seu maior erro técnico e como corrigiu?

  • Como você se mantém atualizado?

  • Como lidaria com um colega que resiste a novas tecnologias?

  • Qual projeto seu você considera mais relevante pra essa vaga?

  • Por que deixar seus freelas para entrar na nossa empresa?

  • Como você prioriza tarefas quando tudo é urgente?

  • O que você espera desta posição em 1 ano?

  • Você tem algum hobbie?

  • Conte-me sua trajetória!


🧠 Flashcards para Revisão Rápida

1. Qual a diferença entre Bridge e JSI no React Native?
👉 Bridge é a comunicação assíncrona entre JS e nativo via fila de mensagens. JSI permite acesso direto a objetos nativos com mais performance e menos overhead. Use JSI para módulos que exigem baixa latência, como sensores em tempo real.

2. Como implementar offline-first com Firestore no React Native?
👉 Ative o enablePersistence() no SDK do Firestore. Combine com uma estratégia de sincronização usando onSnapshot e um buffer local para resolver conflitos com base em timestamps.

3. Quando usar getServerSideProps vs getStaticProps no Next.js?
👉 Use getServerSideProps para dados dinâmicos e sensíveis ao tempo. getStaticProps para conteúdo que muda pouco, com alto cache e performance de CDN.

4. Como você otimizaria uma FlatList com 10k+ de sensores?
👉 Use initialNumToRender, windowSize, removeClippedSubviews, getItemLayout e shouldComponentUpdate personalizados. Além disso, considere paginação ou lazy loading.

5. Como você mede a performance em produção?
👉 Ferramentas como Firebase Performance Monitoring, Sentry + traces customizados, ou integração com Instabug e LogRocket. Trace eventos-chave como carregamento de tela, LCP, e tempo de resposta de APIs.


✅ Conclusão: A Melhor Maneira de Aprender é Tentando Explicar

A ideia por trás dessas perguntas não é decorar respostas, mas refletir sobre as decisões que você tomaria em diferentes cenários reais. Busque responder as perguntas sem ajuda antes de pesquisar. Quando errar, anote o aprendizado.

Essa é a revisão que eu gostaria de ter tido antes de entrar em entrevistas desafiadoras. Agora ela está nas suas mãos. E lembre-se:

"Se você não consegue explicar algo de forma simples, é porque não entendeu bem o suficiente." – Albert Einstein

Boa sorte na sua próxima entrevista! 🚀

0
Subscribe to my newsletter

Read articles from Dheph directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Dheph
Dheph