轉(zhuǎn)自作者:iOS弗森科
鏈接:http://www.reibang.com/p/475a31539788
數(shù)據(jù)結(jié)構(gòu)
- 1.數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)一般常用的有幾種帝牡?各有什么特點(diǎn)赂苗?
- 2.集合結(jié)構(gòu) 線性結(jié)構(gòu) 樹(shù)形結(jié)構(gòu) 圖形結(jié)構(gòu)
- 3.單向鏈表 雙向鏈表 循環(huán)鏈表
- 4.數(shù)組和鏈表區(qū)別
- 6.輸入一棵二叉樹(shù)的根結(jié)點(diǎn),求該樹(shù)的深度?
- 7.輸入一課二叉樹(shù)的根結(jié)點(diǎn)外莲,判斷該樹(shù)是不是平衡二叉樹(shù)犀斋?
算法
- 1.時(shí)間復(fù)雜度
- 2.空間復(fù)雜度
- 3.常用的排序算法
- 4.字符串反轉(zhuǎn)
- 5.鏈表反轉(zhuǎn)(頭差法)
- 6.有序數(shù)組合并
- 7.查找第一個(gè)只出現(xiàn)一次的字符(Hash查找)
- 8.查找兩個(gè)子視圖的共同父視圖
- 9.無(wú)序數(shù)組中的中位數(shù)(快排思想)
- 10.給定一個(gè)整數(shù)數(shù)組和一個(gè)目標(biāo)值匾南,找出數(shù)組中和為目標(biāo)值的兩個(gè)數(shù)囊骤。
Foundation
- 1.nil、NIL握童、NSNULL 有什么區(qū)別姆怪?
- 2.如何實(shí)現(xiàn)一個(gè)線程安全的 NSMutableArray?
- 3.atomic 修飾的屬性是絕對(duì)安全的嗎?為什么澡绩?
- 4.實(shí)現(xiàn) isEqual 和 hash 方法時(shí)要注意什么稽揭?
- 5.id 和 instanceType 有什么區(qū)別?
- 6.self和super的區(qū)別
- 7.@synthesize和@dynamic分別有什么作用肥卡?
- 8.typeof 和 typeof溪掀,typeof 的區(qū)別?
- 9.類族
- 10.struct和class的區(qū)別
UIKit
- 1.UIView 和 CALayer 是什么關(guān)系?
- 2.Bounds 和 Frame 的區(qū)別?
- 3.setNeedsDisplay 和 layoutIfNeeded 兩者是什么關(guān)系步鉴?
- 4.談?wù)剬?duì)UIResponder的理解
- 5.loadView的作用揪胃?
- 6.使用 drawRect有什么影響?
- 7.keyWindow 和 delegate的window有何區(qū)別
WebView
內(nèi)存管理
- 1.什么情況使用 weak 關(guān)鍵字沮稚,相比 assign 有什么不同艺沼?
- 2.如何讓自己的類用 copy 修飾符?如何重寫(xiě)帶 copy 關(guān)鍵字的 setter蕴掏?
- 3.@property 的本質(zhì)是什么障般?ivar、getter盛杰、setter 是如何生成并添加到這個(gè)類中的
- 4.@protocol 和 category 中如何使用 @property
- 5.簡(jiǎn)要說(shuō)一下 @autoreleasePool 的數(shù)據(jù)結(jié)構(gòu)挽荡??
- 6.BAD_ACCESS在什么情況下出現(xiàn)即供?
- 7.使用CADisplayLink定拟、NSTimer有什么注意點(diǎn)?
- 8.iOS內(nèi)存分區(qū)情況
- 9.iOS內(nèi)存管理方式
消息傳遞的方式
- 1.KVC實(shí)現(xiàn)原理
- 2.KVO的實(shí)現(xiàn)原理
- 3.如何手動(dòng)觸發(fā)KVO方法
- 4.通知和代理有什么區(qū)別
- 5.block和delegate的區(qū)別
- 6.為什么Block用copy關(guān)鍵字
網(wǎng)絡(luò)
- 1.網(wǎng)絡(luò)七層協(xié)議
- 2.Http 和 Https 的區(qū)別逗嫡?Https為什么更加安全青自?
- 3.HTTPS的連接建立流程
- 4.解釋一下 三次握手 和 四次揮手
- 5.TCP 和 UDP的區(qū)別
- 6.Cookie和Session
- 7.DNS是什么
- 8.DNS解析過(guò)程
數(shù)據(jù)存儲(chǔ)
多線程
- 1.進(jìn)程與線程
- 2.什么是多線程株依?
- 3.多線程的優(yōu)點(diǎn)和缺點(diǎn)
- 4.多線程的 并行 和 并發(fā) 有什么區(qū)別?
- 5.iOS中實(shí)現(xiàn)多線程的幾種方案延窜,各自有什么特點(diǎn)恋腕?
- 6.多個(gè)網(wǎng)絡(luò)請(qǐng)求完成后執(zhí)行下一步
- 7.多個(gè)網(wǎng)絡(luò)請(qǐng)求順序執(zhí)行后執(zhí)行下一步
- 8.異步操作兩組數(shù)據(jù)時(shí), 執(zhí)行完第一組之后, 才能執(zhí)行第二組
- 9.多線程中的死鎖?
- 10.GCD執(zhí)行原理逆瑞?
動(dòng)畫(huà)
- 1.UIView動(dòng)畫(huà)與核心動(dòng)畫(huà)的區(qū)別?
- 2.當(dāng)我們要做一些基于 CALayer 的動(dòng)畫(huà)時(shí)荠藤,有時(shí)需要設(shè)置 layer 的錨點(diǎn)來(lái)配合動(dòng)畫(huà),這時(shí)候我們需要注意什么获高?
圖像處理
數(shù)據(jù)安全及加密
Runtime
- 1.Category 的實(shí)現(xiàn)原理牡彻?
- 2.isa指針的理解,對(duì)象的isa指針指向哪里出爹?isa指針有哪兩種類型庄吼?
- 3.Objective-C 如何實(shí)現(xiàn)多重繼承?
- 4.runtime 如何實(shí)現(xiàn) weak 屬性严就?
- 5.講一下 OC 的消息機(jī)制
- 6.runtime具體應(yīng)用
- 7.runtime如何通過(guò)selector找到對(duì)應(yīng)的IMP地址总寻?
- 8.簡(jiǎn)述下Objective-C中調(diào)用方法的過(guò)程
- 9.load和initialize的區(qū)別
- 10.怎么理解Objective-C是動(dòng)態(tài)運(yùn)行時(shí)語(yǔ)言。
Runloop
- 1.Runloop 和線程的關(guān)系梢为?
- 2.RunLoop的運(yùn)行模式
- 3.runloop內(nèi)部邏輯渐行?
- 4.autoreleasePool 在何時(shí)被釋放?
- 5.GCD 在Runloop中的使用铸董?
- 6.AFNetworking 中如何運(yùn)用 Runloop?
- 7.PerformSelector 的實(shí)現(xiàn)原理祟印?
- 8.PerformSelector:afterDelay:這個(gè)方法在子線程中是否起作用?
- 9.事件響應(yīng)的過(guò)程粟害?
- 10.手勢(shì)識(shí)別的過(guò)程蕴忆?
- 11.CADispalyTimer和Timer哪個(gè)更精確
項(xiàng)目架構(gòu)
- 1.MVC、MVP悲幅、MVVM模式
- 2.關(guān)于RAC你有怎樣運(yùn)用到解決不同API依賴關(guān)系
- 3.@weakify和我們宏定義的WeakSelf有什么區(qū)別套鹅?
- 4.微服務(wù)架構(gòu)設(shè)想。
設(shè)計(jì)模式
組件化
調(diào)試技巧
性能優(yōu)化
- 1.造成tableView卡頓的原因有哪些?
- 2.如何提升 tableview 的流暢度稚失?
- 3.APP啟動(dòng)時(shí)間應(yīng)從哪些方面優(yōu)化栋艳?
- 4.如何降低APP包的大小
- 5.如何檢測(cè)離屏渲染與優(yōu)化
- 6.日常如何檢查內(nèi)存泄露?
源碼理解
代碼管理
持續(xù)集成
作者:iOS弗森科
鏈接:http://www.reibang.com/p/475a31539788
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)凿宾,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處矾屯。