a
Si estàs buscant feina com a desenvolupador de iOS, has arribat a el lloc correcte, aquí et proporciono les 20 preguntes més comuns d’entrevista iOS.
Aquestes preguntes et seran útils , no només t’ajudaran a millorar les teves habilitats, sinó que també et prepararà per al teu gran dia.
Preguntes més comuns d’entrevista iOS:
Per a les preguntes bàsiques ja has d’estar preparat. Poden semblar òbvies, però et sorprendria saber quants enginyers han fallat durant les entrevistes tècniques.
L’entrevistador aconsegueix mesurar el nivell d’experiència de l’candidat d’iOS, per mitjà d’aquestes preguntes, així que, encara que et semblin simples , tracta d’entendre-molt bé.
A continuació, 20 preguntes més comuns d’entrevista iOS amb les seves respostes:
1- Quines són les principals avantatges de Swift?
Aquesta pot semblar una pregunta per a principiants, però no ho és, recorda que el principal que li interessa a l’entrevistador és saber la teva experiència en l’àrea.
Resposta esperada
Algunes de les principals avantatges de Swift són:
- Tipus opcionals, que fan que les aplicacions siguin resistents als crashes
- Maneig d’errors incorporat
- Clàusules / Tancaments
- Molt més ràpid en comparació amb altres idiomes
- Llenguatge de tipus segur
- Admet la coincidència de patrons
Més informació sobre la pregunta: agost avantatges d’utilitzar Swift per al desenvolupament de iOS
2- Explica els estils populars per provar les aplicacions iOS?
La pregunta és simple, s’ha de destacar els fets importants a tenir en compte a l’provar aplicacions iOS.
Resposta esperada
Podeu provar les aplicacions en un simulador o en els propis dispositius. Un simulador és un programari especial que ajuda a executar aplicacions en el sistema amb èxit.
Es pot gaudir de l’experiència de l’usuari real sense danyar els dispositius reals, són de fàcil instal·lació, fàcil d’usar i realment més ràpid en comparació amb dispositius reals.
Cura en aquesta pregunta:
en cas d’utilitzar els dispositius, hi ha possibilitats que es bloquegin, però aquestes situacions es poden evitar en el cas de els simuladors.
3- Quines són les desavantatges d’usar simulador per provar aplicacions iOS?
Amb aquesta pregunta, l’entrevistador vol saber com maneges les possibles desavantatges a l’provar aplicacions iOS en simulador.
Resposta esperada:
A l’tenir pèrdues de memòria o qualsevol altre problema relacionat amb la memòria, s’ha d’evitar els simuladors.
a més, el simulador no pot detectar cap problema relacionat amb la xarxa o Internet.
Cura en aquesta pregunta:
Tots els casos de prova s’han d’executar tant en el simulador com en el dispositiu real i verificar l’aplicació a la versió diferent de sistema operatiu iOS.
4- com es fa servir la gestió de la memòria en iOS?
Les preguntes de memòria revelen molt sobre el coneixement d’un desenvolupador, especialment perquè moltes persones s’estan donant suport a ARC en aquests dies.
Resposta esperada:
la gestió de la memòria és molt important en qualsevol aplicació, especialment en les aplicacions iOS que tenen memòria i altres limitacions de maquinari i sistema.
Swift utilitza el recompte automàtic de referències (ARC). Això és conceptualment el mateix en Swift que en Objective-C.
Cura en aquesta pregunta:
Aquí volen escoltar una idea general de l’recompte de referències. Com augmenta i què passarà si el “comptador” és igual a 0.
Més informació sobre la pregunta: Recompte automàtic de referències
5- Què és el patró de disseny Singleton ?
Aquesta pregunta sorgeix en les entrevistes per avaluar la teva experiència amb els singleton o esbrinar si tens experiència en alguna cosa que no sigui només iOS.
Resposta esperada
Singleton és un patró de disseny comú que s’utilitza en molts llenguatges de programació orientada a objectes.
Aquest patró assegura que només hi hagi una instància per a una classe determinada i cal atorgar accés global a aquesta instància en particular.
6- on faries servir un patró de disseny Singleton i on no?
Els singletons de vegades es consideren un antipatrón. Els seus principals desavantatges són l’estat global, el cicle de vida de l’objecte i la injecció de dependència.
Resposta esperada
Quan només tens una instància d’alguna cosa, és molt temptador fer referència i fer-lo servir a tot arreu directament en lloc d’injectar en els teus objectes, ocasionant un acoblament innecessari de la implementació en el teu codi.
sovint, els singleton permeten compartir l’estat global i exerceixen el paper d’una “borsa pública” que cada objecte s’utilitza per emmagatzemar l’estat, generant resultats impredictibles i errors o bloqueig si és anul·lat o eliminat per algú.
Cura en aquesta pregunta:
Tot i que en alguns llenguatges i plataformes es considera que els singleton són bons, s’han de minimitzar el seu ús.
7- Quins patrons de disseny s’utilitzen comunament en les aplicacions de iOS?
Per treballar amb la plataforma iOS, ha d’estar familiaritzat amb les tècniques, l’arquitectura i els patrons de disseny.
Resposta esperada
Els patrons típics a l’crear aplicacions iOS són patrons de disseny de “competències centrals”. Inclouen MVC, Singleton, Delegate i Observer.
Cura en aquesta pregunta:
L’entrevistador el que vol saber és quins altres patrons de disseny fas servir comunament de forma immediata, a més de MVC.
8- Per què és important el patró de disseny?
els patrons de disseny són les solucions reutilitzables als problemes comuns en el disseny de programari.
Resposta esperada
Són plantilles especials dissenyades en funció de l’ús i els requisits de l’aplicació. el codi de la plantilla es pot reutilitzar cada vegada que treballa amb la nova aplicació.
Els patrons de disseny Cocoa més utilitzats són: Singleton, delegate, factory, decorator, adapter, facade, observer, memento i hi ha molts més
Més informació sobre la pregunta: Cocoa Design Patterns
9- Com determinar el lloc de la usabilitat en el disseny?
Una entrevista iOS no es tracta només de codi. Hi pot haver preguntes sobre àrees de desenvolupament.
Resposta esperada
Per a determinar la usabilitat, necessites dividir el procés de disseny:
- Pensa com a usuari i després dissenya la UX.
- Els usuaris són persones, no les teves dades demogràfiques.
- Pensa en totes les situacions en què serà útil l’aplicació.
- Segueix treballant en la usabilitat fins i tot després de l’llançament.
10- Quins són els principis SOLID en una aplicació iOS?
Els principis SOLID són conceptes relativament antics, però increïblement útils per aplicar a qualsevol base de codi OOP en qualsevol idioma.
Resposta esperada
S: Principi de responsabilitat única (SRP), cada classe una responsabilitat única.
O: Principi obert / tancat (OCP), entitats obertes per extensió, però tancades per modificació.
L: Principi de substitució de Liskov (LSP), funcions tipus base haurien de poder utilitzar subtipus de el tipus base sense saber-ho.
I: Principi de segregació d’interfície (ISP), moltes interfícies especialitzades són millors que una universal.
d: Principi d’inversió de dependència (DIP), els mòduls de nivell superior és independent dels mòduls de nivell inferior.
Cura en aquesta pregunta:
No es tracta només de nomenar els principis, sinó també de donar una breu descripció de cada un.
Més informació sobre la pregunta:
SOLID: 5 principis essencials per desenvolupar codi de qualitat
11- Quins són els estats d’execució comuns en iOS?
Gairebé ningú respon bé aquesta pregunta. Normalment és millor donar un exemple.
Resposta esperada
Inactiu: L’aplicació s’executa en primer pla sense rebre cap esdeveniment.
Actiu: L’aplicació s’executa en primer pla i rep esdeveniments.
background: L’aplicació executa codi en segon pla.
UIApplication.State
12- Què és MVC?
Aquest és un patró de disseny fonamental, el més probable és que tots els entrevistadors pregunten sobre això independentment de l’tipus de vacant sol·licitada.
Resposta esperada
Model View Controller és un patró de disseny de programari que Apple va triar als seus inicis com l’enfocament principal per al desenvolupament d’aplicacions iOS.
els models són responsables de les dades de domini o una capa d’accés a dades, que poden manipular les dades; les vistes dibuixen coses a la pantalla; els controladors gestionen el flux de dades entre el model i la vista.
El model i la vista mai es comuniquen entre si directament i depenen d’un controlador per coordinar la comunicació.
Cura en aquesta pregunta:
MVC és un patró de disseny de propòsit general, però és només un patró de disseny per a la capa de vista i usar-lo només limita l’arquitectura i sovint condueix a l’notori problema del “Controlador de vista massiva “.
Saber què és MVC és bàsic per a qualsevol desenvolupament d’iOS, però molt poc usat actualment, explora les altres alternatives: MVVM, MVP, VIPER i VIP.
Més informació sobre la pregunta: Massive View Controller
13- Quines opcions té per implementar l’emmagatzematge i la persistència en iOS?
Els entrevistadors fan aquesta pregunta per a comprendre la seva comprensió de les eines i formes que té disponibles per a emmagatzemar i conservar dades en iOS.
Resposta esperada
Per general, hi ha les següents formes d’emmagatzemar dades en ordre de simple a complex:
- Arrays en memòria, diccionaris i altres estructures de dades en memòria
- UserDefaults / keychain
- Emmagatzematge d’arxius en disc
- Core Data, Realm
- SQLite
Cura en aquesta pregunta:
Ha de conèixer les diferents formes en què podria emmagatzemar dades en iOS i els seus avantatges o desavantatges. No es limiti a una sola solució a la qual està acostumat (com Core Data, per exemple). Sàpiga quan un és preferible a un altre.
Més informació sobre la pregunta:
- Collection Types (docs.swift.org)
- Core Data (developer.apple.com)
- Realm (realm.io)
- SQLite With Swift Tutorial: Getting Started (raywenderlich.com)
14. Quina és la diferència entre strong, weak, unowned, readonly?
Una entrevista també pot abordar aquests problemes. Els atributs de propietat assignada determinen com s’administrarà la memòria per a aquesta propietat.
Resposta esperada
Strong vol dir que augmentarà el recompte de referències a l’objecte en un i el seu valor es mantindrà durant la vida útil de l’objecte.
Weak vol dir que apunta a un objecte, però sense incrementar el recompte de referències. Sovint s’utilitza a l’crear relacions entre pares i fills.
Unowned: a l’igual que les referències weak, no incrementar el recompte de referències. No obstant això, té el benefici addicional de no ser un Opcional.
Readonly: s’utilitza per establir la propietat inicialment, però després no es pot canviar.
Pots trobar més detalls: Preguntes de l’entrevista: què són les propietats i les variables d’instància en Objective-C i Swift?
Cura en aquesta pregunta:
No has de aprofundir massa en els detalls de les implementacions de propietats i les característiques en Swift i Objective-C, però has de conèixer al menys els conceptes bàsics de les referències.
15- Quina és la diferència entre bounds i frame?
En principi, una entrevista pot començar amb aquesta pregunta. És una pregunta bastant comuna, així que no provis la teva sort, aprèn!
Resposta esperada
Només hi ha una petita diferència entre aquests dos elements. Els bounds estan limitats al seu propi sistema de coordenades, mentre que un frame està relacionat amb la supervista en la qual està contingut.
Cura en aquesta pregunta:
Bounds en UIView té una ubicació (x, y) i una mida (ample, alt) relatiu al seu propi sistema de coordenades (0,0).
Un frame en una UIView té una ubicació (x, y) i una mida (alt, ample) en relació amb l’element que conté.
16- Quines són les millors pràctiques de seguretat durant la programació d’iOS?
Com a desenvolupador professional, ha de saber com prevenir els atacs man-in-middle en atacs públics.
Resposta esperada:
S’ha d’establir comunicació amb servidors remots només a través d’HTTP i SSL, i assegurar-se que les dades confidencials estiguin altament segurs i protegits mitjançant un procés de sobreescriptura de mètodes.
a més, verificar que totes les validacions de dades s’hagin enviat executant-se en el costat de servidor.
17- Què vol dir KVC i KVO en iOS?
Aquesta pregunta avalua el coneixement dels diferents patrons de missatgeria utilitzats en iOS.
Resposta esperada
KVC és la codificació de valors clau. Mecanisme usat per accedir a les propietats d’un objecte usant cadenes en temps d’execució en lloc d’haver de conèixer estàticament els noms de propietat en temps de desenvolupament.
KVO vol dir Observació de valors clau i permet que un controlador o una classe observi els canvis en el valor de la propietat.
Més informació sobre la pregunta: KVC and KVO in iOS
18- Com es pot definir un protocol per a la programació iOS?
Els protocols permeten definir els mètodes de les classes.
Resposta esperada
És similar a la interfície Java que defineix una llista de mètodes necessaris que han de ser implementats per una classe. Es pot implementar mitjançant qualsevol de les classes o mètodes sense conèixer el seu tipus.
Cura en aquesta pregunta:
També pot parlar sobre l’extensió de l’protocol.Ha de comprendre exactament qui són els delegats i com funciona aquesta relació.
19- Quina és la diferència entre delegats i KVO?
Amb aquesta pregunta, l’entrevistador està avaluant el seu coneixement dels diferents patrons de missatgeria utilitzats en iOS.
Resposta esperada
Les dues són formes de tenir relacions entre objectes. Els delegats són relació un a un en què un objecte implementa un protocol de delegat i un altre li envia missatges, utilitzant mètodes definits pel protocol.
els KVO és una relació de molts a molts en la qual un objecte transmet un missatge i un o més objectes l’escolten i reaccionen. KVO no es basa en protocols. KVO és el primer pas i el bloc fonamental de la programació reactiva (RxSwift, ReactiveCocoa, etc.)
Més informació sobre la pregunta:
- Delegació del (developer.apple .com)
- Key-Value Observing (nshipster.com)
- ReactiveX (reactivex.io)
20- Com i quan serialitzar i mapejar dades en iOS?
La serialització de dades és una cosa comuna a l’crear aplicacions iOS. Els entrevistadors fan aquesta pregunta per veure si reconeix on és adequat i coneix les tasques necessàries quan es treballa amb dades, ja sigui en xarxes o dades d’emmagatzematge.
Resposta esperada
Hi ha dues escenaris més comuns en els que necessitaria serialitzar i mapejar dades en aplicacions iOS, a l’rebre o enviar dades a la capa de xarxa (com JSON o XML o un altre) i persistir o recuperar models a la capa d’emmagatzematge (Data, NSManagedObject).
Més informació sobre la pregunta: NSJSONSerialization
Consells per a l’entrevista:
a continuació, alguns consells que poden ajudar-te en la teva entrevista iOS:
- Has d’estar ben versat en teoria, perquè aprendre a codificar no és difícil.
- Investiga l’empresa i demostra-li a l’entrevistador que estàs interessat en treballar per a ell.
- pensa obertament. Si només dius la resposta, no vol dir res. Quan parles obertament, l’entrevistador analitza com penses i com busques solucions en certes situacions.
- Assaja abans d’anar a l’entrevista. Prepara’t amb les preguntes d’entrevista iOS relacionades i tracta de respondre-les amb claredat.
Conclusió
Aquestes 20 preguntes més comuns d’entrevista iOS, estan dissenyades per a ajudar a tots els desenvolupadors a trobar una resposta.
Algunes dels temes que he comentat no són tan usats o coneguts actualment, des de la sortida de Swift, però per a programadors amb més anys d’experiències són molt conegudes en el moment de programar amb Objetive-c
es poden utilitzar, per exemple, per omplir el buit que es produeix quan es discuteixen temes tècnics complexos, de manera que el candidat ha de pensar immediatament en les respostes abans de l’entrevista.
a
Apassionats de la Programació iOS
Escriu el teu email i rebràs la guia gratuïta a ‘i més et aportaré contingut de valor!
100% lliure de Spam 😉 a
a