一般性問題
最近這兩天你有學(xué)到什么知識(shí)/技能么?
最近有做過比較酷或者比較有挑戰(zhàn)的項(xiàng)目么?
最近看過的書/文章有哪些?
如何向一個(gè)只接觸過互聯(lián)網(wǎng)的孩子解釋「電視」?
為什么要學(xué)習(xí)編程,編程對你而言的樂趣在哪兒?
如果一個(gè)函數(shù)10次中有7次正確,3次錯(cuò)誤,問題可能出現(xiàn)在哪里?
自身最大優(yōu)點(diǎn)是什么,怎么證明?
有沒有在 GitHub 上發(fā)布過開源代碼,參與過開源項(xiàng)目?
你最近遇到過的一個(gè)技術(shù)挑戰(zhàn)是什么?怎么解決的?
開發(fā)常用的工具有哪些?
熟悉 CocoaPods 么?能大概講一下工作原理么?
最常用的版本控制工具是什么,能大概講講原理么?
今年你最想掌握的一門技術(shù)是什么?為什么?目前已經(jīng)做到了哪個(gè)程度?
你一般是怎么用 Instruments 的?
你一般是如何調(diào)試 Bug 的?
你在你的項(xiàng)目中用到了哪些設(shè)計(jì)模式?
如何實(shí)現(xiàn)單例,單例會(huì)有什么弊端?
iOS 是如何管理內(nèi)存的?
知識(shí)性問題
什么是響應(yīng)鏈,它是怎么工作的?
如何訪問并修改一個(gè)類的私有屬性?
iOS Extension 是什么?能列舉幾個(gè)常用的 Extension 么?
如何把一個(gè)包含自定義對象的數(shù)組序列化到磁盤?
Apple Pay 是什么?它的大概工作流程是怎樣的?
iOS 的沙盒目錄結(jié)構(gòu)是怎樣的? App Bundle 里面都有什么?
iOS 的簽名機(jī)制大概是怎樣的?
iOS 7的多任務(wù)添加了哪兩個(gè)新的 API? 各自的使用場景是什么?
Objective-C 的class是如何實(shí)現(xiàn)的?Selector是如何被轉(zhuǎn)化為 C 語言的函數(shù)調(diào)用的?
UIScrollView大概是如何實(shí)現(xiàn)的,它是如何捕捉、響應(yīng)手勢的?
Objective-C 如何對已有的方法,添加自己的功能代碼以實(shí)現(xiàn)類似記錄日志這樣的功能?
+load和+initialize的區(qū)別是什么?
如何讓 Category 支持屬性?
NSOperation相比于 GCD 有哪些優(yōu)勢?
strong/weak/unsafe_unretained的區(qū)別?
如何為 Class 定義一個(gè)對外只讀對內(nèi)可讀寫的屬性?
Objective-C 中,meta-class 指的是什么?
UIView和CALayer之間的關(guān)系?
+[UIView animateWithDuration:animations:completion:]內(nèi)部大概是如何實(shí)現(xiàn)的?
什么時(shí)候會(huì)發(fā)生「隱式動(dòng)畫」?
如何處理異步的網(wǎng)絡(luò)請求?
frame和bounds的區(qū)別是什么?
如何把一張大圖縮小為1/4大小的縮略圖?
一個(gè) App 會(huì)處于哪些狀態(tài)?
Push Notification 是如何工作的?
什么是 Runloop?
Toll-Free Bridging 是什么?什么情況下會(huì)使用?
當(dāng)系統(tǒng)出現(xiàn)內(nèi)存警告時(shí)會(huì)發(fā)生什么?
什么是Protocol,Delegate 一般是怎么用的?
autorelease 對象在什么情況下會(huì)被釋放?
UIWebView 有哪些性能問題?有沒有可替代的方案。
為什么 NotificationCenter 要 removeObserver? 如何實(shí)現(xiàn)自動(dòng) remove?
當(dāng)TableView的Cell改變時(shí),如何讓這些改變以動(dòng)畫的形式呈現(xiàn)?
經(jīng)驗(yàn)類問題
為什么UIScrollView的滾動(dòng)會(huì)導(dǎo)致NSTimer失效?
為什么當(dāng) Core Animation 完成時(shí),layer 又會(huì)恢復(fù)到原先的狀態(tài)?
你會(huì)如何存儲(chǔ)用戶的一些敏感信息,如登錄的 token。
有用過一些開源組件吧,能簡單說幾個(gè)么,大概說說它們的使用場景實(shí)現(xiàn)。
什么時(shí)候會(huì)發(fā)生EXC BAD ACCESS異常?
什么時(shí)候會(huì)使用 Core Graphics,有什么注意事項(xiàng)么?
NSNotification 和 KVO 的使用場景?
使用 Block 時(shí)需要注意哪些問題?
performSelector:withObject:afterDelay:內(nèi)部大概是怎么實(shí)現(xiàn)的,有什么注意事項(xiàng)么?
如何播放 GIF 圖片,有什么優(yōu)化方案么?
使用NSUserDefaults時(shí),如何處理布爾的默認(rèn)值?(比如返回 NO,不知道是真的 NO 還是沒有設(shè)置過)
有哪幾種方式可以對圖片進(jìn)行縮放,使用 CoreGraphics 縮放時(shí)有什么注意事項(xiàng)?
哪些途徑可以讓 ViewController 瘦下來?
有哪些常見的 Crash 場景?
綜合類問題
設(shè)計(jì)一個(gè)可以無限滾動(dòng)并且支持自動(dòng)滾動(dòng)的 SlideShow。
設(shè)計(jì)一個(gè)進(jìn)度條。
設(shè)計(jì)一套大文件(如上百M(fèi)的視頻)下載方案。
如果讓你來實(shí)現(xiàn)dispatch_once,你會(huì)怎么做?
設(shè)計(jì)一個(gè)類似 iOS 主屏可以下拉出現(xiàn) Spotlight 的系統(tǒng)。(對 UIScrollView 的理解程度)
參考
http://way2ios.com/development/ios-development-2/iphone-interview-question-answers/
https://blackpixel.com/writing/2013/04/interview-questions-for-ios-and-mac-developers-1.html
https://github.com/CameronBanga/iOS-Developer-and-Designer-Interview-Questions
轉(zhuǎn)自:原文請點(diǎn)擊