Seniorix

Guía de entrevista · iOS

Preguntas de entrevista senior de iOS

Una selección de escenarios reales de entrevista técnica de iOS para nivel senior. Cada pregunta incluye el contexto, una respuesta modelo y las claves que busca un entrevistador. Esta es una muestra gratuita del banco completo de Seniorix.

Haz el diagnóstico gratis y descubre tu nivel →

Pregunta de ejemplo (con respuesta)

Una pantalla de tu app iOS no libera memoria al cerrarse: Instruments muestra que los view controllers se acumulan. ¿Cómo diagnosticas y resuelves la fuga?

Contexto

App con closures que capturan self (handlers de red, timers, delegados), Combine con suscripciones y algún delegado declarado como strong. El uso de memoria sube cada vez que el usuario entra y sale de la pantalla.

Respuesta modelo

Es un retain cycle. 1) Confirmar con el Memory Graph Debugger y las plantillas Leaks/Allocations de Instruments qué objeto retiene al view controller. 2) En closures que capturan self, usar [weak self] (o [unowned self] solo si la vida está garantizada) y hacer guard let self. 3) Los delegados deben declararse weak var. 4) En Combine, guardar las suscripciones en un Set<AnyCancellable> propiedad del objeto para que se cancelen al desasignarse; evitar capturar self fuerte en los sink. 5) Invalidar los Timer en deinit o al desaparecer. 6) Verificar añadiendo un print en deinit y confirmando que se llama al cerrar la pantalla.

Claves

Más preguntas de iOS

Tienes código antiguo con callbacks anidados y GCD que provoca condiciones de carrera y actualizaciones de UI fuera del hilo principal. ¿Cómo lo modernizas?

🔒 Ve la respuesta modelo y los tips creando tu cuenta gratis

Tu app SwiftUI tiene vistas que hablan directo con la red y con singletons, y no se pueden testear. ¿Cómo la reestructuras para que sea testeable?

🔒 Ve la respuesta modelo y los tips creando tu cuenta gratis

Practica todas las preguntas de iOS creando tu cuenta gratis →