Entrevista Técnica em Desenvolvimento Mobile: essência, etapas e preparação

Autor: IT Sectr Publicado: 2026-08-05 Tempo de leitura: 9 min

Entrevista Técnica é um processo de avaliação das habilidades do desenvolvedor por meio de uma série de entrevistas e tarefas práticas. No desenvolvimento mobile, inclui a verificação de conhecimento da plataforma (Android SDK, UIKit, SwiftUI), algoritmos e estruturas de dados, padrões arquiteturais (MVVM, Clean Architecture, MVI) e design de sistemas de aplicativos mobile. Grandes empresas realizam de 3 a 5 rodadas, com tempo médio de contratação de 4 a 6 semanas. De acordo com o LinkedIn Talent Report 2025, a demanda por engenheiros iOS e Android cresceu 34% em dois anos.

Principais pontos

  • Entrevista Técnica — avaliação multifástica do desenvolvedor, incluindo triagem, algoritmos, arquitetura e entrevista comportamental
  • Etapas — triagem de RH (30 min), entrevista de algoritmos (60 min), seção de arquitetura (60 min), entrevista final com o tech lead
  • Algoritmos — arrays, grafos, programação dinâmica e árvores são a base das questões em entrevistas FAANG
  • Preparação — LeetCode (300+ questões), design de sistemas para aplicativos mobile e revisão da teoria da plataforma
  • Soft Skills — comunicação, argumentação de soluções e trabalho com feedback influenciam a decisão final

O que é entrevista técnica em TI?

Entrevista técnica é um processo estruturado de avaliação de competências profissionais, incluindo a verificação de hard skills (conhecimento técnico) e soft skills (comunicação, trabalho em equipe). O ciclo padrão de entrevista para um desenvolvedor mobile tem de 3 a 5 rodadas com duração total de 4 a 6 horas. A porcentagem de aprovação em relação ao número de candidaturas iniciais é de 2 a 5% em grandes empresas de tecnologia.

O processo de contratação em desenvolvimento mobile difere do desenvolvimento web: são adicionadas perguntas sobre especificidades da plataforma — ciclo de vida de Activity/Fragment, ARC e gerenciamento de memória em Swift, modelos de threading (Main Thread, Dispatch Queue, Coroutines), requisições de rede e cache de dados. Desenvolvedor Android deve conhecer Jetpack Compose, Room, WorkManager, Dagger/Hilt. Desenvolvedor iOS — SwiftUI, Core Data, Combine, URLSession. A diferença nos requisitos cresce com a experiência: para posições Senior, adiciona-se design de sistemas e arquitetura completa do aplicativo.

A estrutura da entrevista depende do nível. Para posições Junior, conhecimento básico da linguagem e plataforma é suficiente (1-2 rodadas). Desenvolvedor Middle passa por 2-3 rodadas com bloco de algoritmos. Entrevista Senior inclui 4-5 rodadas: algoritmos, arquitetura de aplicativo mobile, design de sistemas, entrevista comportamental e entrevista final com VPE (Vice President of Engineering) ou CTO.

Etapas da entrevista técnica

Triagem de RH — primeira etapa com duração de 20 a 30 minutos. O recrutador verifica a compatibilidade da experiência com os requisitos da vaga, discute condições de trabalho, expectativas salariais e motivação do candidato. É importante formular claramente sua experiência: projetos, stack tecnológico, conquistas em métricas (redução de tempo de carregamento, diminuição de taxa de crash, aceleração de build). A triagem de RH não verifica conhecimento técnico, mas elimina até 40% dos candidatos por incompatibilidade com requisitos formais.

Após a triagem, vem a entrevista de algoritmos — etapa crucial para a maioria das empresas. Duração — 45 a 90 minutos. O candidato recebe 1 a 2 problemas de algoritmos e estruturas de dados. A solução é escrita em um quadro online (Codility, HackerRank, CoderPad) ou em papel. Não apenas a correção, mas também a velocidade de raciocínio, a capacidade de fazer perguntas esclarecedoras e otimizar a solução são avaliadas. Segundo o interviewing.io (2025), 73% dos candidatos são reprovados justamente na etapa de algoritmos.

Entrevista de arquitetura

Rodada de arquitetura avalia a capacidade de projetar aplicativos mobile. O candidato é convidado a projetar um aplicativo (lista de tarefas, mensageiro, agregador de notícias, serviço de streaming). São avaliados a escolha do padrão arquitetural (MVP, MVVM, MVI, VIPER), organização de camadas (Presentation, Domain, Data), trabalho com DI (Dagger, Hilt, Swinject) e navegação. Para Android — conhecimento de Jetpack Navigation, para iOS — padrão Coordinator e SwiftUI NavigationStack.

Na entrevista comportamental, são avaliadas soft skills: capacidade de trabalhar em equipe, resolver conflitos, argumentar decisões. Usa-se o método STAR (Situation, Task, Action, Result) — o candidato descreve uma situação específica da experiência. Exemplo de pergunta: “Conte sobre o bug mais difícil que você encontrou e corrigiu.” Rodada final com o tech lead ou VPE avalia pensamento estratégico e adequação cultural à empresa.

Algoritmos e estruturas de dados na entrevista

Problemas de algoritmos são um componente obrigatório das entrevistas em grandes empresas de tecnologia (Google, Meta, Yandex, Tinkoff, Avito). O objetivo principal é avaliar a capacidade de resolver problemas, não o conhecimento da linguagem. O candidato pode usar qualquer linguagem de programação — preferência para Kotlin no Android e Swift no iOS. Tópicos típicos: arrays, tabelas hash, grafos, programação dinâmica, árvores (Binary Tree, Trie, Segment Tree).

Segundo o LeetCode (2025), para passar com confiança na entrevista de algoritmos, é necessário resolver 250 a 400 problemas. Principais tópicos por frequência: Two Pointers (12%), Sliding Window (10%), DFS/BFS em grafos (14%), Binary Search (8%), Dynamic Programming (18%), Hash Map / Set (15%). Notação Big O é um elemento obrigatório: o candidato deve explicar a complexidade temporal e espacial de sua solução e sugerir otimizações.

Exemplo de problema: Two Sum

kotlin
// LeetCode 1: Two Sum — problema clássico de HashMap
fun twoSum(nums: IntArray, target: Int): IntArray {
    // Armazene complemento = target - nums[i] e seu índice
    val map = mutableMapOf<Int, Int>()

    for (i in nums.indices) {
        val complement = target - nums[i]

        // Se o complemento for encontrado — par encontrado
        if (complement in map) {
            return intArrayOf(map[complement]!!, i)
        }
        map[nums[i]] = i
    }
    throw IllegalArgumentException("No two sum solution")
}

// Tempo: O(n), Espaço: O(n)

O problema Two Sum é o mais popular em entrevistas (segundo o LeetCode, mais de 20 milhões de submissões). A solução O(n) usa HashMap: para cada elemento, verifica se a diferença target - nums[i] já apareceu. Se sim — retorna os índices. Se não — armazena o elemento atual no HashMap. A solução ingêna O(n²) com dois loops aninhados é considerada insuficiente para posições Senior.

Perguntas sobre desenvolvimento mobile

Perguntas de plataforma na entrevista de desenvolvedor mobile se dividem em três blocos: conhecimento fundamental da plataforma, trabalho com UI e multithreading, requisições de rede e armazenamento de dados. Para Android, são obrigatórios: ciclo de vida de Activity e Fragment, diferenças entre Fragment v1 e Fragment v2, ActivityResult API (substituição do onActivityResult), ViewModel + StateFlow, Compose lifecycle. Para iOS: ciclo de vida de UIViewController, ARC (Automatic Reference Counting), DispatchQueue e OperationQueue, SwiftUI lifecycle (View — @State — @Binding — @ObservedObject).

Exemplo de pergunta: ciclo de vida

Pergunta típica: “Quais callbacks do ciclo de vida da Activity são chamados ao girar a tela?” Resposta correta: onPause → onStop → onDestroy → onCreate → onStart → onResume. Pergunta adicional: “Como salvar o estado ao girar?” — via SavedStateHandle no ViewModel, onSaveInstanceState Bundle ou rememberSaveable no Jetpack Compose. Para iOS: “O que acontece com UIViewController ao entrar em background?” — viewWillDisappear → viewDidDisappear → didEnterBackground (AppDelegate).

ComponenteAndroidiOS
Ciclo de vidaActivity: onCreate → onStart → onResume → onPause → onStop → onDestroyUIViewController: viewDidLoad → viewWillAppear → viewDidAppear → viewWillDisappear → viewDidDisappear
Salvamento de estadoSavedStateHandle, onSaveInstanceState, rememberSaveableCodable + UserDefaults, Core Data, @SceneStorage
MultithreadingCoroutines (Dispatchers.Main, IO, Default)GCD (DispatchQueue.main, .global, .background)
Layout de UIJetpack Compose (Modifier, @Composable)SwiftUI (View, @ViewBuilder, Modifier)
NavegaçãoJetpack Navigation Component, Cicerone, DecomposeNavigationStack, Coordinator, Router (RIBs)

Design de sistemas de aplicativo mobile

System Design Interview para desenvolvedor mobile avalia a capacidade de projetar a arquitetura do aplicativo cliente e sua interação com o servidor. Problemas padrão: projetar um feed de notícias (como Instagram/TikTok), chat (como Telegram), player de vídeo (como YouTube), cache de primeiro nível (L1 — in-memory, L2 — disco). Duração — 60 minutos. Avalia-se a estruturação do pensamento, não a quantidade de detalhes.

Template de resposta para System Design: 1) Clarify requirements — esclarecer requisitos funcionais (feed, curtidas, comentários, upload de foto) e não funcionais (offline, velocidade de carregamento, consumo de bateria). 2) High-level design — desenhar diagrama de camadas: UI Layer → ViewModel → Repository → Network / Cache / DB. 3) Deep dive — detalhar componentes principais, por exemplo, mecanismo de paginação (Paging 3 para Android, Offset-based vs Cursor-based para iOS). 4) Trade-offs — discutir compromissos: cache vs frescor dos dados, offline-first vs online-only.

Principais tópicos de System Design para mobile: cache (LRU Cache, Disk Cache com limite), trabalho com imagens (Coil, Glide, SDWebImage — carregamento, cache, placeholder, progresso), otimização de tráfego (protobuf em vez de JSON, compressão, Differ/GraphQL), trabalho offline (Room + Sync Adapter, Core Data + iCloud, WorkManager para sincronização em segundo plano). Offline-first é um dos tópicos mais frequentes para posições Senior.

Para iOS, são adicionadas perguntas sobre App Thinning, Slicing, On-Demand Resources e otimização de build. Para Android — sobre R8/ProGuard, App Bundles (AAB vs APK), Dynamic Delivery e Minification. A pergunta arquitetural “Como implementar cache de imagens com limite de memória?” testa a compreensão de LRU Cache (LinkedHashMap com access order), Disk LRU Cache (DiskLruCache de Jake Wharton) e camada de cache de memória do Coil/Glide.

Estratégia de preparação para entrevista

A preparação para entrevista requer uma abordagem sistemática de 4 a 8 semanas antes da entrevista planejada. Estratégia básica: 2 semanas para revisão de teoria (linguagem, plataforma, algoritmos), 2 a 4 semanas para resolver problemas de algoritmos (100 a 300 problemas no LeetCode), 1 a 2 semanas para entrevistas simuladas (Pramp, interview.io, com amigos). Para posições Senior, adiciona-se preparação de System Design (2 a 3 semanas). O plano proporciona 70 a 80% de aprovação no nível alvo.

Para desenvolvedores mobile, a preparação específica inclui: leitura do Android Developers Guide / iOS Developer Library, análise de código fonte de bibliotecas populares (Retrofit, OkHttp, Coil, Koin, Alamofire, Kingfisher), escrita de um projeto pessoal com Clean Architecture e CI/CD (GitHub Actions, Fastlane). Escreva um aplicativo-exemplo no GitHub com arquitetura modular, DI, testes (Unit + UI + Snapshot) — isso demonstrará compreensão profunda e se tornará um argumento na entrevista.

SemanaO que fazerResultado
1-2Revisão de teoria: linguagem (Kotlin/Swift), plataforma (Android/iOS), algoritmos (Big O, estruturas principais)Resumo dos tópicos principais
3-4LeetCode: 100-150 problemas, tópicos: Arrays, Hash Maps, Trees, DFS/BFS, DPSolução confiante de problemas Medium
5-6System Design: leitura de “Designing Data-Intensive Applications”, prática de 5-7 designsTemplate de resposta pronto para System Design
7-8Entrevistas simuladas (5-10 entrevistas), revisão de perguntas de plataforma, perguntas comportamentaisPreparação completa para entrevista real

Erros típicos dos candidatos

Erro 1: resolver em silêncio. O candidato escreve código em silêncio, sem comentar o raciocínio. O entrevistador não consegue avaliar o processo de solução. Correto: verbalizar cada passo — “Vejo que o problema se resume a uma busca em grafo. Sugiro usar BFS porque precisamos encontrar o caminho mais curto.” Essa comunicação dá ao entrevistador a oportunidade de direcionar o candidato em caso de erro, o que é avaliado positivamente.

Erro 2: escrever código imediatamente. Começar a codificar sem esclarecer requisitos e discutir abordagens é uma das principais causas de reprovação. Antes de escrever código: esclarecer dados de entrada/saída, discutir casos de borda, comparar 2-3 abordagens com avaliação de Big O e, só após acordo com o entrevistador, escrever a solução ótima. Padrão correto: Clarify → High-level approach → Big O → Write code → Test with examples → Discuss trade-offs.

Erro 3: desconhecimento da plataforma. O candidato resolve bem algoritmos, mas não consegue explicar a diferença entre Activity e Fragment ou entre weak/unowned em Swift. Para vagas mobile, o conhecimento da plataforma é avaliado tanto quanto os algoritmos. Estude: diferenças de versões do SDK (compileSdk vs minSdk vs targetSdk), regras ProGuard/R8 para bibliotecas populares, Swift Concurrency (async/await, actors) e MainActor. Um em cada três candidatos a vaga iOS é reprovado em perguntas sobre ARC.

Perguntas frequentes

Quantas rodadas tem uma entrevista técnica?

O número padrão de rodadas é de 3 a 5: triagem de RH (30 minutos), algoritmos (60 minutos), arquitetura/design de sistemas (60 minutos), entrevista comportamental (45 minutos), rodada final com tech lead (60 minutos). Em startups, podem ser 2-3 rodadas; em grandes empresas (Google, Meta), até 6 rodadas. Duração total do ciclo de entrevistas — de 2 a 6 semanas, dependendo da empresa.

Quais algoritmos são necessários para entrevista?

Top 5 tópicos para entrevista de algoritmos: programação dinâmica (18% dos problemas), DFS/BFS em grafos (14%), Two Pointers (12%), Sliding Window (10%), Binary Search (8%). Para passar em entrevistas FAANG, recomenda-se resolver 250-400 problemas no LeetCode. Nível Medium é o mínimo obrigatório. Para posições Senior, são adicionados problemas de árvores e filas de prioridade.

Como se preparar para entrevista em um mês?

Plano de um mês: semana 1 — revisão da linguagem e plataforma (Kotlin/Swift, bibliotecas principais, ciclos de vida). Semana 2 — LeetCode Medium (100 problemas, tópicos: Arrays, Hash Maps, Trees). Semana 3 — System Design para mobile (cache, paginação, offline-first). Semana 4 — entrevistas simuladas (mínimo 3 no Pramp ou com um colega). Dica chave: faça entrevistas simuladas em condições próximas às reais — prazo, entrevistador desconhecido, quadro online.

Qual a diferença entre entrevista Junior e Senior?

Junior: 1-2 rodadas, algoritmos básicos (reverse string, fizzbuzz, percurso básico de árvore), perguntas sobre linguagem e fundamentos da plataforma. Middle: 2-3 rodadas, algoritmos Medium, perguntas sobre arquitetura (MVP/MVVM), trabalho com rede e cache. Senior: 4-5 rodadas, algoritmos Hard, System Design, arquitetura completa do aplicativo, CI/CD, code review, perguntas comportamentais sobre liderança e mentoria. Espera-se que o Senior faça perguntas e lidere a discussão.

O que perguntam na entrevista comportamental?

Exemplos de perguntas: “Conte sobre um conflito na equipe e como você o resolveu,” “Qual foi a feature mais difícil e por quê,” “Por que você quer trabalhar conosco,” “O que você fez para melhorar processos na equipe.” Use o método STAR (Situation, Task, Action, Result) para respostas estruturadas. Prepare 3-4 histórias da experiência com antecedência — isso cobre 80% das perguntas comportamentais.

Resumo

  • Entrevista Técnica — avaliação multifástica com 3-5 rodadas: triagem de RH, algoritmos, arquitetura, entrevista comportamental e rodada final com o lead
  • Algoritmos — etapa chave: 250-400 problemas no LeetCode (DP, Graphs, Arrays, Two Pointers) para aprovação confiante
  • Conhecimento da plataforma — Android (Activity Lifecycle, Jetpack Compose, Coroutines, DI) e iOS (ARC, SwiftUI, Combine, GCD) são avaliados tanto quanto algoritmos
  • System Design — obrigatório para Senior: cache, offline-first, paginação, otimização de tráfego e trabalho com imagens
  • Preparação — 4-8 semanas: teoria (2 sem), algoritmos (2-4 sem), System Design (1-2 sem), entrevistas simuladas (1 sem)
  • Comunicação — verbalize a solução em voz alta, faça perguntas esclarecedoras, discuta trade-offs e não comece a codificar imediatamente

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também