2019 iOS 面試題大全(精整版)

整理的一些iOS面試相關問題,持續更新,敬請關注

2018 iOS面試題大全---全方面剖析面試
一、2018 iOS面試題---UI相關:事件傳遞,圖像顯示,性能優化,離屏渲染
二、2018 iOS面試題---Objective_C語言特性相關問題
三、2018 iOS面試題---runtime相關
四、2018 iOS面試題---算法相關
五、2019 iOS面試題-----內存管理、自動釋放池與循環引用
六、2019 iOS面試題-----Block原理、Block變量截獲、Block的三種形式
七、2019 iOS面試題-----進程、線程、多進程、多線程、任務、隊列、NSThread、GCD、NSOprationQueue...
八、2019 iOS面試題-----多線程相關之GCD、死鎖、dispatch_barrier_async、dispatch_group_async、Dispatch Semaphore
九、2019 iOS面試題-----多線程相關之NSOperation、NSOperationQueue、NSThread+runloop實現常駐線程、加鎖
十、2019 iOS面試題-----RunLoop數據結構、RunLoop的實現機制、RunLoop的Mode、RunLoop與NSTimer和線程
十一、2019 iOS面試題-----網絡相關之HTTP協議
十二、2019 iOS面試題-----網絡相關之HTTPS、對稱加密、非對稱加密
1三、2019 iOS面試-----一個基於UDP的簡單的聊天Demo(用C語言、python、GCDAsyncUdpSocket來實現UDP通訊)
1四、2019 iOS面試題-----網絡相關之UDP的特色、UDP的報文結構及差錯檢測
1五、2019 iOS面試題-----網絡相關之TCP、三次握手、四次揮手
1六、2019 iOS面試題-----網絡相關之TCP進階:可靠數據傳輸、流量控制(滑動窗口)、擁塞控制
1七、2019 iOS面試題-----網絡相關之DNS
1八、2019 iOS面試題-----網絡相關之Cookie和Session
1九、2019 iOS面試題-----網絡相關之IP協議、IP數據報分片、IPv4編址、網絡地址轉換(NAT)
20、2019 iOS面試題-----網絡相關之IPv六、從IPv4到IPv6的遷移html

算法

一、七種常見的數組排序算法整理(C語言版本)
二、2019 算法面試相關(leetcode)--數組和鏈表
三、2019 算法面試相關(leetcode)--字符串
四、2019 算法面試相關(leetcode)--棧和隊列
五、2019 算法面試相關(leetcode)--優先隊列
六、2019 算法面試相關(leetcode)--哈希表
七、2019 算法面試相關(leetcode)--樹、二叉樹、二叉搜索樹
八、2019 算法面試相關(leetcode)--遞歸與分治
九、2019 算法面試相關(leetcode)--貪心算法
十、2019 算法面試相關(leetcode)--動態規劃(Dynamic Programming)
十一、2019 算法面試相關(leetcode)--動態規劃之揹包問題python

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

一、iOS 應用導航模式有哪些?
二、iOS 中持久化方式有哪些?
三、iOS 單元測試框架有哪些?
四、iSO 7層協議,tcp四層協議及如何對應的?
五、iOS 你在項目中用過 runtime 嗎?舉個例子
六、iOS 什麼是ARC?
七、iOS 說明並比較關鍵詞:atomatic, nonatomic
八、iOS 說明並比較關鍵詞:strong, weak, assign, copy
九、iOS 說明並比較關鍵詞:__weak,__block
十、iOS 什麼狀況下會出現循環引用?ios

以上是原文給的答案,這裏開始繼續更新答案

十一、iOS 類(class)和結構體(struct)有什麼區別?
十二、iOS 什麼是KVO和KVC?他們的使用場景是什麼?
1三、iOS 通知和協議有哪些不一樣之處?
1四、iOS 應用有哪些方式保存本地數據?他們都應用在哪些場景?
1五、iOS 內存的使用和優化的注意事項?
1六、iOS UIViewController的完整生命週期?
1七、iOS 隊列和多線程的使用原理?
1八、iOS SQLite中經常使用的SQL語句?
1九、iOS frame和bounds有什麼不一樣?
20、iOS view的touch事件有哪些?
2一、iOS 中的響應者鏈的工做原理?
2二、iOS property屬性的修飾符的做用?
2三、iOS 對於Run Loop的理解?
2四、iOS @synthesize、@dynamic的理解?
2五、iOS 對瀑布流的理解?
2六、iOS 單例模式理解與使用?
2七、iOS 對沙盒的理解?
2八、iOS 三方庫SDWebImage原理?
2九、iSO 網絡七層協議?
30、iOS 如何進行網絡消息推送?
3一、iOS SVN的使用?
3二、iOS 簡述APP發佈的上架流程?
3三、iOS 如何進行真機調試?
3四、iOS XML數據解析方式各有什麼不一樣,JSON解析有哪些框架?
3五、iOS ASIHttpRequest、AFNetWorking之間的區別?
3六、iOS HTTP協議的特色,關於HTTP請求GET和POST的區別?
3七、iOS Scoket鏈接和HTTP鏈接的區別?
3八、iOS TCP鏈接的三次握手?
3九、iOS TCP和UDP的區別與聯繫?
40、iOS Apple設備尺寸和編程尺寸?
4一、iOS 線程與進程的區別和聯繫?
4二、iOS 定時器與線程的區別?
4三、iOS 使用block有什麼好處?使用NSTimer寫出一個使用block顯示(在UILabel上)秒錶的代碼?
4四、iOS 解決cell重用的問題?
4五、iOS 怎樣使用performSelector傳入3個以上參數,其中一個爲結構體?
4六、iOS 解釋self = [super init]方法?
4七、iOS 在某個方法中 self.name = _name,name = _name 它 們有區別嗎,爲何?
4八、iOS Core Data的6成員對象?
4九、iOS iOS 開發中數據持久性有哪幾種?
50、iOS isMemberOfClass 和 isKindOfClass 聯繫與區別?
5一、iOS @public、@protected、@private 它們的含義與做用?
5二、iOS #include與#import的區別、**#import **與@class 的區別?
5三、iOS static、self、super關鍵字的做用?
5四、iOS NSNotification、Block、Delegate和KVO的區別?
5五、iOS 代理的做用?
5六、iOS 鍵路徑(keyPath)、鍵值編碼(KVC)、鍵值觀察(KVO)?
5七、iOS 循環引用的產生緣由,以及解決方法?
5八、iOS 類別的做用?
5九、iOS 簡述類目category優勢和缺點?
60、iOS 簡述內存管理基本原則?
6一、iOS OC的理解與特性?
6二、
6三、
6四、
6五、
6六、
6七、
6八、
6九、
70、
7一、
7二、
7三、
7四、
7五、
7六、
7七、
7八、iOS 你在項目中用過 GCD 嗎?舉個例子
7九、iOS Category 的實現原理,以及 Category 爲何只能加方法不能加屬性?
80、iOS block 的原理,block 的屬性修飾詞爲何用 copy,使用 block 時有哪些要注意的?
8一、iOS 的熱更新方案有哪些?介紹一下實現原理?
8二、iOS class A 繼承 class B,class B 繼承 NSObject。畫出完整的類圖?
8三、iOS 細緻地講一下事件傳遞流程?
8四、iOS main()以前的過程有哪些?
8五、iOS Category 中有 load 方法嗎?load 方法是何時調用的?load 方法能繼承嗎?
8六、iOS 講一下你對 iOS 內存管理的理解?
8七、iOS 你在項目中是怎麼優化內存的?
8八、iOS 講講 RunLoop,項目中有用到嗎?
8九、iOS 列表卡頓的緣由可能有哪些?你平時是怎麼優化的?
90、iOS 項目有沒有作過組件化?或者你是否調研過?
9一、iOS 講一下 OC 的消息機制?
9二、iOS ARC 都幫咱們作了什麼?
9三、iOS 實現 isEqual 和 hash 方法時要注意什麼?
9四、iOS 線程安全的處理手段有哪些?把你想到的都說一下?
9五、iOS 說一下 OperationQueue 和 GCD 的區別,以及各自的優點?
9六、iOS Swift 中 struct 和 class 的區別?
9七、iOS Swift 是如何實現多態的?
9八、iOS Swift 和 OC,各自的優缺點有哪些?
9九、iOS 若是讓你實現 NSNotificationCenter,講一下思路?
100、iOS 若是讓你實現 GCD 的線程池,講一下思路?
10一、iOS 爲何是三次握手?爲何是四次揮手?三次揮手不行嗎?
10二、iOS 講一下 HTTPS 密鑰傳輸流程?
10三、iOS 講講 MVC、MVVM、MVP,以及你在項目裏具體是怎麼寫的?
10四、iOS 系統框架裏使用了哪些設計模式?至少說6個?
10五、iOS 你本身用過哪些設計模式?
10六、iOS 哪個項目技術點最能體現本身的技術實力?具體講一下
10七、iOS 你在項目中遇到的最大的問題是什麼?你是怎麼解決的?
10八、iOS 用 Alamofire 比直接使用 URLSession,優點是什麼?
10九、你是如何學習 iOS 的?
1十、iOS 和產品經理、測試產生衝突時,你是怎麼解決的?
1十一、iOS 手寫一下快排?
1十二、iOS 遍歷一個樹,要求不能用遞歸?
11三、iOS 找出兩個字符串的最大公共子字符串?
11四、
11五、
11六、
11七、
11八、
11九、
120、
12一、
12二、
12三、
12四、
12五、
12六、
12七、
12八、iOS 爲何說Objective-C是一門動態的語言?
12九、iOS 進程和線程的區別?同步異步的區別?並行和併發的區別?
130、iOS 用StoryBoard開發界面有什麼弊端?如何避免?
13一、iOS GCD的一些經常使用的函數?(group,barrier,信號量,線程同步)?
13二、iOS block的實質是什麼?一共有幾種block?都是什麼狀況下生成的?
13三、iOS 爲何在默認狀況下沒法修改被block捕獲的變量? __block都作了什麼?
13四、iOS 模擬一下循環引用的一個狀況?block實現界面反向傳值如何實現?
13五、iOS 何時會報unrecognized selector錯誤?iOS有哪些機制來避免走到這一步?
13六、iOS objc在向一個對象發送消息時,發生了什麼?
13七、iOS 可否向編譯後獲得的類中增長實例變量?可否向運行時建立的類中添加實例變量?爲何
13八、iOS runtime如何實現weak變量的自動置nil?
13九、iOS 給類添加一個屬性後,在類結構體裏哪些元素會發生變化?
140、iOS runloop是來作什麼的?runloop和線程有什麼關係?主線程默認開啓了runloop麼?子線程呢?
14一、iOS runloop的mode是用來作什麼的?有幾種mode?
14二、iOS 蘋果是如何實現Autorelease Pool的?
14三、iOS 爲何把NSTimer對象以NSDefaultRunLoopMode(kCFRunLoopDefaultMode)添加到主運行循環之後,滑動scrollview的時候NSTimer卻不動了?
14四、iOS isa指針?(對象的isa,類對象的isa,元類的isa都要說)
14五、iOS 運行時能增長成員變量麼?能增長屬性麼?若是能,如何增長?若是不能,爲何?
14六、iOS objc中向一個nil對象發送消息將會發生什麼?(返回值是對象,是標量,結構體)
14七、iOS UITableview的優化方法(緩存高度,異步繪製,減小層級,hide,避免離屏渲染)
14八、iOS 有沒有用過運行時,用它都能作什麼?(交換方法,建立類,給新建立的類增長方法,改變isa指針)
14九、iOS 看過哪些第三方框架的源碼?都是如何實現的?(若是沒有,問一下多圖下載的設計)
150、iOS KVC的使用?實現原理?(KVC拿到key之後,是如何賦值的?知不知道集合操做符,能不能訪問私有屬性,能不能直接訪問_ivar)
15一、
15二、
15三、iOS UITableViewCell上有個UILabel,顯示NSTimer實現的秒錶時間,手指滾動cell過程當中,label是否刷新,爲何?
15四、iOS 有a、b、c、d 4個異步請求,如何判斷a、b、c、d都完成執行?若是須要a、b、c、d順序執行,該如何實現?
15五、iOS 一個view已經初始化完畢,view上面添加了n個button,除用view的tag以外,還能夠採用什麼辦法來找到本身想要的button來修改button的值?
15六、iOS 淺複製和深複製的區別?
15七、iOS MVC設計模式是什麼? 你還熟悉什麼設計模式?他們和MVC有什麼不一樣的地方?
15八、 iOS 內存管理的幾條原則時什麼?按照默認法則.哪些關鍵字生成的對象須要手動釋放?在和property結合的時候如何有效的避免內存泄露?
15九、iOS Objective-C如何對內存管理的,說說你的見解以及你遇到的問題以及解決方法?
160、iOS 以scheduledTimerWithTimeInterval的方式觸發的timer,在滑動頁面上的列表時,timer會暫停,爲何?該如何解決面試


做爲一個開發者,有一個學習的氛圍跟一個交流圈子特別重要,這是一個個人iOS交流羣:810733363。無論你是小白仍是大牛歡迎入駐 ,分享BAT,阿里面試題、面試經驗,討論技術, 你們一塊兒交流學習成長!但願幫助開發者少走彎路。

 來源:本文爲第三方轉載,若有侵權請聯繫小編刪除。 算法

相關文章
相關標籤/搜索