(戳這裏跳轉到Github)python
- 分類
- 擴展
- 代理(Delegate)
- 通知(NSNotification)
- KVO (Key-value observing)
- KVC(Key-value coding)
- 屬性關鍵字
- RunLoop概念
- RunLoop的數據結構
- RunLoop的Mode
- RunLoop的實現機制
- RunLoop與NSTimer
- RunLoop和線程
- 講一下 Observer ?
- autoreleasePool 在什麼時候被釋放?
- 解釋一下 事件響應 的過程?
- 解釋一下 手勢識別 的過程?
- 解釋一下 GCD 在 Runloop 中的使用?
- 解釋一下 NSTimer。
- AFNetworking 中如何運用 Runloop?
- PerformSelector 的實現原理?
- 利用 runloop 解釋一下頁面的渲染的過程?
- 如何使用 Runloop 實現一個常駐線程?這種線程通常有什麼做用?
- 爲何 NSTimer 有時候很差使?
- PerformSelector:afterDelay:這個方法在子線程中是否起做用?爲何?怎麼解決?
- 什麼是異步繪製?
- 分類和類拓展的區別?
- objc在向一個對象發送消息時,發生了什麼?
- objc中向一個nil對象發送消息將會發生什麼?
- objc中向一個對象發送消息[obj foo]和objc_msgSend()函數之間有什麼關係?
- 何時會報unrecognized selector的異常?
- 可否向編譯後獲得的類中增長實例變量?可否向運行時建立的類中添加實例變量?爲何?
- 給類添加一個屬性後,在類結構體裏哪些元素會發生變化?
- 一個objc對象的isa的指針指向什麼?有什麼做用?
- [self class] 與 [super class]
- runtime如何經過selector找到對應的IMP地址?
- _objc_msgForward函數是作什麼的,直接調用它將會發生什麼?
- runtime如何實現weak變量的自動置nil?知道SideTable嗎?
- isKindOfClass 與 isMemberOfClass
- 使用runtime Associate方法關聯的對象,須要在主對象dealloc的時候釋放麼?
- 什麼是method swizzling(俗稱黑魔法)
- Compile Error / Runtime Crash / NSLog…?
- 實例對象的數據結構?
- 類對象的數據結構?
- 元類對象的數據結構?
- Category 的實現原理?
- 如何給
Category
添加屬性?關聯對象以什麼形式進行存儲?- Category 有哪些用途?
- Category 和 Extension 有什麼區別
- 說一下 Method Swizzling? 說一下在實際開發中你在什麼場景下使用過?
- 如何實現動態添加方法和屬性?
- 說一下對
isa
指針的理解, 對象的isa
指針指向哪裏?isa
指針有哪兩種類型?- Obj-C 中的類信息存放在哪裏?
- 一個 NSObject 對象佔用多少內存空間?
- 說一下對 class_rw_t 的理解?
- 說一下對 class_ro_t 的理解?
- 分類和類拓展的區別?
- 如何運用 Runtime 字典轉模型?
- 如何運用 Runtime 進行模型的歸解檔
- 在 Obj-C 中爲何叫發消息而不叫函數調用?
- 分類和類拓展的區別?
- 說一下 Runtime 的方法緩存?存儲的形式、數據結構以及查找的過程?
- 是否瞭解 Type Encoding?
- Objective-C 如何實現多重繼承?
- Category 可不能夠添加實例對象?爲何?
- Obj-c對象、類的本質是經過什麼數據結構實現的?
- Category 在編譯事後,是在什麼時機與原有的類合併到一塊兒的?
- 代碼題(一)
- 代碼題(二)
(戳這裏跳轉到Github)github
- UIView與CALayer
- 事件傳遞與視圖響應鏈
- 圖像顯示原理
- UI卡頓掉幀緣由
- 滑動優化方案
- UI繪製原理
- 離屏渲染
- 什麼是Block?
- Block變量截獲
- Block的幾種形式
- 進程
- 線程
- 進程和線程的關係
- 多進程
- 多線程
- 任務
- 隊列
- iOS中的多線程
- GCD---隊列
- 死鎖
- GCD任務執行順序
- dispatch_barrier_async
- dispatch_group_async
- Dispatch Semaphore
- 延時函數(dispatch_after)
- 使用dispatch_once實現單例
- NSOperationQueue的優勢
- NSOperation和NSOperationQueue
- NSThread+runloop實現常駐線程
- 自旋鎖與互斥鎖
- 內存佈局
- 內存管理方案
- MRC(手動引用計數)和ARC(自動引用計數)
- 循環引用
- 講一下 iOS 內存管理的理解
- 使用自動引用計數應遵循的原則
- ARC自動內存管理的原則
- 訪問 __weak 修飾的變量,是否已經被註冊在了 @autoreleasePool 中?爲何?
- ARC 的 retainCount 怎麼存儲的?
- 簡要說一下 @autoreleasePool 的數據結構?
- __weak 和 _Unsafe_Unretain 的區別?
- 爲何已經有了 ARC ,但仍是須要 @AutoreleasePool 的存在?
- __weak 屬性修飾的變量,如何實如今變量沒有強引用後自動置爲 nil ?
- 說一下對 retain,copy,assign,weak,_Unsafe_Unretain 關鍵字的理解。
- ARC 在編譯時作了哪些工做
- ARC 在運行時作了哪些工做?
- 函數返回一個對象時,會對對象 autorelease 麼?爲何?
- 說一下什麼是 懸垂指針?什麼是 野指針?
- 內存管理默認的關鍵字是什麼?
- 內存中的5大區分別是什麼?
- 是否瞭解 深拷貝 和 淺拷貝 的概念,集合類深拷貝如何實現
- BAD_ACCESS 在什麼狀況下出現?
- 講一下 @dynamic 關鍵字?
- autoReleasePool 何時釋放?
- retain、release 的實現機制?
- 能不能簡述一下
Dealloc
的實現機制- 在 MRC 下如何重寫屬性的 Setter 和 Getter?
- 在 Obj-C 中,如何檢測內存泄漏?你知道哪些方式?
(戳這裏跳轉到Github)設計模式
- 不用中間變量,用兩種方法交換A和B的值
- 求最大公約數
- 模擬棧操做
- 排序算法
- 折半查找(二分查找)
- 集合結構 線性結構 樹形結構 圖形結構
- 數據結構的存儲
- 單向鏈表\雙向鏈表\循環鏈表
- 二叉樹/平衡二叉樹
- 過河經典問題,超詳細解析
- 字符串反轉
- 有序數組合並
- HASH算法
- 查找兩個子視圖的共同父視圖
- 求無序數組中的中位數
- 請求報文和響應報文
- HTTP的請求方式
- HTTP的特色
- HTTPS和HTTP的區別
- HTTPS的鏈接創建流程
- 對稱加密和非對稱加密
- 分別用C語言、python、GCDAsyncUdpSocket來實現UDP通訊
- 利用python實現Udp通訊demo
- iOS端基於UDP的簡易聊天demo
- UDP的特色
- UDP的報文結構
- UDP差錯檢測
- TCP的特色和報文結構
- 三次握手
- 四次揮手
- 可靠數據傳輸
- 流量控制
- 擁塞控制
- DNS
- DNS服務器
- DNS解析過程
- DNS記錄和報文
- DNS解析安全問題
- Cookie
- Session
- Cookie 和Session 的區別:
- 網絡層和傳輸層的區別
- IP協議
- IP數據報分片
- IPv4編址
- IPv6數據報格式
- 從IPv4到IPv6的遷移
- 基本概念
- 怎麼檢測離屏渲染:
- 怎麼檢測圖層混合:
- 光柵化
- 入門級
- 中級
- 高級
- 如何提高 tableview 的流暢度?
- 如何有效下降 APP 包的大小?
- 平常如何檢查內存泄露?
- 什麼是 離屏渲染?什麼狀況下會觸發?該如何應對?
- 如何高性能的畫一個圓角?
- 如何優化 APP 的電量?
- 簡要說一下經常使用的動畫庫。
- 請說一下對 CALayer 的認識
- CALayer 的 Contents 有幾下幾個主要的屬性
- 編程中的六大設計原則?
- 如何設計一個圖片緩存框架?
- 如何設計一個時長統計框架?
- 如何實現 App 換膚(夜間模式)?
- 簡述 SSL 加密的過程用了哪些加密方法,爲什麼這麼做?
- RSA非對稱加密
更新時間:2019年6月26號(添加網絡相關面試題) 更新時間:2019年6月27號(完善網絡相關面試題) 更新時間:2019年6月29號15:09(添加內存管理方面面試題) 更新時間:2019年6月29號16:10(添加Runtime相關面試題) 更新時間:2019年6月29號16:29(添加Runloop相關面試題) 更新時間:2019年7月1號13:45(添加性能優化相關面試題) 更新時間:2019年7月2號20:42(添加設計模式相關面試題) 更新時間:2019年7月2號20:57(添加數據安全及加密相關面試題)
更多面試題和學習書籍文檔,能夠添加QQ羣:551346706 !已經上傳羣文件和百度網盤,加羣本身下載便可!