十個iOS面試問題_第1頁
十個iOS面試問題_第2頁
十個iOS面試問題_第3頁
十個iOS面試問題_第4頁
十個iOS面試問題_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第第頁十個iOS面試問題

十個iOS面試問題

發(fā)表于:2023-01-03來源:/:Den點(diǎn)擊數(shù):標(biāo)簽:iOS

十個iOS面試問題。不管對于招聘和應(yīng)聘來說,面試都是很重要的一個環(huán)節(jié),特別對于開發(fā)者來說,面試中的技術(shù)問題環(huán)節(jié)不僅是企業(yè)對應(yīng)聘者技能和積累的考察,也是一個開發(fā)者自我檢驗(yàn)的好機(jī)會。

不管對于招聘和應(yīng)聘來說,面試都是很重要的一個環(huán)節(jié),特別對于(開發(fā))者來說,面試中的技術(shù)問題環(huán)節(jié)不僅是企業(yè)對應(yīng)聘者技能和積累的考察,也是一個(開發(fā))者自我檢驗(yàn)的好機(jī)會。對于iOS和Mac開發(fā)來說,因?yàn)楸臼逻€算比較新,企業(yè)對于這方面的開發(fā)者(需求)也比較大,所以面試時的要求可能并不是很高,一般能知道一些Cocoa和OC的基本知識也就認(rèn)為可以了。但是對于一個希望擁有技術(shù)力基礎(chǔ)的企業(yè)的iOS或者M(jìn)ac開發(fā)來說,兩到三個頂尖的熟練技術(shù)人員,帶領(lǐng)一些還較為初級的開發(fā)者,共同完成項(xiàng)目應(yīng)該是比較常見的構(gòu)成。

Cocoa特別是CocoaTouch的開發(fā),上手可以說十分容易,但是背后隱藏的細(xì)節(jié)和原理卻很豐富。一方面對于基礎(chǔ)不夠熟練和清晰(比如從一個AppDelegate開始用代碼構(gòu)建ViewController,或者清晰地說明棧和堆之類的概念),另一方面對于更進(jìn)階的開發(fā)知之甚少(比如多線程、網(wǎng)絡(luò)異步處理或者Core開頭的各種框架等等)。這些內(nèi)容十分重要,但是可能現(xiàn)在一般的iOS開發(fā)者或多或少都在這些問題上存在薄弱。在這里我整理了一份面向于較高層級的iOS開發(fā)者的面試題目的問題清單,列出了十個應(yīng)聘Leader級別的高級Cocoa/CocoaTouch開發(fā)(工程師)所應(yīng)該掌握和理解的技術(shù)。這份列表沒有提供標(biāo)準(zhǔn)答案,因?yàn)檫@些問題本身就沒有標(biāo)準(zhǔn)答案。隨每個人對這些內(nèi)容的認(rèn)識的不同和理解的差異,可以有不一樣的答案。但是最基本地,如果面對的是一名資深的Cocoa開發(fā)者,至少期望能得到的答案都是"接觸過',并且能結(jié)合自己的經(jīng)驗(yàn)說個七七八八,達(dá)到互相能明白意圖和方法的地步。能夠在其中兩三個領(lǐng)域有不錯的見解和具體的闡述的話,那是更好。這種對于知識覆蓋面和深度的考察很能真實(shí)反映出開發(fā)者的技術(shù)水平。如果清單里的很大部分內(nèi)容都是完全沒接觸過和沒聽過的話,那可能距離資深Cocoa開發(fā)這樣一個階段還尚有距離了。

那么,面試開始。

你使用過Objective-C的運(yùn)行時(編程)(RuntimeProgramming)么?如果使用過,你用它做了什么?你還能記得你所使用的相關(guān)的頭文件或者某些方法的名稱嗎?

你實(shí)現(xiàn)過多線程的CoreData么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在線程中創(chuàng)建或者傳遞?你是用什么樣的策略來實(shí)現(xiàn)的?

Core開頭的系列的內(nèi)容。是否使用過CoreAnimation和CoreGraphics。UI框架和CA,CG框架的聯(lián)系是什么?分別用CA和CG做過些什么動畫或者圖像上的內(nèi)容。(有需要的話還可以涉及Quartz的一些內(nèi)容)

是否使用過CoreText或者CoreImage等?如果使用過,請談?wù)勀闶褂肅oreText或者CoreImage的體驗(yàn)。

NSNotification和KVO的區(qū)別和用法是什么?什么時候應(yīng)該使用通知,什么時候應(yīng)該使用KVO,它們的實(shí)現(xiàn)上有什么區(qū)別嗎?如果用protocol和delegate(或者delegate的Array)來實(shí)現(xiàn)類似的功能可能嗎?如果可能,會有什么潛在的問題?如果不能,為什么?(雖然protocol和delegate這種東西面試已經(jīng)面爛了)

你用過NSOperationQueue么?如果用過或者了解的話,你為什么要使用NSOperationQueue,實(shí)現(xiàn)了什么?請描述它和GCD的區(qū)別和類似的地方(提示:可以從兩者的實(shí)現(xiàn)機(jī)制和適用范圍來描述)。

既然提到GCD,那么問一下在使用GCD以及block時要注意些什么?它們兩是一回事兒么?block在ARC中和傳統(tǒng)的MRC中的行為和用法有沒有什么區(qū)別,需要注意些什么?

您是否做過異步的網(wǎng)絡(luò)處理和通訊方面的工作?如果有,能具體介紹一些實(shí)現(xiàn)策略么?

對于Objective-C,你認(rèn)為它最大的優(yōu)點(diǎn)和最大的不足是什么?對于不足之處,現(xiàn)在有沒有可用的方法繞過這些不足來實(shí)現(xiàn)需求。如果可以的話,你有沒有考慮或者實(shí)踐過重新實(shí)現(xiàn)OC的一些功能,如果有,具體會如何做?

你實(shí)現(xiàn)過一個框架或者庫以供別人使用么?如果有,請談一談構(gòu)建框架或者庫時候的經(jīng)驗(yàn);如果沒有,請?jiān)O(shè)想和設(shè)計(jì)框架的public的API,并指出大概需要如何做、需要注意一些什么方面,來使別人容易地使用你的框架。

以上10個問題對于初級或者剛接觸iOS的開發(fā)者來說,肯定是過于難了。想要答出全部問題,可能需要至少兩到三年的Cocoa/CocoaTouch開發(fā)經(jīng)驗(yàn)。而如果想要有所見地的回答,可能需要更長的時間和經(jīng)驗(yàn)。這些問題對于技術(shù)的積累會是一個很好的考察,因?yàn)槿绻麤]有對這些問題中涉及的內(nèi)容有過實(shí)際使用和體會的話,是很難較完整和全面回答這些問題的。同時,因?yàn)檫@些問題并不像ABCD的客觀題有標(biāo)準(zhǔn)答案,表現(xiàn)的是應(yīng)聘者的理解,所以提問者也必須具備必要的材料或者知識,以應(yīng)對可能的討論。

在為團(tuán)隊(duì)尋求高級別的開發(fā)工程師或者Leader類的職

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論