十個iOS面試問題

來源:互聯網
上載者:User

1.你使用過Objective-C的運行時編程(Runtime Programming)嗎?如果使用過,你用它做了什嗎?你還能記得你所使用的相關的標頭檔或者某些方法的名稱嗎? 

2.你實現過多線程的Core Data嗎?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要線上程中建立或者傳遞?你是用什麼樣的策略來實現的? 

3.Core開頭的系列的內容。是否使用過CoreAnimation和CoreGraphics。UI架構和CA,CG架構的聯絡是什嗎?分別用CA和CG做過些什麼動畫或者映像上的內容。(有需要的話還可以涉及Quartz的一些內容)

4. 是否使用過CoreText或者CoreImage等?如果使用過,請談談你使用CoreText或者CoreImage的體驗。 

5.NSNotification和KVO的區別和用法是什嗎?什麼時候應該使用通知,什麼時候應該使用KVO,它們的實現上有什麼區別嗎?如果用protocol和delegate(或者delegate的Array)來實作類別似的功能可能嗎?如果可能,會有什麼潛在的問題?如果不能,為什嗎?(雖然protocol和delegate這種東西面試已經面爛了…) 

6.你用過NSOperationQueue嗎?如果用過或者瞭解的話,你為什麼要使用NSOperationQueue,實現了什嗎?請描述它和GCD的區別和類似的地方(提示:可以從兩者的實現機制和適用範圍來描述)。 

7.既然提到GCD,那麼問一下在使用GCD以及block時要注意些什嗎?它們兩是一回事兒嗎?block在ARC中和傳統的MRC中的行為和用法有沒有什麼區別,需要注意些什嗎? 

8.您是否做過非同步網路處理和通訊方面的工作?如果有,能具體介紹一些實現策略嗎? 

9.對於Objective-C,你認為它最大的優點和最大的不足是什嗎?對於不足之處,現在有沒有可用的方法繞過這些不足來實現需求。如果可以的話,你有沒有考慮或者實踐過重新實現OC的一些功能,如果有,具體會如何做? 

10.你實現過一個架構或者庫以供別人使用嗎?如果有,請談一談構建架構或者庫時候的經驗;如果沒有,請設想和設計架構的public的API,並指出大概需要如何做、需要注意一些什麼方面,來使別人容易地使用你的架構。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.