一、Runtime
- 一個(gè)objc對(duì)象的isa的指針指向什么洒嗤?有什么作用?
- 一個(gè) NSObject 對(duì)象占用多少內(nèi)存空間魁亦?
- 說一下對(duì) class_rw_t 的理解渔隶?
- 說一下對(duì) class_ro_t 的理解?
- 說一下對(duì) isa 指針的理解
- 說一下 Runtime 的方法緩存洁奈?存儲(chǔ)的形式间唉、數(shù)據(jù)結(jié)構(gòu)以及查找的過程?
- 使用runtime Associate方法關(guān)聯(lián)的對(duì)象利术,需要在主對(duì)象dealloc的時(shí)候釋放么呈野?
- 實(shí)例對(duì)象的數(shù)據(jù)結(jié)構(gòu)?
- 什么是method swizzling(俗稱黑魔法)
- 什么時(shí)候會(huì)報(bào)unrecognized selector的異常印叁?
- 如何給 Category 添加屬性被冒?關(guān)聯(lián)對(duì)象以什么形式進(jìn)行存儲(chǔ)军掂?
- 能否向編譯后得到的類中增加實(shí)例變量?能否向運(yùn)行時(shí)創(chuàng)建的類中添加實(shí)例變量昨悼?為什么蝗锥?
- 類對(duì)象的數(shù)據(jù)結(jié)構(gòu)?
- runtime如何通過selector找到對(duì)應(yīng)的IMP地址率触?
- runtime如何實(shí)現(xiàn)weak變量的自動(dòng)置nil终议?知道SideTable嗎?
- objc中向一個(gè)nil對(duì)象發(fā)送消息將會(huì)發(fā)生什么葱蝗?
- objc在向一個(gè)對(duì)象發(fā)送消息時(shí)穴张,發(fā)生了什么?
- isKindOfClass 與 isMemberOfClass
- Category 在編譯過后垒玲,是在什么時(shí)機(jī)與原有的類合并到一起的陆馁?
- Category 有哪些用途?
- Category 的實(shí)現(xiàn)原理合愈?
- _objc_msgForward函數(shù)是做什么的
- [self class] 與 [super class]
- 代碼題 一
- 代碼題 二
二叮贩、Runloop
- 為什么 NSTimer 有時(shí)候不好使?
- AFNetworking 中如何運(yùn)用 Runloop?
- autoreleasePool 在何時(shí)被釋放佛析?
- PerformSelector 的實(shí)現(xiàn)原理益老?
- PerformSelector:afterDelay:這個(gè)方法在子線程中是否起作用?為什么寸莫?怎么解決捺萌?
- RunLoop的Mode
- RunLoop的實(shí)現(xiàn)機(jī)制
- RunLoop和線程
- RunLoop的數(shù)據(jù)結(jié)構(gòu)
- RunLoop概念
- RunLoop與NSTimer
- 講一下 Observer ?
- 解釋一下 NSTimer
- 解釋一下
事件響應(yīng)
的過程膘茎? - 解釋一下 手勢識(shí)別 的過程桃纯?
- 什么是異步繪制?
- 利用 runloop 解釋一下頁面的渲染的過程披坏?
三态坦、Objective_C語言特性
- KVC(Key-value coding)
- KVO (Key-value observing)
- 分類、擴(kuò)展棒拂、代理(Delegate)
- 屬性關(guān)鍵字
- 通知(NSNotification)
四伞梯、Animation
五帚屉、Block
六、UI相關(guān)
七攻旦、多線程
- 進(jìn)程喻旷、線程
- 多進(jìn)程、多線程
- 任務(wù)牢屋、隊(duì)列
- iOS中的多線程
- GCD---隊(duì)列
- 死鎖
- GCD任務(wù)執(zhí)行順序
- dispatch_barrier_async
- dispatch_group_async
- Dispatch Semaphore
- 延時(shí)函數(shù)(dispatch_after)
- 使用dispatch_once實(shí)現(xiàn)單例
- NSOperationQueue的優(yōu)點(diǎn)
- NSOperation和NSOperationQueue
- NSThread+runloop實(shí)現(xiàn)常駐線程
- 自旋鎖與互斥鎖
八掰邢、內(nèi)存管理
- 在 Obj-C 中牺陶,如何檢測內(nèi)存泄漏?你知道哪些方式辣之?
- 在 MRC 下如何重寫屬性的 Setter 和 Getter_
- 循環(huán)引用
- 說一下什么是
懸垂指針
?什么是野指針
? - 說一下對(duì) retain,copy,assign,weak,_Unsafe_Unretain 關(guān)鍵字的理解
- 是否了解 深拷貝 和 淺拷貝 的概念皱炉,集合類深拷貝如何實(shí)現(xiàn)
- 使用自動(dòng)引用計(jì)數(shù)應(yīng)遵循的原則
- 能不能簡述一下 Dealloc 的實(shí)現(xiàn)機(jī)制
- 內(nèi)存中的5大區(qū)分別是什么怀估?
- 內(nèi)存管理默認(rèn)的關(guān)鍵字是什么?
- 內(nèi)存管理方案
- 內(nèi)存布局
- 講一下
iOS
內(nèi)存管理的理解 - 講一下
@dynamic
關(guān)鍵字合搅? - 簡要說一下
@autoreleasePool
的數(shù)據(jù)結(jié)構(gòu)多搀? - 訪問
__weak
修飾的變量,是否已經(jīng)被注冊在了@autoreleasePool
中灾部?為什么康铭? retain
、release
的實(shí)現(xiàn)機(jī)制赌髓?- MRC(手動(dòng)引用計(jì)數(shù))和ARC(自動(dòng)引用計(jì)數(shù))
BAD_ACCESS
在什么情況下出現(xiàn)?autoReleasePool
什么時(shí)候釋放?- ARC自動(dòng)內(nèi)存管理的原則
ARC
在運(yùn)行時(shí)做了哪些工作从藤?ARC
在編譯時(shí)做了哪些工作ARC
的retainCount
怎么存儲(chǔ)的?__weak
屬性修飾的變量锁蠕,如何實(shí)現(xiàn)在變量沒有強(qiáng)引用后自動(dòng)置為nil
夷野?__weak
和_Unsafe_Unretain
的區(qū)別?
九荣倾、設(shè)計(jì)模式
十、數(shù)據(jù)安全及加密
十一灌曙、數(shù)據(jù)結(jié)構(gòu)與算法
十二、網(wǎng)絡(luò)相關(guān)
- HTTP協(xié)議
- HTTPS推姻、對(duì)稱加密平匈、非對(duì)稱加密
- 一個(gè)基于UDP的簡單的聊天Demo
- UDP的特點(diǎn)、UDP的報(bào)文結(jié)構(gòu)及差錯(cuò)檢測
- TCP藏古、三次握手增炭、四次揮手、代碼實(shí)現(xiàn)
- 可靠數(shù)據(jù)傳輸拧晕、流量控制(滑動(dòng)窗口)隙姿、擁塞控制
- DNS
- Cookie和Session
- IP協(xié)議、IP數(shù)據(jù)報(bào)分片厂捞、IPv4編址输玷、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)
- IPv6队丝、從IPv4到IPv6的遷移
十三、性能優(yōu)化
- iOS 性能優(yōu)化面試題
- 光柵化
- 日常如何檢查內(nèi)存泄露欲鹏?
- 如何高性能的畫一個(gè)圓角机久?
- 如何提升
tableview
的流暢度? - 如何優(yōu)化
APP
的電量赔嚎? - 如何有效降低 APP 包的大斜旄恰?
- 什么是 離屏渲染尤误?什么情況下會(huì)觸發(fā)侠畔?該如何應(yīng)對(duì)?
- 如何檢測離屏渲染损晤?
- 怎么檢測圖層混合软棺?
面試題還在更新,請記得要關(guān)注該簡書哦~