2019年,iOS 面試題持續更新(附答案)

這個欄目將持續更新--請iOS的小夥伴關注!

一、多線程的應用
二、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應用導航模式有哪些?
1五、iOS中持久化方式有哪些?
1六、iOS單元測試框架有哪些?
1七、iOS atomatic nonatomic區別和理解
1八、#import 跟 #include 有 什 麼 區 別 , @class 呢 , #import<> 跟 #import」 」有什麼區別?
1九、Object-c 的類能夠多重繼承麼?能夠實現多個接口麼?Category 是什 麼?重寫一個類的方式用繼承好仍是分類好?爲何?
20、屬性 readwrite,readonly,assign,retain,copy,nonatomic 各是 什麼做用,在那種狀況下用?
2一、[對於語句 NSString*obj=[[NSDataalloc]init];obj 在編譯時和運行時 分別時什麼類型的對象?](https://www.jianshu.com/p/8c2...
2二、常見的 objective-c 的數據類型有那些, 和 C 的基本數據類型有什 麼區別?如:NSInteger 和 int
2三、Objective-C 如何對內存管理的,說說你的見解和解決方法?
2四、原子(atomic)跟非原子(non-atomic)屬性有什麼區別?
2五、ObjectC 中建立線程的方法是什麼?若是在主線程中執行代碼,方 法是什麼?若是想延時執行代碼、方法又是什麼?
2六、淺複製和深複製的區別?
2七、類別的做用?繼承和類別在實現中有何區別?
2八、類別和類擴展的區別
2九、咱們說的 OC 是動態運行時語言是什麼意思?
30、類變量的@protected,@private,@public,@package,聲明各有什麼 含義?
3一、簡述 OC 中內存管理機制。與 retain 配對使用的方法是 dealloc 還 是 release,爲何?須要與 alloc 配對使用的方法是 dealloc 仍是 release,爲何...
3二、說說響應鏈
3三、線程是什麼?進程是什麼?兩者有什麼區別和聯繫?
3四、RunLoop 是什麼?
3五、簡述你對 UIView、UIWindow 和 CALayer 的理解
3六、iOS 的動態性
3七、談談對性能優化的見解,如何作?
3八、NSAutoreleasePool 是怎麼工做的?
3九、什麼狀況使用 weak 關鍵字,相比 assign 有什麼不一樣?
40、runtime 如何實現 weak 屬性?
4一、怎麼用 copy 關鍵字?
4二、用 @property 聲明的 NSString(或 NSArray,NSDictionary)常用 copy 關鍵字,爲何?若是改用 strong 關鍵字,可能形成什麼問題?
4三、怎麼理解淺拷貝與深拷貝?
4四、如何讓本身的類用 copy 修飾符?
4五、@property 的本質是什麼?
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 中的類方法和實例方法有什麼本質區別和聯繫?
5四、objc_msgSend、_objc_msgForward 都是作什麼的?OC 中的消息調用流程是怎樣的?
5五、可否向編譯後獲得的類中增長實例變量?可否向運行時建立的類中添加實例變量?爲何?
5六、runloop 和線程有什麼關係?
5七、runloop 的 mode 做用是什麼?
5八、以 + scheduledTimerInterval... 的方式觸發的 timer,在滑動頁面上的列表時,timer 會暫定回調,爲何?如何解決?WithTime
5九、猜測 runloop 內部是如何實現的?
60、聊一聊iOS 中的離屏渲染?
6一、objc 使用什麼機制管理對象內存?
6二、ARC 經過什麼方式幫助開發者管理內存?
6三、iOS 開發中常見的內存問題有哪些?
6四、一個 autorealese 對象在什麼時刻釋放?
6五、如何實現 autoreleasepool 的?
6六、如何用 GCD 同步若干個異步調用?
6七、dispatch_barrier_async 的做用是什麼?
6八、如何手動觸發一個 value 的 KVO?
6九、BAD_ACCESS 在什麼狀況下出現?
70、動態計算文本高度的時候須要注意什麼?
7一、如何優化 App 的啓動耗時?
7二、什麼是事件響應鏈?
7三、當咱們要作一些基於 CALayer 的動畫時,有時須要設置 layer 的錨點來配合動畫,這時候咱們須要注意什麼?
7四、聊一聊 TCP 的滑動窗口協議?
7五、聊一聊 TCP 的擁塞控制相關過程?
7六、聊一聊你知道的幾種查找樹?
7七、load 和 initialize 方法的區別?
7八、如何優化 App 的的包大小?
7九、struct和class的區別
80、介紹一下觀察者模式
8一、在一個HTTPS鏈接的網站裏,輸入帳號密碼點擊登陸後,到服務器返回這個請求前,中間經歷了什麼
8二、在一個app中間有一個button,在你手觸摸屏幕點擊後,到這個button收到點擊事件,中間發生了什麼
8三、循環引用的產生緣由,以及解決方法
8四、鍵路徑(keyPath)、鍵值編碼(KVC)、鍵值觀察(KVO)
8五、NSNotification、Block、Delegate和KVO的區別
8六、static、self、super關鍵字的做用
8七、iOS開發中數據持久性有哪幾種?
8八、Core Data的6成員對象web

持續更新,多多關注面試

另外我附上一份pdf的面試題大全,以及收集的各大廠面試題 ! 要的加iOS高級技術羣:624212887,羣文件直接獲取

以下圖所示:objective-c

iOS面試題大全

iOS面試題大全

iOS面試題合集

相關文章
相關標籤/搜索