Entrevista Técnica en Desarrollo Móvil: Proceso, Etapas y Preparación

Autor: IT Sectr Publicado: 2026-08-05 Tiempo de lectura: 9 min

Entrevista Técnica (entrevista de codificación) es un proceso de evaluación de las habilidades de un desarrollador a través de una serie de entrevistas y tareas prácticas. En el desarrollo móvil, incluye la evaluación de conocimientos de la plataforma (Android SDK, UIKit, SwiftUI), algoritmos y estructuras de datos, patrones arquitectónicos (MVVM, Clean Architecture, MVI) y diseño de sistemas de aplicaciones móviles. Las grandes empresas realizan de 3 a 5 rondas, con un tiempo medio de contratación de 4 a 6 semanas. Según el LinkedIn Talent Report 2025, la demanda de ingenieros iOS y Android ha crecido un 34% en dos años.

Puntos Clave

  • Entrevista Técnica — evaluación de varias etapas que incluye selección, algoritmos, arquitectura y entrevista conductual
  • Etapas — selección de RRHH (30 min), entrevista algorítmica (60 min), sección de arquitectura (60 min), entrevista final con el líder de equipo
  • Algoritmos — arrays, grafos, programación dinámica y árboles son la base de las tareas en entrevistas FAANG
  • Preparación — LeetCode (300+ problemas), diseño de sistemas para apps móviles y repaso de teoría de la plataforma
  • Habilidades Blandas — comunicación, argumentación de soluciones y manejo de retroalimentación influyen en la decisión final

¿Qué es una Entrevista Técnica en TI?

Entrevista Técnica (entrevista de codificación) es un proceso estructurado de evaluación de las competencias profesionales de un desarrollador, que incluye habilidades técnicas (hard skills) y habilidades blandas (soft skills) como comunicación y trabajo en equipo. Un ciclo estándar de entrevista para desarrollador móvil consta de 3 a 5 rondas con una duración total de 4 a 6 horas. La tasa de éxito desde las solicitudes iniciales es del 2 al 5% en las grandes empresas tecnológicas.

El proceso de contratación en el desarrollo móvil difiere del desarrollo web: se añaden preguntas específicas de la plataforma — ciclo de vida de Activity/Fragment, ARC y gestión de memoria en Swift, modelos de subprocesos (Main Thread, Dispatch Queue, Coroutines), trabajo con solicitudes de red y almacenamiento en caché. Un desarrollador Android debe conocer Jetpack Compose, Room, WorkManager, Dagger/Hilt. Un desarrollador iOS debe conocer SwiftUI, Core Data, Combine, URLSession. La diferencia en los requisitos crece con la experiencia: para puestos Senior se añade diseño de sistemas y arquitectura general de la aplicación.

La estructura de la entrevista depende del nivel. Para puestos Junior, el conocimiento básico del lenguaje y la plataforma es suficiente (1-2 rondas). Un desarrollador Middle pasa por 2-3 rondas con un bloque de algoritmos. Entrevista Senior incluye 4-5 rondas: algoritmos, arquitectura de apps móviles, diseño de sistemas, entrevista conductual y una entrevista final con el VPE (Vicepresidente de Ingeniería) o el CTO.

Etapas de una Entrevista Técnica

Selección de RRHH es la primera etapa que dura 20-30 minutos. El reclutador verifica si la experiencia coincide con los requisitos del puesto, discute las condiciones laborales, las expectativas salariales y la motivación del candidato. En esta etapa es importante articular claramente tu experiencia: proyectos, stack tecnológico, logros en métricas (reducción del tiempo de carga, disminución de la tasa de fallos, aceleración de compilaciones). La selección de RRHH no evalúa conocimientos técnicos pero filtra hasta el 40% de los candidatos que no cumplen los requisitos formales.

Después de la selección viene la entrevista algorítmica — una etapa clave para la mayoría de las empresas. Duración: 45-90 minutos. Al candidato se le dan 1-2 problemas de algoritmos y estructuras de datos. La solución se escribe en un tablero en línea (Codility, HackerRank, CoderPad) o en papel. Se evalúa no solo la corrección, sino también la velocidad de pensamiento, la capacidad de hacer preguntas aclaratorias y optimizar la solución. Según interviewing.io (2025), el 73% de los candidatos fracasan precisamente en la etapa algorítmica.

Entrevista de Arquitectura

La Ronda de Arquitectura evalúa la capacidad de diseñar aplicaciones móviles. Se le pide al candidato que diseñe una aplicación (lista de tareas, mensajería, agregador de noticias, servicio de streaming). La evaluación cubre la elección del patrón arquitectónico (MVP, MVVM, MVI, VIPER), la organización de capas (Presentation, Domain, Data), la implementación de DI (Dagger, Hilt, Swinject) y la navegación. Para Android — conocimiento de Jetpack Navigation, para iOS — patrón Coordinator y SwiftUI NavigationStack.

En la entrevista conductual se evalúan las habilidades blandas: capacidad de trabajar en equipo, resolver conflictos y argumentar decisiones. Se utiliza el método STAR (Situation, Task, Action, Result) — el candidato describe una situación específica de su experiencia. Pregunta de ejemplo: “Cuéntenos sobre el error más complejo que encontró y solucionó.” La ronda final con el líder de equipo o VPE evalúa el pensamiento estratégico y la adecuación cultural a la empresa.

Algoritmos y Estructuras de Datos en la Entrevista

Problemas algorítmicos son un componente obligatorio de las entrevistas en grandes empresas tecnológicas (Google, Meta, Yandex, Tinkoff, Avito). El objetivo principal es evaluar la capacidad de resolver problemas, no el conocimiento del lenguaje. El candidato puede usar cualquier lenguaje de programación — se da preferencia a Kotlin para Android y Swift para iOS. Temas típicos: arrays, tablas hash, grafos, programación dinámica, árboles (Árbol Binario, Trie, Árbol de Segmentos).

Según LeetCode (2025), resolver 250-400 problemas es necesario para pasar con confianza una entrevista algorítmica. Temas clave por frecuencia: Two Pointers (12%), Sliding Window (10%), DFS/BFS en grafos (14%), Binary Search (8%), Programación Dinámica (18%), Hash Map / Set (15%). La notación Big O es un elemento obligatorio: el candidato debe explicar la complejidad temporal y espacial de su solución y proponer optimizaciones.

Problema de Ejemplo: Two Sum

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

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

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

// Tiempo: O(n), Espacio: O(n)

El problema Two Sum es el problema más popular en entrevistas (según LeetCode, más de 20 millones de envíos). La solución O(n) usa un HashMap: para cada elemento, comprobamos si el complemento target - nums[i] ya se ha encontrado. Si es así — devolvemos los índices. Si no — guardamos el elemento actual en el HashMap. La solución ingenua O(n²) con dos bucles anidados se considera insuficiente para puestos Senior.

Preguntas de Desarrollo Móvil

Preguntas de plataforma en una entrevista de desarrollador móvil se dividen en tres bloques: conocimientos fundamentales de la plataforma, IU y subprocesos múltiples, solicitudes de red y almacenamiento de datos. Para Android, temas obligatorios: ciclo de vida de Activity y Fragment, diferencias entre Fragment v1 y Fragment v2, API ActivityResult (reemplazo de onActivityResult), ViewModel + StateFlow, ciclo de vida de Compose. Para iOS: ciclo de vida de UIViewController, ARC (Automatic Reference Counting), DispatchQueue y OperationQueue, ciclo de vida de SwiftUI (View — @State — @Binding — @ObservedObject).

Pregunta de Ejemplo: Ciclo de Vida

Pregunta típica: “¿Qué callbacks del ciclo de vida de Activity se llaman durante la rotación de pantalla?” Respuesta correcta: onPause → onStop → onDestroy → onCreate → onStart → onResume. Pregunta adicional: “¿Cómo preservar el estado durante la rotación?” — a través de SavedStateHandle en ViewModel, onSaveInstanceState Bundle o rememberSaveable en Jetpack Compose. Para iOS: “¿Qué sucede con UIViewController cuando la aplicación pasa a segundo plano?” — viewWillDisappear → viewDidDisappear → didEnterBackground (AppDelegate).

ComponenteAndroidiOS
Ciclo de VidaActivity: onCreate → onStart → onResume → onPause → onStop → onDestroyUIViewController: viewDidLoad → viewWillAppear → viewDidAppear → viewWillDisappear → viewDidDisappear
Preservación de EstadoSavedStateHandle, onSaveInstanceState, rememberSaveableCodable + UserDefaults, Core Data, @SceneStorage
Subprocesos MúltiplesCoroutines (Dispatchers.Main, IO, Default)GCD (DispatchQueue.main, .global, .background)
Maquetación de IUJetpack Compose (Modifier, @Composable)SwiftUI (View, @ViewBuilder, Modifier)
NavegaciónJetpack Navigation Component, Cicerone, DecomposeNavigationStack, Coordinator, Router (RIBs)

Diseño de Sistemas de una App Móvil

Entrevista de Diseño de Sistemas para un desarrollador móvil evalúa la capacidad de diseñar la arquitectura de una aplicación cliente y su interacción con el servidor. Tareas estándar: diseñar un feed de noticias (como Instagram/TikTok), un chat (como Telegram), un reproductor de vídeo (como YouTube), un caché de primer nivel (L1 — en memoria, L2 — disco). Duración: 60 minutos. Se evalúa el pensamiento estructurado, no la cantidad de detalles.

Plantilla de respuesta de Diseño de Sistemas: 1) Clarificar requisitos — especificar funcionales (feed, likes, comentarios, carga de fotos) y no funcionales (offline, velocidad de carga, consumo de batería). 2) Diseño de alto nivel — dibujar un diagrama de capas: Capa de IU → ViewModel → Repositorio → Red / Caché / BD. 3) Profundización — detallar componentes clave, por ejemplo, el mecanismo de paginación (Paging 3 para Android, Offset-based vs Cursor-based para iOS). 4) Compensaciones — discutir compromisos: caché vs frescura de datos, offline-first vs solo en línea.

Temas clave de Diseño de Sistemas para móvil: almacenamiento en caché (LRU Cache, Disk Cache con límite), manejo de imágenes (Coil, Glide, SDWebImage — carga, caché, placeholder, progreso), optimización de tráfico (protobuf en lugar de JSON, compresión, Differ/GraphQL), trabajo offline (Room + Sync Adapter, Core Data + iCloud, WorkManager para sincronización en segundo plano). Offline-first es uno de los temas más comunes para puestos Senior.

Para iOS se añaden preguntas sobre App Thinning, Slicing, On-Demand Resources y optimización de compilación. Para Android — sobre R8/ProGuard, App Bundles (AAB vs APK), Dynamic Delivery y Minificación. La pregunta arquitectónica “¿Cómo implementar un caché de imágenes con límites de memoria?” evalúa la comprensión de LRU Cache (LinkedHashMap con orden de acceso), Disk LRU Cache (DiskLruCache de Jake Wharton) y la capa de caché de memoria de Coil/Glide.

Estrategia de Preparación para la Entrevista

La preparación para la entrevista requiere un enfoque sistemático de 4 a 8 semanas antes de la entrevista prevista. Estrategia básica: 2 semanas para repasar teoría (lenguaje, plataforma, algoritmos), 2-4 semanas para resolver problemas algorítmicos (100-300 problemas en LeetCode), 1-2 semanas para entrevistas simuladas (Pramp, interviewing.io, con amigos). Para puestos Senior se añade la preparación de Diseño de Sistemas (2-3 semanas). El plan proporciona una tasa de éxito del 70-80% para el nivel objetivo.

Para desarrolladores móviles, la preparación específica incluye: leer la Guía para Desarrolladores Android / Biblioteca de Desarrolladores iOS, analizar el código fuente de bibliotecas populares (Retrofit, OkHttp, Coil, Koin, Alamofire, Kingfisher), construir un proyecto personal con Clean Architecture y CI/CD (GitHub Actions, Fastlane). Cree una aplicación de ejemplo en GitHub con arquitectura modular, DI, pruebas (Unit + UI + Snapshot) — esto demostrará un profundo entendimiento y servirá como argumento en la entrevista.

SemanaActividadesResultado
1-2Repaso de teoría: lenguaje (Kotlin/Swift), plataforma (Android/iOS), algoritmos (big O, estructuras básicas)Resumen de temas clave
3-4LeetCode: 100-150 problemas, temas: Arrays, Hash Maps, Trees, DFS/BFS, DPResolución segura de problemas Medium
5-6Diseño de Sistemas: lectura de “Designing Data-Intensive Applications”, práctica de 5-7 diseñosPlantilla de respuesta de Diseño de Sistemas lista
7-8Entrevistas simuladas (5-10 entrevistas), repaso de preguntas de plataforma, preguntas conductualesPreparación completa para la entrevista real

Errores Típicos de los Candidatos

Error 1: resolución en silencio. El candidato escribe código en silencio sin comentar su proceso de pensamiento. El entrevistador no puede evaluar el enfoque de resolución. Enfoque correcto: verbalizar cada paso — “Veo que el problema se reduce a buscar en un grafo. Sugiero usar BFS porque necesitamos encontrar el camino más corto.” Esta comunicación permite al entrevistador guiar al candidato si comete un error, lo que se evalúa positivamente.

Error 2: escribir código inmediatamente. Comenzar a codificar sin aclarar requisitos y discutir enfoques es una de las principales causas de fracaso. Antes de escribir código, debes: aclarar datos de entrada/salida, discutir casos extremos, comparar 2-3 enfoques con estimación Big O, y solo después de acordar con el entrevistador, escribir la solución óptima. Patrón correcto: Clarificar → Enfoque de alto nivel → Big O → Escribir código → Probar con ejemplos → Discutir compensaciones.

Error 3: falta de conocimiento de la plataforma. El candidato resuelve algoritmos excelentemente pero no puede explicar la diferencia entre Activity y Fragment o entre weak/unowned en Swift. Para puestos móviles, el conocimiento de la plataforma se evalúa a la par que los algoritmos. Estudie: diferencias de versiones de SDK (compileSdk vs minSdk vs targetSdk), reglas ProGuard/R8 para bibliotecas populares, Swift Concurrency (async/await, actors) y MainActor. Uno de cada tres candidatos a un puesto iOS fracasa en preguntas sobre ARC.

Preguntas Frecuentes

¿Cuántas rondas tiene una entrevista técnica?

El número estándar de rondas es de 3 a 5: selección de RRHH (30 minutos), algoritmos (60 minutos), arquitectura/diseño de sistemas (60 minutos), entrevista conductual (45 minutos), ronda final con el líder de equipo (60 minutos). Las startups pueden tener 2-3 rondas, las grandes empresas (Google, Meta) — hasta 6 rondas. Duración total del ciclo de entrevistas es de 2 a 6 semanas según la empresa.

¿Qué algoritmos hay que saber para una entrevista?

Top 5 temas para entrevistas algorítmicas: programación dinámica (18% de problemas), DFS/BFS en grafos (14%), Two Pointers (12%), Sliding Window (10%), Binary Search (8%). Para aprobar una entrevista FAANG se recomienda resolver 250-400 problemas en LeetCode. El nivel Medium es el mínimo obligatorio. Para puestos Senior se añaden problemas de árboles y colas de prioridad.

¿Cómo prepararse para una entrevista en un mes?

Plan de un mes: semana 1 — repasar lenguaje y plataforma (Kotlin/Swift, bibliotecas principales, ciclos de vida). Semana 2 — LeetCode Medium (100 problemas, temas: Arrays, Hash Maps, Trees). Semana 3 — Diseño de Sistemas para móvil (caché, paginación, offline-first). Semana 4 — entrevistas simuladas (al menos 3 en Pramp o con un colega). Consejo clave: practique entrevistas simuladas en condiciones cercanas a las reales — plazo límite, entrevistador desconocido, pizarra en línea.

¿En qué se diferencia la entrevista Junior de la Senior?

Junior: 1-2 rondas, algoritmos básicos (reverse string, fizzbuzz, recorrido básico de árboles), preguntas sobre el lenguaje y fundamentos de la plataforma. Middle: 2-3 rondas, algoritmos Medium, preguntas sobre arquitectura (MVP/MVVM), redes y caché. Senior: 4-5 rondas, algoritmos Hard, Diseño de Sistemas, arquitectura general de la aplicación, CI/CD, revisión de código, preguntas conductuales sobre liderazgo y mentoría. Se espera que los Senior hagan preguntas y lideren la discusión.

¿Qué preguntan en la entrevista conductual?

Ejemplos de preguntas: “Cuéntenos sobre un conflicto en el equipo y cómo lo resolvió,” “¿Cuál fue la funcionalidad más difícil y por qué,” “¿Por qué quiere trabajar con nosotros?” “¿Qué hizo para mejorar los procesos del equipo?” Use el método STAR (Situation, Task, Action, Result) para una respuesta estructurada. Prepare 3-4 historias de su experiencia con anticipación — esto cubre el 80% de las preguntas conductuales.

Resumen

  • Entrevista Técnica — evaluación de múltiples etapas con 3-5 rondas: selección de RRHH, algoritmos, arquitectura, entrevista conductual y ronda final con el líder
  • Algoritmos — etapa clave: 250-400 problemas en LeetCode (DP, Grafos, Arrays, Two Pointers) para aprobar con confianza
  • Conocimiento de Plataforma — Android (Activity Lifecycle, Jetpack Compose, Coroutines, DI) e iOS (ARC, SwiftUI, Combine, GCD) se evalúan junto con algoritmos
  • Diseño de Sistemas — obligatorio para Senior: caché, offline-first, paginación, optimización de tráfico y manejo de imágenes
  • Preparación — 4-8 semanas: teoría (2 sem), algoritmos (2-4 sem), Diseño de Sistemas (1-2 sem), entrevistas simuladas (1 sem)
  • Comunicación — verbalice su proceso de pensamiento, haga preguntas aclaratorias, discuta compensaciones y no empiece a codificar inmediatamente

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también