2019年,精選大廠iOS面試題(附答案)

這個欄目將持續更新--請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應用導航模式有哪些?

1五、iOS中持久化方式有哪些?

1六、iOS單元測試框架有哪些?

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七、類別的做用?繼承和類別在實現中有何區別?

2八、類別和類擴展的區別

2九、咱們說的 OC 是動態運行時語言是什麼意思?

30、[類變量的@protected,@private,@public,@package,聲明各有什麼 含義?](https://www.jianshu.com/p/ec402bed50d3)

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成員對象

8九、Core Data的功能

90、堆和棧的區別

9一、線程與進程的區別和聯繫?

9二、多線程編程

9三、NSString 如何計算字符的個數?

9四、PKI體系中加密和簽名的區別?

9五、如何本身高效實現NSUserdefault?

9六、解析TCP慢啓動特性?

9七、如何用HTTP實現長鏈接?

9八、數據庫建表的時候索引有什麼用?

9九、iOS下如何實現指定線程數目的線程池?

100、談下Objective C都有哪些鎖機制,你通常用哪一個?

持續更新,請多多關注


更多:iOS面試題(附答案)


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

以下圖所示:

iOS面試題大全

iOS面試題大全

iOS面試題合集

相關文章
相關標籤/搜索