2018 iOS 面試題大全(補充完整版)
原文地址:2018 iOS 面試題大全
由於原作者並沒有繼續更新,這裡我轉過來繼續更新下
這個欄目將持續更新--請iOS的小夥伴關注!
1、ofollow,noindex">iOS 應用導航模式有哪些?
6、iOS 什麼是ARC?
7、iOS 說明並比較關鍵詞:atomatic, nonatomic
8、iOS 說明並比較關鍵詞:strong, weak, assign, copy
以上是原文給的答案,這裡開始繼續更新答案
11、iOS 類(class)和結構體(struct)有什麼區別?
14、iOS 應用有哪些方式儲存本地資料?他們都應用在哪些場景?
16、iOS UIViewController的完整生命週期?
24、iOS @synthesize、@dynamic的理解?
25、iOS 對瀑布流的理解?
27、iOS 對沙盒的理解?
28、iOS 三方庫SDWebImage原理?
29、iSO 網路七層協議?
31、iOS SVN的使用?
34、iOS XML資料解析方式各有什麼不同,JSON解析有哪些框架?
35、iOS ASIHttpRequest、AFNetWorking之間的區別?
36、iOS HTTP協議的特點,關於HTTP請求GET和POST的區別?
43、iOS 使用block有什麼好處?使用NSTimer寫出一個使用block顯示(在UILabel上)秒錶的程式碼?
45、iOS 怎樣使用performSelector傳入3個以上引數,其中一個為結構體?
46、iOS 解釋self = [super init]方法?
47、iOS 在某個方法中 self.name = _name,name = _name 它 們有區別嗎,為什麼?
50、iOS isMemberOfClass 和 isKindOfClass 聯絡與區別?
51、iOS @public、@protected、@private 它們的含義與作用?
52、iOS #include與#import的區別、**#import **與@class 的區別?
53、iOS static、self、super關鍵字的作用?
54、iOS NSNotification、Block、Delegate和KVO的區別?
55、iOS 代理的作用?
56、iOS 鍵路徑(keyPath)、鍵值編碼(KVC)、鍵值觀察(KVO)?
58、iOS 類別的作用?
59、360a3be" target="_blank" rel="nofollow,noindex">iOS 簡述類目category優點和缺點?
61、iOS OC的理解與特性?
62、
63、
64、
65、
66、
67、
68、
69、
70、
71、
72、
73、
74、
75、
76、
77、
79、iOS Category 的實現原理,以及 Category 為什麼只能加方法不能加屬性?
80、iOS block 的原理,block 的屬性修飾詞為什麼用 copy,使用 block 時有哪些要注意的?
82、iOS class A 繼承 class B,class B 繼承 NSObject。畫出完整的類圖?
85、iOS Category 中有 load 方法嗎?load 方法是什麼時候呼叫的?load 方法能繼承嗎?
89、iOS 列表卡頓的原因可能有哪些?你平時是怎麼優化的?
93、iOS 實現 isEqual 和 hash 方法時要注意什麼?
94、iOS 執行緒安全的處理手段有哪些?把你想到的都說一下?
95、iOS 說一下 OperationQueue 和 GCD 的區別,以及各自的優勢?
96、iOS Swift 中 struct 和 class 的區別?
99、iOS 如果讓你實現 NSNotificationCenter,講一下思路?
100、iOS 如果讓你實現 GCD 的執行緒池,講一下思路?
101、iOS 為什麼是三次握手?為什麼是四次揮手?三次揮手不行嗎?
103、iOS 講講 MVC、MVVM、MVP,以及你在專案裡具體是怎麼寫的?
104、iOS 系統框架裡使用了哪些設計模式?至少說6個?
105、iOS 你自己用過哪些設計模式?
106、iOS 哪一個專案技術點最能體現自己的技術實力?具體講一下
107、iOS 你在專案中遇到的最大的問題是什麼?你是怎麼解決的?
108、iOS 用 Alamofire 比直接使用 URLSession,優勢是什麼?
109、你是如何學習 iOS 的?
110、iOS 和產品經理、測試產生衝突時,你是怎麼解決的?
111、iOS 手寫一下快排?
114、
115、
116、
117、
118、
119、
120、
121、
122、
123、
124、
125、
126、
127、
128、iOS 為什麼說Objective-C是一門動態的語言?
129、iOS 程序和執行緒的區別?同步非同步的區別?並行和併發的區別?
130、iOS 用StoryBoard開發介面有什麼弊端?如何避免?
131、iOS GCD的一些常用的函式?(group,barrier,訊號量,執行緒同步)?
132、iOS block的實質是什麼?一共有幾種block?都是什麼情況下生成的?
133、iOS 為什麼在預設情況下無法修改被block捕獲的變數? __block都做了什麼?
134、iOS 模擬一下迴圈引用的一個情況?block實現介面反向傳值如何實現?
135、iOS 什麼時候會報unrecognized selector錯誤?iOS有哪些機制來避免走到這一步?
136、iOS objc在向一個物件傳送訊息時,發生了什麼?
137、iOS 能否向編譯後得到的類中增加例項變數?能否向執行時建立的類中新增例項變數?為什麼
138、iOS runtime如何實現weak變數的自動置nil?
139、iOS 給類新增一個屬性後,在類結構體裡哪些元素會發生變化?
140、iOS runloop是來做什麼的?runloop和執行緒有什麼關係?主執行緒預設開啟了runloop麼?子執行緒呢?
141、iOS runloop的mode是用來做什麼的?有幾種mode?
142、iOS 蘋果是如何實現Autorelease Pool的?
143、iOS 為什麼把NSTimer物件以NSDefaultRunLoopMode(kCFRunLoopDefaultMode)新增到主執行迴圈以後,滑動scrollview的時候NSTimer卻不動了?
144、iOS isa指標?(物件的isa,類物件的isa,元類的isa都要說)
145、iOS 執行時能增加成員變數麼?能增加屬性麼?如果能,如何增加?如果不能,為什麼?
146、iOS objc中向一個nil物件傳送訊息將會發生什麼?(返回值是物件,是標量,結構體)
147、iOS UITableview的優化方法(快取高度,非同步繪製,減少層級,hide,避免離屏渲染)
148、iOS 有沒有用過執行時,用它都能做什麼?(交換方法,建立類,給新建立的類增加方法,改變isa指標)
149、iOS 看過哪些第三方框架的原始碼?都是如何實現的?(如果沒有,問一下多圖下載的設計)
150、iOS KVC的使用?實現原理?(KVC拿到key以後,是如何賦值的?知不知道集合操作符,能不能訪問私有屬性,能不能直接訪問_ivar)
151、
152、
153、iOS UITableViewCell上有個UILabel,顯示NSTimer實現的秒錶時間,手指滾動cell過程中,label是否重新整理,為什麼?
154、iOS 有a、b、c、d 4個非同步請求,如何判斷a、b、c、d都完成執行?如果需要a、b、c、d順序執行,該如何實現?
155、iOS 一個view已經初始化完畢,view上面添加了n個button,除用view的tag之外,還可以採用什麼辦法來找到自己想要的button來修改button的值?
156、iOS 淺複製和深複製的區別?
157、iOS MVC設計模式是什麼? 你還熟悉什麼設計模式?他們和MVC有什麼不同的地方?
158、iOS 記憶體管理的幾條原則時什麼?按照預設法則.哪些關鍵字生成的物件需要手動釋放?在和property結合的時候如何有效的避免記憶體洩露?
159、iOS Objective-C如何對記憶體管理的,說說你的看法以及你遇到的問題以及解決方法?
160、iOS 以scheduledTimerWithTimeInterval的方式觸發的timer,在滑動頁面上的列表時,timer會暫停,為什麼?該如何解決