這個欄目將持續更新--請iOS的小夥伴關注!
(答案不惟一,歡迎留言)面試
一、多線程的應用objective-c
二、GCD實現多個請求都完成以後返回結果數據庫
三、A、B兩個int數組,獲得A數組中B數組不包含的元素編程
四、事件傳遞鏈,頁面上一個按鈕,按鈕和它的superView有同樣的action,爲何只執行button的action?數組
五、runtime的應用性能優化
六、array中加入對象,對象的retainCount會加1 如何是的對象本身管理本身的生命週期服務器
七、bugly的卡頓監控原理多線程
八、如何架構一個app架構
九、c中,malloc對象,傳入了size,free只須要指針,這是爲何?併發
十、數據庫選擇緣由(realm 、coreData、FMDB、Sqlite)
十一、數據庫作過哪些優化
十二、腳本打包原理
1三、app運行過程當中,同時最多有幾個線程,怎麼實現的高併發
1七、iOS atomatic nonatomic區別和理解
1八、[#import 跟 #include 有 什 麼 區 別 , @class 呢 , #import<> 跟 #import」 」有什麼區別?](https://www.jianshu.com/p/03f4cd6e7ed4)
1九、Object-c 的類能夠多重繼承麼?能夠實現多個接口麼?Category 是什 麼?重寫一個類的方式用繼承好仍是分類好?爲何?
20、屬性 readwrite,readonly,assign,retain,copy,nonatomic 各是 什麼做用,在那種狀況下用?
2一、對於語句 NSString*obj=[[NSDataalloc]init];obj 在編譯時和運行時 分別時什麼類型的對象?
2二、常見的 objective-c 的數據類型有那些, 和 C 的基本數據類型有什 麼區別?如:NSInteger 和 int
2三、Objective-C 如何對內存管理的,說說你的見解和解決方法?
2四、原子(atomic)跟非原子(non-atomic)屬性有什麼區別?
2五、ObjectC 中建立線程的方法是什麼?若是在主線程中執行代碼,方 法是什麼?若是想延時執行代碼、方法又是什麼?
2六、淺複製和深複製的區別?
2八、類別和類擴展的區別
30、[類變量的@protected,@private,@public,@package,聲明各有什麼 含義?](https://www.jianshu.com/p/ec402bed50d3)
3一、簡述 OC 中內存管理機制。與 retain 配對使用的方法是 dealloc 還 是 release,爲何?須要與 alloc 配對使用的方法是 dealloc 仍是 release,爲何...
3二、說說響應鏈
3四、RunLoop 是什麼?
3五、簡述你對 UIView、UIWindow 和 CALayer 的理解
3六、iOS 的動態性
3九、什麼狀況使用 weak 關鍵字,相比 assign 有什麼不一樣?
4二、用 @property 聲明的 NSString(或 NSArray,NSDictionary)常用 copy 關鍵字,爲何?若是改用 strong 關鍵字,可能形成什麼問題?
4三、怎麼理解淺拷貝與深拷貝?
4六、@protocol 和 category 中如何使用 @property?
4七、category 和 extension 有什麼區別?category 是如何加載的?category 的方法覆蓋是怎麼處理的?
4八、@synthesize 和 @dynamic 分別有什麼做用?
4九、ARC 下,不顯式指定任何屬性關鍵字時,默認的關鍵字都有哪些?
50、在有了自動合成屬性實例變量以後,@synthesize 還有哪些使用場景?
5一、一個 objc 對象如何進行內存佈局(考慮有父類的狀況)?
5二、runtime 如何經過 selector 找到對應的 IMP 地址(分別考慮實例方法和類方法)?Selector、Method 和 IMP 的有什麼區別與聯繫?
5四、objc_msgSend、_objc_msgForward 都是作什麼的?OC 中的消息調用流程是怎樣的?
5五、可否向編譯後獲得的類中增長實例變量?可否向運行時建立的類中添加實例變量?爲何?
5八、以 + scheduledTimerInterval... 的方式觸發的 timer,在滑動頁面上的列表時,timer 會暫定回調,爲何?如何解決?WithTime
6七、dispatch_barrier_async 的做用是什麼?
7二、什麼是事件響應鏈?
7三、當咱們要作一些基於 CALayer 的動畫時,有時須要設置 layer 的錨點來配合動畫,這時候咱們須要注意什麼?
80、介紹一下觀察者模式
8一、在一個HTTPS鏈接的網站裏,輸入帳號密碼點擊登陸後,到服務器返回這個請求前,中間經歷了什麼
8二、在一個app中間有一個button,在你手觸摸屏幕點擊後,到這個button收到點擊事件,中間發生了什麼
8四、鍵路徑(keyPath)、鍵值編碼(KVC)、鍵值觀察(KVO)
8五、NSNotification、Block、Delegate和KVO的區別
8九、Core Data的功能
90、堆和棧的區別
9一、線程與進程的區別和聯繫?
9二、多線程編程
9六、解析TCP慢啓動特性?
100、談下Objective C都有哪些鎖機制,你通常用哪一個?
持續更新,請多多關注
更多:iOS面試題(附答案)
另外附上一份pdf的面試題大全,以及收集的各大廠面試題 ! 要的加iOS高級技術羣:624212887,羣文件直接獲取
以下圖所示: