Rompere l'intervista iOS
iOS è una piccola nicchia nello sviluppo di software e l'ambito delle conoscenze che devi coprire è abbastanza stabile nel corso degli anni.
Prepararsi per un colloquio iOS non è molto diverso da un colloquio frontend . Lo sviluppo lato cliente è un'abilità che possiamo facilmente mettere in mostra, ne consegue che le aziende si aspettano spesso un portafoglio di progetti su cui hai lavorato.
La concorrenza in aziende prestigiose è agguerrita con migliaia di candidature dei migliori ingegneri di tutto il mondo. Indipendentemente dal tuo livello tecnico e dalla posizione di candidatura, ecco 5 fattori che avranno una grande influenza sul tuo modo di cercare lavoro:
- Competenza tecnica — Problem solving, sviluppo ios.
- Anni di esperienza — Più sono e meglio è, da 3 a 5 sono preferiti.
- Progetti personali: app dell'App Store, repository open source.
- Ex datori di lavoro: più prestigiosi sono, meglio è.
- Capacità di intervistare: pensare ad alta voce, raccontare storie, fare domande.
- Colloquio telefonico con responsabile assunzioni (0–1)
- Intervista telefonica con i membri del team (1–3)
- Porta a casa il compito (0–1)
- Colloquio in loco (1)
- Negoziazione dell'offerta (0-n)
Competenza tecnica
Che tu ami o odi le strutture dati e gli algoritmi, devi dedicare molto tempo alla pratica. La maggior parte delle aziende lo sta utilizzando e non cambierà presto.
iOS è una piccola nicchia nello sviluppo di software e l'ambito delle conoscenze che devi coprire è abbastanza stabile nel corso degli anni. Nel 2022, dovresti avere una conoscenza decente dei seguenti argomenti:
Conoscenza di base
- Swift (protocolli, generici)
- Pattern (MVC, MVVM, VIPER)
- Pacchetti (SwiftPM, CocoaPods, Cartagine)
- Concorrenza (GCD, Async/Await, Attività, Attori)
- Programmazione reattiva (Combina, RxSwift)
- Archiviazione (app, scene, coredata, realm)
- Rete (URLSession, Alamofire)
- Strumenti (Xcode, TestFlight, AppStore)
- Linee guida (API, interfaccia, acquisto in-app)
- Fondazione, SwiftUI, UIKit
- XCTests, Combina, CoreData
- CloudKit, StoreKit, PhotoKit
- CoreGraphics, CoreAnimation
- Alamofire — Elegante rete HTTP
- Martin pescatore : scarica e memorizza nella cache le immagini
- SnapKit — Autolayout DSL per iOS e OS X
- RxSwift — Programmazione reattiva
- Reame : database mobile
- Lottie — Animazioni vettoriali di After Effects
- SkeletonView — Fantastiche viste di caricamento
- Eroe — Transizione elegante
Assegnazione da portare a casa
Dovresti dedicare del tempo a lavorare sulla tua app da inserire nell'App Store. Non deve essere super stravagante: solo qualcosa che funziona e ha abbastanza per dimostrare che sai come muoverti su iOS. Un'app abbastanza buona e non avrai mai più questo tipo di sfide di merda.
Alcuni degli esempi più comuni di compiti da svolgere sono:
- Recupera alcuni JSON e visualizza i risultati.
- Aggiungi una nuova funzionalità a una base di codice esistente.
- Trova un bug in un progetto esistente.
- Implementare una caratteristica aziendale specifica e fondamentale.
Per avere successo nel tuo progetto da portare a casa, assicurati che:
- Deve essere facile da eseguire, costruire e profilare.
- Deve essere ben testato e documentare di conseguenza.
- Deve seguire un modello di progettazione chiaro (MVC, MVVM).
- Evita a tutti i costi di utilizzare librerie di terze parti.
- La base di codice deve essere pulita, senza errori, senza avvisi.
- Non superare mai il limite di tempo assegnato dall'intervistatore.
Risorse di apprendimento
- Siti tutorial: swiftbysundell.com , raywenderlich.com , nshipster.com , objc.io , byby.dev
- Lavori da remoto: iOS Dev Jobs , RemoteOK , Remotive , Remote , We Work Remotely
- Sfide pratiche: API pubbliche , ispirazione per l'interfaccia utente del design mobile
- Domande dell'intervista: Swift , SwiftUI

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































