P
prepair.app
Comenzar entrevista →
EnglishУкраїнськаРусскийDeutsch
🍏

Junior iOS (Swift)Preguntas de entrevista iOS developer

Junior · sin experiencia / menos de 1 año

Las entrevistas de iOS testean el sistema de tipos de Swift, cómo ARC maneja la memoria, y si puedes razonar sobre el estado de la UI — más al menos una pregunta donde un retain cycle se esconde a plena vista. Aquí están las preguntas hechas más a menudo, cada una con una respuesta modelo. Junior: teoría básica, definiciones y casos prácticos simples.

Pruébalo — sin cuenta necesaria
Preparando tu pregunta…

Temas para prepararte

Lenguaje Swift y optionals
ARC y gestión de memoria
SwiftUI y UIKit
Concurrencia: async/await, Combine, GCD
Arquitectura y estado
Persistencia y networking

7 preguntas de nivel Junior con respuestas

1

¿Cuál es la diferencia entre un struct y una class en Swift?

Respuesta

Un struct es un tipo de valor — asignarlo copia. Una class es un tipo de referencia — asignarla comparte. La biblioteca estándar de Swift está construida sobre structs, y la guía es empezar con uno y recurrir a una class cuando necesitas identidad, herencia o deinit.

2

¿Qué es un optional, y qué te cuesta el force unwrapping?

Respuesta

Un optional es un tipo que puede tener un valor o nil, y el compilador te hace lidiar con ambos. Force unwrapping con ! dice que estás seguro — y crashea la app si te equivocas. if let, guard let y ?? expresan la misma intención sin apostar el proceso a ello.

3

¿Cuál es la diferencia entre `weak` y `unowned`?

Respuesta

Ambos evitan una referencia fuerte, así ninguno mantiene vivo al objeto. weak se vuelve nil cuando el objeto desaparece y por eso debe ser opcional; unowned no, y leerlo después de que el objeto se fue crashea. Usa weak cuando el otro objeto puede legítimamente desaparecer primero, unowned solo cuando no puede.

4

¿Qué es un retain cycle y dónde suelen aparecer?

Respuesta

Dos objetos con referencias fuertes entre sí, así ninguno llega a cero y ninguno se libera. En la práctica aparecen en closures que capturan self — un completion handler guardado en el objeto al que pertenece. [weak self] en la lista de captura es el arreglo estándar.

5

¿Cuál es la diferencia entre `frame` y `bounds`?

Respuesta

frame es el rectángulo de la vista en el sistema de coordenadas de su superview; bounds es el propio, con el origen usualmente en cero. Rota o transforma una vista y frame se convierte en el rectángulo envolvente mientras bounds se mantiene igual. Dibujar usa bounds, posicionar usa frame.

6

¿Cuál es el ciclo de vida del view controller?

Respuesta

viewDidLoad una vez cuando se crea la vista, luego viewWillAppear y viewDidAppear en cada presentación, con el par Disappear al salir. El setup de una sola vez va en viewDidLoad; cualquier cosa que deba refrescarse cada vez que se muestra la pantalla va en viewWillAppear. Poner una llamada de red en viewDidLoad es por qué una pantalla muestra datos obsoletos en la segunda visita.

7

¿Qué es ARC y qué no maneja?

Respuesta

Automatic Reference Counting inserta retain y release en tiempo de compilación, liberando un objeto cuando su conteo llega a cero — determinístico, a diferencia de un garbage collector. Lo que no maneja es un ciclo: dos objetos refiriéndose entre sí nunca llegan a cero, que es exactamente por qué existen weak y unowned.

🦎

Leer respuestas no es suficiente

En una entrevista real hablas bajo presión. Cam hace estas mismas preguntas, evalúa cada respuesta y muestra exactamente qué mejorar.

Practicar entrevista de Junior iOS (Swift) →
Gratis · 3 entrevistas al mes

Otros niveles — iOS (Swift)

Middle iOS (Swift)Senior iOS (Swift)Todas las preguntas de iOS (Swift)

Otras especializaciones

🔍Junior Manual QA🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🔷Junior C++🟨Junior JavaScript