Knacken des iOS-Interviews

Apr 02 2023
iOS ist eine kleine Nische in der Softwareentwicklung, und der Wissensumfang, den Sie abdecken müssen, ist über die Jahre ziemlich stabil. Die Vorbereitung auf ein iOS-Interview unterscheidet sich nicht wesentlich von einem Frontend-Interview.
Foto von JESHOOTS.COM auf Unsplash

iOS ist eine kleine Nische in der Softwareentwicklung, und der Wissensumfang, den Sie abdecken müssen, ist über die Jahre ziemlich stabil.

Die Vorbereitung auf ein iOS-Interview unterscheidet sich nicht wesentlich von einem Frontend-Interview . Kundenseitige Entwicklung ist eine Fähigkeit, mit der wir leicht angeben können. Daraus folgt, dass Unternehmen häufig ein Portfolio von Projekten erwarten, an denen Sie gearbeitet haben.

Der Wettbewerb bei renommierten Unternehmen ist hart, mit Tausenden von Bewerbungen von Top-Ingenieuren aus der ganzen Welt. Unabhängig von Ihrem technischen Niveau und Ihrer Bewerbungsposition, hier sind 5 Faktoren, die einen großen Einfluss auf Ihre Art der Jobsuche haben werden:

  1. Technische Kompetenz – Problemlösung, iOS-Entwicklung.
  2. Jahrelange Erfahrung – Je mehr desto besser, 3 bis 5 werden bevorzugt.
  3. Persönliche Projekte – Apps aus dem App Store, Open-Source-Repositorys.
  4. Ehemalige Arbeitgeber – Je angesehener, desto besser.
  5. Interviewfähigkeiten – laut denken, Geschichten erzählen, Fragen stellen.
  1. Telefoninterview mit Personalchef (0–1)
  2. Telefoninterview mit Teammitgliedern (1–3)
  3. Aufgabe zum Mitnehmen (0–1)
  4. Vorstellungsgespräch vor Ort (1)
  5. Angebotsverhandlung (0-n)

Technische Kompetenz

Ob Sie Datenstrukturen und Algorithmen lieben oder hassen, Sie müssen sich viel Zeit zum Üben nehmen. Die Mehrheit der Unternehmen nutzt es und es wird sich in absehbarer Zeit nicht ändern.

iOS ist eine kleine Nische in der Softwareentwicklung, und der Wissensumfang, den Sie abdecken müssen, ist über die Jahre ziemlich stabil. Im Jahr 2022 wird von Ihnen erwartet, dass Sie über angemessene Kenntnisse zu folgenden Themen verfügen:

Grundwissen

  • Swift (Protokolle, Generika)
  • Muster (MVC, MVVM, VIPER)
  • Pakete (SwiftPM, CocoaPods, Karthago)
  • Parallelität (GCD, Async/Await, Tasks, Actors)
  • Reaktive Programmierung (Combine, RxSwift)
  • Speicher (App, Szene, CoreData, Realm)
  • Netzwerk (URLSession, Alamofire)
  • Tools (Xcode, TestFlight, AppStore)
  • Richtlinien (API, Schnittstelle, In-App-Kauf)
  • Foundation, SwiftUI, UIKit
  • XCTests, Combine, CoreData
  • CloudKit, StoreKit, PhotoKit
  • CoreGraphics, CoreAnimation
  • Alamofire – Elegantes HTTP-Networking
  • Kingfisher – Bilder herunterladen und zwischenspeichern
  • SnapKit – Autolayout-DSL für iOS und OS X
  • RxSwift – Reaktive Programmierung
  • Realm — Mobile Datenbank
  • Lottie – After Effects-Vektoranimationen
  • SkeletonView – Lust auf Ladeansichten
  • Hero — Eleganter Übergang

Auftrag zum Mitnehmen

Sie sollten Zeit damit verbringen, an Ihrer eigenen App zu arbeiten, um sie in den App Store zu stellen. Es muss nicht superschick sein: einfach etwas, das funktioniert und genug hat, um zu zeigen, dass Sie sich mit iOS auskennen. Eine gute App, und Sie werden nie wieder diese Art von Mistherausforderungen bekommen.

Einige der häufigsten Beispiele für zu erledigende Aufgaben sind:

  • Rufen Sie etwas JSON ab und zeigen Sie die Ergebnisse an.
  • Fügen Sie einer vorhandenen Codebasis ein neues Feature hinzu.
  • Finden Sie einen Fehler in einem bestehenden Projekt.
  • Implementieren Sie eine bestimmte Kernfunktion des Unternehmens.

Stellen Sie für den Erfolg Ihres Take-Home-Projekts Folgendes sicher:

  • Muss einfach auszuführen, zu erstellen und zu profilieren sein.
  • Muss gut getestet und entsprechend dokumentiert sein.
  • Muss einem klaren Entwurfsmuster folgen (MVC, MVVM).
  • Vermeiden Sie um jeden Preis die Verwendung von Bibliotheken von Drittanbietern.
  • Die Codebasis muss sauber sein, keine Fehler, keine Warnungen.
  • Überschreiten Sie niemals das vom Interviewer festgelegte Zeitlimit.

Lernmittel

  • Anleitungsseiten: swiftbysundell.com , raywenderlich.com , nshipster.com , objc.io , byby.dev
  • Remote-Jobs: iOS-Entwicklerjobs , RemoteOK , Remotive , Remote , Wir arbeiten remote
  • Übungsherausforderungen: Öffentliche APIs , UI-Inspiration für mobiles Design
  • Interviewfragen: Swift , SwiftUI