一誊役、Runtime
- 一個objc對象的isa的指針指向什么?有什么作用逗爹?
- 一個 NSObject 對象占用多少內(nèi)存空間亡嫌?
- 說一下對 class_rw_t 的理解?
- 說一下對 class_ro_t 的理解掘而?
- 說一下對 isa 指針的理解
- 說一下 Runtime 的方法緩存挟冠?存儲的形式、數(shù)據(jù)結(jié)構(gòu)以及查找的過程袍睡?
- 使用runtime Associate方法關(guān)聯(lián)的對象知染,需要在主對象dealloc的時候釋放么?
- 實例對象的數(shù)據(jù)結(jié)構(gòu)女蜈?
- 什么是method swizzling(俗稱黑魔法)
- 什么時候會報unrecognized selector的異常持舆?
- 如何給 Category 添加屬性?關(guān)聯(lián)對象以什么形式進行存儲伪窖?
- 能否向編譯后得到的類中增加實例變量逸寓?能否向運行時創(chuàng)建的類中添加實例變量?為什么覆山?
- 類對象的數(shù)據(jù)結(jié)構(gòu)竹伸?
- runtime如何通過selector找到對應(yīng)的IMP地址?
- runtime如何實現(xiàn)weak變量的自動置nil?知道SideTable嗎勋篓?
- objc中向一個nil對象發(fā)送消息將會發(fā)生什么吧享?
- objc在向一個對象發(fā)送消息時,發(fā)生了什么譬嚣?
- isKindOfClass 與 isMemberOfClass
- Category 在編譯過后钢颂,是在什么時機與原有的類合并到一起的?
- Category 有哪些用途拜银?
- Category 的實現(xiàn)原理殊鞭?
- _objc_msgForward函數(shù)是做什么的
- [self class] 與 [super class]
- 代碼題 一
- 代碼題 二
二、Runloop
- 為什么 NSTimer 有時候不好使尼桶?
- AFNetworking 中如何運用 Runloop?
- autoreleasePool 在何時被釋放操灿?
- PerformSelector 的實現(xiàn)原理?
- PerformSelector:afterDelay:這個方法在子線程中是否起作用泵督?為什么趾盐?怎么解決?
- RunLoop的Mode
- RunLoop的實現(xiàn)機制
- RunLoop和線程
- RunLoop的數(shù)據(jù)結(jié)構(gòu)
- RunLoop概念
- RunLoop與NSTimer
- 講一下 Observer 小腊?
- 解釋一下 NSTimer
- 解釋一下
事件響應(yīng)
的過程救鲤? - 解釋一下 手勢識別 的過程?
- 什么是異步繪制秩冈?
- 利用 runloop 解釋一下頁面的渲染的過程蜒简?
三、Objective_C語言特性
四犹赖、Animation
五、Block
六麸折、UI相關(guān)
七、多線程
- 進程粘昨、線程
- 多進程垢啼、多線程
- 任務(wù)、隊列
- iOS中的多線程
- GCD---隊列
- 死鎖
- GCD任務(wù)執(zhí)行順序
- dispatch_barrier_async
- dispatch_group_async
- Dispatch Semaphore
- 延時函數(shù)(dispatch_after)
- 使用dispatch_once實現(xiàn)單例
- NSOperationQueue的優(yōu)點
- NSOperation和NSOperationQueue
- NSThread+runloop實現(xiàn)常駐線程
- 自旋鎖與互斥鎖
八张肾、內(nèi)存管理
- 在 Obj-C 中芭析,如何檢測內(nèi)存泄漏?你知道哪些方式吞瞪?
- 在 MRC 下如何重寫屬性的 Setter 和 Getter_
- 循環(huán)引用
- 說一下什么是
懸垂指針
馁启?什么是野指針
? - 說一下對 retain,copy,assign,weak,_Unsafe_Unretain 關(guān)鍵字的理解
- 是否了解 深拷貝 和 淺拷貝 的概念,集合類深拷貝如何實現(xiàn)
- 使用自動引用計數(shù)應(yīng)遵循的原則
- 能不能簡述一下 Dealloc 的實現(xiàn)機制
- 內(nèi)存中的5大區(qū)分別是什么芍秆?
- 內(nèi)存管理默認的關(guān)鍵字是什么惯疙?
- 內(nèi)存管理方案
- 內(nèi)存布局
- 講一下
iOS
內(nèi)存管理的理解 - 講一下
@dynamic
關(guān)鍵字翠勉? - 簡要說一下
@autoreleasePool
的數(shù)據(jù)結(jié)構(gòu)? - 訪問
__weak
修飾的變量霉颠,是否已經(jīng)被注冊在了@autoreleasePool
中对碌?為什么? retain
蒿偎、release
的實現(xiàn)機制朽们?- MRC(手動引用計數(shù))和ARC(自動引用計數(shù))
BAD_ACCESS
在什么情況下出現(xiàn)?autoReleasePool
什么時候釋放?- ARC自動內(nèi)存管理的原則
ARC
在運行時做了哪些工作?ARC
在編譯時做了哪些工作ARC
的retainCount
怎么存儲的酥郭?__weak
屬性修飾的變量华坦,如何實現(xiàn)在變量沒有強引用后自動置為nil
?__weak
和_Unsafe_Unretain
的區(qū)別不从?
九惜姐、設(shè)計模式
十、數(shù)據(jù)安全及加密
十一、數(shù)據(jù)結(jié)構(gòu)與算法
十二乏矾、網(wǎng)絡(luò)相關(guān)
- HTTP協(xié)議
- HTTPS孟抗、對稱加密、非對稱加密
- 一個基于UDP的簡單的聊天Demo
- UDP的特點钻心、UDP的報文結(jié)構(gòu)及差錯檢測
- TCP凄硼、三次握手、四次揮手捷沸、代碼實現(xiàn)
- 可靠數(shù)據(jù)傳輸摊沉、流量控制(滑動窗口)、擁塞控制
- DNS
- Cookie和Session
- IP協(xié)議痒给、IP數(shù)據(jù)報分片说墨、IPv4編址、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
- IPv6苍柏、從IPv4到IPv6的遷移
十三尼斧、性能優(yōu)化
- iOS 性能優(yōu)化面試題
- 光柵化
- 日常如何檢查內(nèi)存泄露?
- 如何高性能的畫一個圓角试吁?
- 如何提升
tableview
的流暢度突颊? - 如何優(yōu)化
APP
的電量? - 如何有效降低 APP 包的大小律秃?
- 什么是 離屏渲染爬橡?什么情況下會觸發(fā)?該如何應(yīng)對棒动?
- 如何檢測離屏渲染糙申?
- 怎么檢測圖層混合?
轉(zhuǎn)載自:https://blog.51cto.com/14121524/2475958