Cele mai frecvente întrebări de interviu IOS

  • Dacă sunteți în căutarea unui loc de muncă ca dezvoltator ios, ați ajuns la locul potrivit, aici oferim cele 20 de întrebări cele mai frecvente de interviu iOS.

    Aceste întrebări Va fi util, nu numai că vă vor ajuta să vă îmbunătățiți abilitățile, dar vă vor pregăti și pentru ziua cea mare.

    mai multe întrebări de interviu iOS:

    Pentru întrebările de bază trebuie să fiți pregătiți. Ele pot părea evidente, dar aș fi surprins să știu câți ingineri au eșuat în timpul interviurilor tehnice.

    Intervievatorul reușește să măsoare nivelul de experiență al candidatului iOS, prin aceste întrebări, deci, chiar și Dacă ele par simplu, încercați să le înțelegeți foarte bine.

    Următorul, 20 cele mai frecvente interviuri întrebări iOS cu răspunsurile dvs.:

    1- Care sunt principalele avantaje ale SWIFT?

    Acest lucru poate părea o întrebare pentru începători, dar nu este, amintiți-vă că principalul lucru care interesează intervievatorul este să vă cunoașteți experiența în zonă.

    Răspuns așteptat

    Unele dintre principalele avantaje ale SWIFT sunt:

    • Tipuri opționale, care fac ca aplicațiile să fie rezistente la accidente
    • Manipularea erorilor încorporate
    • Clauze / închideri
    • mult mai rapid comparativ cu alte limbi
    • lingvistică de tip sigură
    • suports model coincidență

    Mai multe informații despre întrebarea: 8 Avantaje ale utilizării SWIFT pentru dezvoltarea iOS

    2- Explicați stilurile populare pentru a testa aplicațiile iOS?

    Întrebarea este simplă, trebuie să evidențieți faptele importante pentru a ține seama la testarea aplicațiilor iOS.

    Răspuns așteptat

    Puteți testa aplicațiile într-o simulator sau pe dispozitivele însele. Un simulator este un software special care ajută la executarea aplicațiilor în sistemul de succes.

    Vă puteți bucura de experiența utilizatorului real fără a deteriora dispozitive reale, sunt ușor de instalat, ușor de utilizat și într-adevăr mai rapid comparativ la dispozitive reale.

    Îngrijire în această întrebare:

    În cazul utilizării dispozitivelor, există posibilități care sunt blocate, dar aceste situații pot fi evitate în cazul simulatoarelor

    3 – Care sunt dezavantajele utilizării simulatorului pentru a testa aplicațiile iOS?

    Cu această întrebare, intervievatorul dorește să știe cum gestiona dezavantajele posibile atunci când testezi iOS în aplicații simulator.

    Răspuns așteptat:

    Când aveți memorie Pierderi sau orice altă problemă legată de memorie, trebuie evitată simulatoare.

    În plus, simulatorul nu poate detecta nici o problemă legată de rețea sau Internet.

    Îngrijire la această întrebare:

    Toate cazurile de testare ar trebui să fie executate atât în simulator, cât și în dispozitivul real și să verifice aplicația în versiunea diferită a sistemului de operare iOS.

    4- Cum este gestionarea memoriei ios?

    Întrebările de memorie dezvăluie multe despre cunoașterea unui dezvoltator, mai ales că mulți oameni se sprijină în Arc în aceste zile.

    Răspuns așteptat:

    Gestionarea memoriei Este foarte important în orice aplicație, în special în aplicațiile IOS care au memorie și alte limitări hardware și sistem.

    Swift utilizează numărul de referință automat (ARC). Acest lucru este conceptual același în SWIFT decât în Obiectiv-c.

    Îngrijire a acestei întrebări:

    aici doresc să audă o idee generală despre numărul de referință. Cum crește și ce se va întâmpla dacă „Counter” este egal cu 0.

    Mai multe informații despre întrebarea: numărul de referință automat

    5- Care este modelul de design Singleton?

    Această întrebare apare în interviuri pentru a evalua experiența dvs. cu Singleton sau pentru a afla dacă aveți experiență în ceva care nu este doar iOS.

    răspunsul așteptat

    Singleton este un model comun de design care este utilizat în multe limbi de programare orientate spre obiecte.

    Acest model asigură că există o singură instanță pentru o anumită clasă și este necesar să se acorde acces global la acea particularitate exemplu.

    6- Unde ați folosi un model de design Singleton și unde nu?

    Singletons sunt uneori considerate un antipatron. Principalele sale dezavantaje sunt starea globală, ciclul de viață al injectării obiectului și dependenței.

    Răspuns așteptat

    Când aveți doar o instanță de ceva, este foarte tentant să îl referiți și să îl utilizați peste tot în loc de injectare în obiectele dvs., provocând o cuplare inutilă a Implementarea în codul dvs.

    Adesea, Singleton permite împărtășirea statului global și a juca rolul unei „pungi publice” pe care fiecare obiect îl folosește pentru a stoca statul, generând rezultate și erori imprevizibile sau blocarea dacă aceasta este anulat sau șters de cineva.

    Îngrijire a acestei intrebari:

    Deși în unele limbi și platforme se consideră că singletonul este bun, utilizarea lor trebuie să fie minimizată.

    7 – Ce modele de design sunt utilizate în mod obișnuit în aplicațiile iOS?

    Pentru a lucra cu platforma iOS, trebuie să fii familiarizat cu tehnicile, arhitectura și modelele de design.

    Răspuns așteptat

    Modele tipice la crearea aplicațiilor iOS sunt „Competență centrală” modele de proiectare. Acestea includ MVC, Singleton, delegat și observator.

    Îngrijire a acestei intrebari:

    Intervievatorul Ceea ce vrei sa stii este ceea ce alte modele de design foloseste frecvent imediat, în plus față de MVC.

    8- De ce este important modelul de design?

    modele de proiectare sunt soluții reutilizabile la problemele comune în designul software-ului.

    așteptat Răspuns

    sunt șabloane speciale concepute în funcție de utilizarea și cerințele aplicației. Codul șablonului poate fi refolosit de fiecare dată când lucrați cu noua aplicație.

    Cele mai utilizate modele de design de cacao sunt: singleton, delegat, fabrică, decorator, adaptor, fațadă, observator, memento și Există multe mai multe informații despre întrebarea: modele de design de cacao

    9- cum să determine locul de utilizare în design?

    Un interviu iOS nu este doar un cod. Pot exista întrebări despre zonele de dezvoltare.

    Răspuns așteptat

    Pentru a determina utilizarea, trebuie să împărțiți procesul de proiectare:

    • Gândiți-vă ca utilizator și apoi proiectează UX.
    • Utilizatorii sunt oameni, nu datele dvs. demografice.
    • Gândiți-vă la toate situațiile în care aplicația va fi utilă
    • urmați Lucrul la utilizare chiar și după eliberare.

    10- Care sunt principiile solide într-o aplicație iOS?

    Principiile solide sunt concepte relativ vechi, dar incredibil de utile să se aplice la orice bază de cod OOP în orice limbă.

    răspunsul așteptat

    s: principiu de responsabilitate unică (SRP), fiecare clasă o responsabilitate unică.

    sau: principiu deschis / închis (OCP), entități deschise pentru extensie, dar închis pentru modificări.

    L: Principiul substituției lui LISKOV (LSP), funcțiile tipului de bază ar trebui să poată utiliza subtipurile tipului de bază fără să le cunoască.

    i: Principiul segregării interfeței (ISP), multe interfețe specializate sunt mai bune decât un universal.

    D: Principiul investiției de dependență (DIP), modulele de nivel superior sunt independente de modulele inferioare.

    Îngrijire la această întrebare:

    eu fac nu știu încercați doar pentru a numi principiile, dar, de asemenea, dați o scurtă descriere a fiecăruia.

    Mai multe informații despre întrebarea:

    Solid: 5 principii esențiale Pentru a dezvolta codul de calitate

    11- Care sunt statele comune de execuție în iOS?

    aproape nimeni nu răspunde bine la această întrebare. În mod normal, este mai bine să dați un exemplu.

    Răspuns așteptat

    inactiv: aplicația rulează în prim-plan fără a primi niciun eveniment.

    Activ: aplicația rulează. În prim-plan și primesc evenimente.

    fundal: aplicația execută codul în fundal.

    UIAPPlicare.State

    12- Ce este MVC?

    Acesta este un model de design fundamental, este cel mai probabil ca toți intervievații să ceară acest lucru indiferent de tipul de post vacant solicitat.

    Răspuns așteptat

    Vizualizare model Controlerul este un model de design software pe care Apple le-a ales începuturile sale ca fiind accentul principal pentru dezvoltarea aplicațiilor iOS. Modelele

    sunt responsabile pentru datele de domeniu sau de accesul la date, care pot manipula datele; Viziunile atrag lucruri pe ecran; Controlerele gestionează fluxul de date între model și vizualizare.

    modelul și vizualizarea nu comunică niciodată unul cu celălalt și depind de un controlor pentru a coordona comunicarea.

    H4> Îngrijire În această întrebare:

    MVC este un model de design general, dar este doar un model de design pentru stratul de vizualizare și folosindu-l numai limitează arhitectura și duce adesea la problema notorie a „șoferului Vista masiv „.

    știu ce MVC este de bază pentru orice dezvoltare iOS, dar foarte puțin utilizate în prezent, explorează celelalte alternative: MVVM, MVP, Viper și VIP.

    Mai multe informații despre întrebarea: Massive Vizualizați controlerul

    13 – Ce opțiuni trebuie să implementați stocarea și persistența în iOS?

    Intervievatorii pun această întrebare să înțeleagă înțelegerea instrumentelor și formelor pe care le are la dispoziție pentru stocarea și conservarea datelor în iOS.

    Răspuns așteptat

    atât de general , există următoarele modalități de stocare a datelor în ordine complexă:

    • Rețea de memorie, dicționare și alte structuri de date în memorie
    • USEDEFAULTS / Keychain
    • Depozitarea fișierelor pe disc
    • Date de bază, Realm

    Îngrijire în această întrebare:

    trebuie Cunoașteți diferitele moduri în care ați putea stoca datele în iOS și avantajele sau dezavantajele dvs. Nu se limitează la o singură soluție la care este obișnuită (ca date de bază, de exemplu). Știți când unul este preferabil altora.

    Mai multe informații despre întrebarea:

    • Tipuri de colectare (Docs.swift.org)
    • Datele de bază ( Developer.Apple.com)
    • Realm (REALM.IO)
    • Sqlite cu Tutorial Swift: Noțiuni de bază (Raywenderlich.com)

    14 . Care este diferența dintre puternic, slab, nefolosit, readonly?

    Un interviu poate adresa, de asemenea, aceste probleme. Atributele de proprietate atribuite determină modul în care memoria va fi administrată pentru această proprietate.

    Răspuns așteptat

    înseamnă că numărul de referință va crește la una și valoarea sa va fi menținută în timpul utilității Viața obiectului.

    Slab înseamnă că indică un obiect, dar fără a crește numărul de referință. Este adesea folosit atunci când creează relații între părinți și copii.

    Desfășurat: cum ar fi referințele slabe, nu crește numărul de referință. Cu toate acestea, are avantajul suplimentar de a nu fi o opțiune.

    readonly: folosit pentru a seta inițial proprietatea, dar atunci nu vă puteți schimba.

    Puteți găsi mai multe detalii: întrebări a interviului: Care sunt proprietățile și variabilele de instanță în Obiectiv-C și Swift?

    Îngrijire a acestei întrebări:

    Nu trebuie să aprofundeți prea multe despre detaliile despre Implementări și caracteristici de proprietate în Swift și Obiectiv-C, dar trebuie să știți cel puțin conceptele de bază ale referințelor.

    15- Care este diferența dintre limite și cadru?

    În principiu, un interviu poate începe cu această întrebare. Este o întrebare destul de comună, așa că nu încercați norocul, învățați!

    răspunsul așteptat

    există doar o mică diferență între aceste două elemente. Limitele sunt limitate la propriul sistem de coordonate, în timp ce un cadru este legat de sondajul în care este conținut.

    Îngrijirea acestei întrebări:

    Limitele din UIView are o locație (x , Y) și o dimensiune (largă, mare) față de propriul sistem de coordonate (0,0).

    Un cadru dintr-un UIView are o locație (x, y) și o dimensiune (înălțime, lățime) în Relația cu elementul pe care îl conține.

    16 – Care sunt cele mai bune practici de securitate în timpul programării iOS?

    ca dezvoltator profesionist, ar trebui să știi cum să împiedice atacurile omului în atacurile publice.

    Răspuns așteptat:

    Comunicarea cu serverele la distanță ar trebui Fiți stabiliți numai prin HTTP și SSL și asigurați-vă că datele confidențiale sunt foarte sigure și protejate de un proces de suprasolicitare.

    În plus, verificați dacă toate validările de date au fost trimise în partea laterală a serverului.

    17 – Ce înseamnă KVC și KVO în iOS?

    Această întrebare evaluează cunoașterea diferitelor modele de mesagerie utilizate în iOS.

    Răspuns așteptat

    kvc este codificarea valorilor cheie. Mecanismul folosit pentru a accesa proprietățile unui obiect utilizând lanțuri în timpul execuției în loc de a cunoaște static numele de proprietate în timpul de dezvoltare.

    kvo înseamnă observarea valorilor cheie și permite unui controlor sau o clasă să respecte Schimbări în valoarea proprietății.

    Mai multe informații despre întrebarea: KVC și KVO în iOS

    18- Cum poate fi definit un protocol pentru programarea iOS?

    Protocoalele vă permit să definiți metodele de cursuri.

    Răspuns așteptat

    este similar cu interfața Java care definește o listă de metode necesare care trebuie implementate pentru a clasă. Acesta poate fi implementat de oricare dintre clasele sau metodele fără a cunoaște tipul său.

    Îngrijirea acestei întrebări:

    poate, de asemenea, vorbi despre extensia protocolului.Trebuie să înțelegeți exact cine sunt delegații și cum funcționează această relație.

    19 – Care este diferența dintre delegați și KVO?

    Cu această întrebare, intervievatorul evaluează cunoștințele sale despre diferitele modele de mesagerie utilizate în iOS.

    răspunsul așteptat

    ambele sunt modalități de a avea relații între obiecte . Delegații sunt o relație unul câte unul în care un obiect implementează un delegat și un alt protocol vă trimite mesaje, folosind metode definite de protocol.
    KVO este o relație de multe la mulți în care un obiect transmite un mesaj și unul sau unul Mai multe obiecte ascultă și reacționează. KVO nu se bazează pe protocoale. KVO este primul pas și blocul fundamental de programare reactivă (RXSWIFT, REACIVECOCA etc.)

    Mai multe informații despre întrebarea:

    • delegație (dezvoltator.apple .com )

    20- Cum și când să serializați și să hartă Datele în iOS?

    Serializarea datelor este ceva frecvent atunci când creați aplicații iOS. Intervievatorii pun în discuție această întrebare dacă recunoaște unde este adecvată și cunoaște sarcinile necesare atunci când lucrează cu date, fie în rețele sau date de stocare.

    Răspuns așteptat

    Există încă două scenarii comune în care ar trebui să serializeze și să harta datelor în aplicațiile IOS, la primirea sau să trimitem date în stratul de rețea (cum ar fi JSON sau XML sau altele) și să persistăm sau să preluăm modelele în stratul de stocare (date, nsmanagebject).

    Mai multe informații despre întrebarea: NSJSONSERializare

    Sfaturi pentru interviu:

    Următorul, unele sfaturi care vă pot ajuta în interviul dvs. iOS:

  • Trebuie să fii bine versat în teorie, deoarece învățarea de a codifica nu este dificilă.
  • investighează compania și arată intervievator că sunteți interesat să lucrați pentru el.
  • Gândiți-vă deschis. Dacă spui doar răspunsul, nu înseamnă nimic. Când vorbiți deschis, intervievatorul analizează modul în care credeți și cum căutați soluții în anumite situații.
  • eseu înainte de a merge la interviu. Pregătește-te cu întrebările legate de interviu și încercați să le răspundeți clar.
  • Concluzie

    Aceste 20 de întrebări frecvente ale interviului iOS sunt concepute pentru a ajuta toți dezvoltatorii să găsească Un răspuns.

    Unele dintre subiectele pe care le-am comentat nu sunt atât de utilizate sau cunoscute din ieșirea rapidă, dar pentru programatorii cu mai multe experiențe sunt bine cunoscute în momentul programării cu Obiectiv-C

    pot fi folosite, de exemplu, pentru a umple vidul care este produs atunci când se discută subiecte tehnice complexe, astfel încât candidatul trebuie să se gândească imediat la răspunsuri înainte de interviu.

    iv id = ‘99231518D1 „

    iv id = „99231518d1”

    div>

    Passionate iOS programare

    Scrieți-vă e-mailul și veți primi gratuit
    și, de asemenea, vă voi da conținut de valoare

    100% spam gratuit 😉

    div id = „

  • Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *