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

Junior iOS (Swift)IOS-Interviewfragen

Junior · keine Erfahrung / unter 1 Jahr

iOS-Interviews testen dein Verständnis vom Swift-Typsystem, von ARC und Speicherverwaltung sowie deine Fähigkeit, über UI-Zustand nachzudenken – und garantiert taucht mindestens eine Frage auf, bei der sich ein Retain-Cycle offen vor dir versteckt. Es folgen die am häufigsten gestellten Fragen, jede mit einer Musterantwort. Junior: Grundlagentheorie, Definitionen und einfache Praxisfälle.

Probier es aus — kein Konto nötig
Deine Frage wird vorbereitet…

Themen zur Vorbereitung

Swift und Optionals
ARC und Speicherverwaltung
SwiftUI und UIKit
Concurrency: async/await, Combine, GCD
Architektur und State
Persistenz und Networking

7 Fragen auf Junior-Niveau mit Antworten

1

Was ist der Unterschied zwischen struct und class in Swift?

Antwort

Ein struct ist ein Werttyp – Zuweisung kopiert. Eine class ist ein Referenztyp – Zuweisung teilt. Swifts Standardbibliothek basiert auf Structs, und die Empfehlung lautet, mit einem struct zu beginnen und erst zur class zu greifen, wenn du Identität, Vererbung oder deinit brauchst.

2

Was ist ein Optional, und was kostet dich Force Unwrapping?

Antwort

Ein Optional ist ein Typ, der einen Wert oder nil enthalten kann, und der Compiler zwingt dich, beide Fälle zu behandeln. Force Unwrapping mit ! sagt: du bist dir sicher – und lässt die App abstürzen, wenn du es nicht bist. if let, guard let und ?? drücken dieselbe Absicht aus, ohne den Prozess zu verwetten.

3

Was ist der Unterschied zwischen `weak` und `unowned`?

Antwort

Beide vermeiden eine starke Referenz, halten das Objekt also nicht am Leben. weak wird zu nil, wenn das Objekt verschwindet, und muss deshalb optional sein; unowned wird das nicht, und der Zugriff nach dem Verschwinden des Objekts lässt die App abstürzen. Nutze weak, wenn das andere Objekt legitim zuerst verschwinden kann, unowned nur, wenn das ausgeschlossen ist.

4

Was ist ein Retain-Cycle, und wo tauchen sie meist auf?

Antwort

Zwei Objekte halten starke Referenzen aufeinander, sodass keiner der Zähler null erreicht und keines freigegeben wird. In der Praxis tauchen sie in Closures auf, die self einfangen – ein Completion Handler, der auf dem Objekt gespeichert ist, zu dem er gehört. [weak self] in der Capture List ist der Standardfix.

5

Was ist der Unterschied zwischen `frame` und `bounds`?

Antwort

frame ist das Rechteck der View im Koordinatensystem ihres Superviews; bounds ist ihr eigenes, mit dem Ursprung meist bei null. Rotierst oder transformierst du eine View, wird frame zum umschließenden Rechteck, während bounds gleich bleibt. Zeichnen nutzt bounds, Positionierung nutzt frame.

6

Wie sieht der View-Controller-Lifecycle aus?

Antwort

viewDidLoad läuft einmal, wenn die View erstellt wird, dann viewWillAppear und viewDidAppear bei jeder Präsentation, mit dem Disappear-Pendant beim Verlassen. Einmaliges Setup gehört in viewDidLoad; alles, was sich bei jedem Anzeigen aktualisieren muss, gehört in viewWillAppear. Ein Netzwerkaufruf in viewDidLoad ist der Grund, warum ein Screen beim zweiten Besuch veraltete Daten zeigt.

7

Was ist ARC, und was kann es nicht lösen?

Antwort

Automatic Reference Counting fügt zur Kompilierzeit retain und release ein und gibt ein Objekt frei, sobald sein Zähler null erreicht – deterministisch, anders als ein Garbage Collector. Was es nicht löst, ist ein Zyklus: Zwei Objekte, die aufeinander verweisen, erreichen nie null – genau deshalb gibt es weak und unowned.

🦎

Antworten lesen reicht nicht

Im echten Interview sprichst du unter Druck. Cam stellt genau diese Fragen, bewertet jede Antwort und zeigt dir genau, was du verbessern musst.

Junior iOS (Swift)-Interview üben →
Kostenlos · 3 Interviews im Monat

Weitere Level — iOS (Swift)

Middle iOS (Swift)Senior iOS (Swift)Alle iOS (Swift)-Fragen

Weitere Spezialisierungen

🔍Junior QA Manual🤖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