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

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

1、多線程的應用
2、GCD實現多個請求都完成之後返回結果
3、A、B兩個int數組,得到A數組中B數組不包含的元素
4、事件傳遞鏈,頁面上一個按鈕,按鈕和它的superView有一樣的action,爲什麼只執行button的action?
5、runtime的應用
6、array中加入對象,對象的retainCount會加1 如何是的對象自己管理自己的生命週期
7、bugly的卡頓監控原理
8、如何架構一個app
9、c中,malloc對象,傳入了size,free只需要指針,這是爲什麼?
10、數據庫選擇原因(realm 、coreData、FMDB、Sqlite)
11、數據庫做過哪些優化
12、腳本打包原理
13、app運行過程中,同時最多有幾個線程,怎麼實現的高併發
14、iOS應用導航模式有哪些?
15、iOS中持久化方式有哪些?
16、iOS單元測試框架有哪些?
17、iOS atomatic nonatomic區別和理解
18、#import 跟 #include 有 什 麼 區 別 , @class 呢 , #import<> 跟 #import” ”有什麼區別?
19、Object-c 的類可以多重繼承麼?可以實現多個接口麼?Category 是什 麼?重寫一個類的方式用繼承好還是分類好?爲什麼?
20、屬性 readwrite,readonly,assign,retain,copy,nonatomic 各是 什麼作用,在那種情況下用?
21、[對於語句 NSString*obj=[[NSDataalloc]init];obj 在編譯時和運行時 分別時什麼類型的對象?](https://www.jianshu.com/p/8c2...
22、常見的 objective-c 的數據類型有那些, 和 C 的基本數據類型有什 麼區別?如:NSInteger 和 int
23、Objective-C 如何對內存管理的,說說你的看法和解決方法?
24、原子(atomic)跟非原子(non-atomic)屬性有什麼區別?
25、ObjectC 中創建線程的方法是什麼?如果在主線程中執行代碼,方 法是什麼?如果想延時執行代碼、方法又是什麼?
26、淺複製和深複製的區別?
27、類別的作用?繼承和類別在實現中有何區別?
28、類別和類擴展的區別
29、我們說的 OC 是動態運行時語言是什麼意思?
30、類變量的@protected,@private,@public,@package,聲明各有什麼 含義?
31、簡述 OC 中內存管理機制。與 retain 配對使用的方法是 dealloc 還 是 release,爲什麼?需要與 alloc 配對使用的方法是 dealloc 還是 release,爲什麼...
32、說說響應鏈
33、線程是什麼?進程是什麼?二者有什麼區別和聯繫?
34、RunLoop 是什麼?
35、簡述你對 UIView、UIWindow 和 CALayer 的理解
36、iOS 的動態性
37、談談對性能優化的看法,如何做?
38、NSAutoreleasePool 是怎麼工作的?
39、什麼情況使用 weak 關鍵字,相比 assign 有什麼不同?
40、runtime 如何實現 weak 屬性?
41、怎麼用 copy 關鍵字?
42、用 @property 聲明的 NSString(或 NSArray,NSDictionary)經常使用 copy 關鍵字,爲什麼?如果改用 strong 關鍵字,可能造成什麼問題?
43、怎麼理解淺拷貝與深拷貝?
44、如何讓自己的類用 copy 修飾符?
45、@property 的本質是什麼?
46、@protocol 和 category 中如何使用 @property?
47、category 和 extension 有什麼區別?category 是如何加載的?category 的方法覆蓋是怎麼處理的?
48、@synthesize 和 @dynamic 分別有什麼作用?
49、ARC 下,不顯式指定任何屬性關鍵字時,默認的關鍵字都有哪些?
50、在有了自動合成屬性實例變量之後,@synthesize 還有哪些使用場景?
51、一個 objc 對象如何進行內存佈局(考慮有父類的情況)?
52、runtime 如何通過 selector 找到對應的 IMP 地址(分別考慮實例方法和類方法)?Selector、Method 和 IMP 的有什麼區別與聯繫?
53、objc 中的類方法和實例方法有什麼本質區別和聯繫?
54、objc_msgSend、_objc_msgForward 都是做什麼的?OC 中的消息調用流程是怎樣的?
55、能否向編譯後得到的類中增加實例變量?能否向運行時創建的類中添加實例變量?爲什麼?
56、runloop 和線程有什麼關係?
57、runloop 的 mode 作用是什麼?
58、以 + scheduledTimerInterval... 的方式觸發的 timer,在滑動頁面上的列表時,timer 會暫定回調,爲什麼?如何解決?WithTime
59、猜想 runloop 內部是如何實現的?
60、聊一聊iOS 中的離屏渲染?
61、objc 使用什麼機制管理對象內存?
62、ARC 通過什麼方式幫助開發者管理內存?
63、iOS 開發中常見的內存問題有哪些?
64、一個 autorealese 對象在什麼時刻釋放?
65、如何實現 autoreleasepool 的?
66、如何用 GCD 同步若干個異步調用?
67、dispatch_barrier_async 的作用是什麼?
68、如何手動觸發一個 value 的 KVO?
69、BAD_ACCESS 在什麼情況下出現?
70、動態計算文本高度的時候需要注意什麼?
71、如何優化 App 的啓動耗時?
72、什麼是事件響應鏈?
73、當我們要做一些基於 CALayer 的動畫時,有時需要設置 layer 的錨點來配合動畫,這時候我們需要注意什麼?
74、聊一聊 TCP 的滑動窗口協議?
75、聊一聊 TCP 的擁塞控制相關過程?
76、聊一聊你知道的幾種查找樹?
77、load 和 initialize 方法的區別?
78、如何優化 App 的的包大小?
79、struct和class的區別
80、介紹一下觀察者模式
81、在一個HTTPS連接的網站裏,輸入賬號密碼點擊登錄後,到服務器返回這個請求前,中間經歷了什麼
82、在一個app中間有一個button,在你手觸摸屏幕點擊後,到這個button收到點擊事件,中間發生了什麼
83、循環引用的產生原因,以及解決方法
84、鍵路徑(keyPath)、鍵值編碼(KVC)、鍵值觀察(KVO)
85、NSNotification、Block、Delegate和KVO的區別
86、static、self、super關鍵字的作用
87、iOS開發中數據持久性有哪幾種?
88、Core Data的6成員對象

持續更新,多多關注

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

如下圖所示:

iOS面試題大全

iOS面試題大全

iOS面試題合集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章