版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
iOS面試
面試手冊
目錄
1-弓I言.........................................................................................................6
1.1.編寫目的................................................................................................6
1.2.術(shù)語定義................................................................................................6
1.3.參考資料................................................................................................6
2.基礎(chǔ).........................................................................................................7
2.1.由來(前因后果)........................................................................................7
22MAe開發(fā)基礎(chǔ)知識........................................................................................7
2.3.IOS開發(fā)基礎(chǔ)知識........................................................................................7
2.3.1.內(nèi)存管理.............................................................................................7
2.3.2.UI元素..............................................................................................7
2.3.3.力口速度傳感器(accelerometer)..................................................................................................................................................................9
2.3.4.相機(jī)管理............................................................................................9
2.3.5.定彳端作............................................................................................9
2.3.6.SQLite數(shù)據(jù)庫.........................................................................................9
2.3.7.發(fā)送電子郵件.........................................................................................9
2.3.8.音頻和t^Audio&Video).......................................................................................................................................................................9
2.3.9.文件處理.............................................................................................9
2.3.10.地圖開發(fā)...........................................................................................10
2.3.11.應(yīng)用內(nèi)購買.........................................................................................10
2.3.12.iAD整合...........................................................................................10
2.3.13.GameKit.....................................................................................................................................................................................................10
2.3.14.故事板(Storyboards)...............................................................................................................................................................................10
2.3.15.自動(dòng)布局...........................................................................................10
2.3.16.內(nèi)存管理...........................................................................................10
.面臨的問題.....................................................................................11
.內(nèi)存管理規(guī)貝11..................................................................................................................................................................................11
.使用內(nèi)存徵里工具...............................................................................11
2.3.17.應(yīng)用木琳調(diào)試.......................................................................................11
.選擇一個(gè)調(diào)試器.................................................................................11
2.3.18.協(xié)議Protocol............................................................................................................................................................................................11
.protocol的使用;J?......................................................................................................................................................................11
.基協(xié)議.........................................................................................13
.?required和@optional關(guān)鍵字.....................................................................14
2.3.19.線程...............................................................................................14
.GCD....................................................................................................................................................................................................14
2.3.20.NSRunLoop................................................................................................................................................................................................18
.介紹...........................................................................................18
.消息循環(huán).......................................................................................21
.監(jiān)聽主線程.....................................................................................22
2.4.SWIFT.....................................................................................................................................................................................................................24
2.4.1.版本介紹............................................................................................24
.Swift2...................................................................................................................................................................................................24
.Swift3...................................................................................................................................................................................................24
.Swift4...................................................................................................................................................................................................24
第1頁/共73頁
.Swift5...................................................................................................................................................................................................25
2.4.2.獸出部分............................................................................................25
2.4.3.常量和變量..........................................................................................25
2.4.4,聲明常量和變量.....................................................................................25
2.4.5.類型注解............................................................................................26
2.4.6.常量和變量的命名....................................................................................26
2.4.7.輸出常量和變量......................................................................................27
2.4.8.注釋................................................................................................27
2.4.9.分號................................................................................................28
2.4.10.整數(shù)...............................................................................................28
2.4.11.整數(shù)范圍...........................................................................................28
2.4.12.Int...............................................................................................................................................................................................................28
2.4.13.Ulnt............................................................................................................................................................................................................28
2.4.14.浮點(diǎn)數(shù)............................................................................................29
2.4.15.類型安全和類型推斷.................................................................................29
2.4.16.數(shù)值型字面量......................................................................................30
2.4.17.數(shù)值型類型轉(zhuǎn)換....................................................................................30
.整數(shù)轉(zhuǎn)換.......................................................................................31
.整數(shù)和浮點(diǎn)數(shù)轉(zhuǎn)換...............................................................................31
2.4.18.類型別名...........................................................................................32
2.4.19.布爾值.............................................................................................32
2.4.20.元組...............................................................................................33
2.4.21.可選類型...........................................................................................34
.nil.......................................................................................................................................................................................................34
.if語句以及強(qiáng)制解析.............................................................................35
.可選綁定.......................................................................................35
.隱式解析可選類型...............................................................................36
2.4.22.建吳處理...........................................................................................37
2.4.23.斷言和先決條件.....................................................................................38
.使用斷言進(jìn)行調(diào)試...............................................................................39
2.4.232強(qiáng)制執(zhí)行拓夬條件................................................................................39
2.5.面試題..................................................................................................39
2.5.1.Runtime.......................................................................................................................................................................................................40
.objc在向一個(gè)對象發(fā)送消息時(shí),發(fā)生了什么?........................................................40
25.1.2.什么時(shí)候會(huì)報(bào)unrecognizedselector錯(cuò)誤?iOS有哪些機(jī)制來避免走到這一步?..........................40
.給類添加一個(gè)屬性后,在類結(jié)構(gòu)體里哪些元素會(huì)發(fā)生變化?............................................40
2.5.2.為什么在默認(rèn)情況下無法修改被block捕獲的變量?_block都做了什么?..................................40
2.5.3.麒間通信?.......................................................................................40
2.5.4.如何令自己所寫的對象具有拷貝功能?...................................................................40
2.5.5.NSString為什么要用copy關(guān)鍵字,如果用strong會(huì)有什么問題?(注意:這里沒有說用strong就一定不行。使用copy
和strong是看情況而定的....................................................................................41
2.5.6.block實(shí)現(xiàn)原理......................................................................................41
2.5.7.2、使用block和使用delegate完成委托模式有什么優(yōu)點(diǎn)?.................................................41
2.5.8.為什么說Objective-C是一門動(dòng)態(tài)的語言?...............................................................41
2.5.9.講一下MVC和MWM,MVP?............................................................................................................................................................41
2.5.10.代理為什么要用weak?代理的delegate和dataSource有什么區(qū)別?.......................................42
第2頁/共73頁
2.5.11.代理和Block的區(qū)別.................................................................................42
2.5.12.屬性的實(shí)質(zhì)是什么?包括哪幾個(gè)部分?屬性默認(rèn)的關(guān)鍵字都有哪些??dynamic關(guān)鍵字和@$丫門由6$126關(guān)鍵字是用來做
什么的?..................................................................................................42
2.5.13.屬性的默認(rèn)關(guān)鍵字是什么?..........................................................................43
2.5.14.Copy和Strong的區(qū)別................................................................................43
2.5.15.深拷貝和淺拷貝....................................................................................43
2.5.16.如何令自己所寫的對象具有拷貝功能?..................................................................43
2.5.17.為什么IBOutlet修飾的UlView也適用weak關(guān)鍵字?.....................................................43
2.5.18.nonatomic和atomic的區(qū)別?atomic是絕對的線程安全么?為什么?如果不是,那應(yīng)該如何實(shí)現(xiàn)?.............44
2.5.19.進(jìn)程和線程的區(qū)別?同步異步的區(qū)別?并行和并發(fā)的區(qū)別?..............................................44
2.5.20.數(shù)據(jù)持久化的幾個(gè)方案..............................................................................44
2.5.21.NSCache優(yōu)于NSDictionary的幾點(diǎn)?...................................................................44
2.5.22.實(shí)現(xiàn)description方法能取到什么效果?................................................................45
2.5.23.objc使用什么機(jī)制管理對象內(nèi)存?.....................................................................45
2.5.24.block的實(shí)質(zhì)是什么?一共有幾種block?都是什么情況下生成的?.........................................45
2.5.25.為什么在默認(rèn)情況下無法修改被block捕獲的變量?_bbck都做了什么?.................................45
2.5.26.objc在向一個(gè)對象發(fā)送消息時(shí),發(fā)生了什么?...........................................................45
2.5.27.能否向編譯后得到的類中增加實(shí)例變量?能否向運(yùn)行時(shí)創(chuàng)建的類中添加實(shí)例變量?為什么?.....................................45
2.5.28.runtime如何實(shí)現(xiàn)weak屬性.........................................................................46
2.5.29.runtime如何實(shí)現(xiàn)weak變量的自動(dòng)置nil?............................................................................................................................46
2.5.30.給類添加一個(gè)屬性后,在類結(jié)構(gòu)體里哪些元素會(huì)發(fā)生變化?..............................................46
2.5.31.runloop是來做什么的?runloop和線程有什么關(guān)系?主線程默認(rèn)開啟了runloop么?子線程呢?...............46
2.5.32.runloop的mode是用來做什么的?有幾種mode?..............................................................................................................47
2.5.33.為什么把NSTimer對象以NSDefaultRunLoopMode添加到主運(yùn)行循環(huán)以后,滑動(dòng)scrollview的時(shí)候NSTimer卻不動(dòng)了?47
2.5.34.蘋果是如何實(shí)現(xiàn)AutoreleasePool的?..................................................................47
2.5.35.isa指針?(對象的isa,類對象的isa,元類的isa都要說)...............................................47
2.5.36.類方法和實(shí)例方法有什么區(qū)別?.......................................................................48
2.5.37.介紹一下分類,能用分類做什么?內(nèi)部是如何實(shí)現(xiàn)的?它為什么會(huì)覆蓋掉原來的方法?......................48
2.5.38.運(yùn)行時(shí)能增加成員變量么?能增加屬性么?如果能,如何增加?如果不能,為什么?........................48
2.5.39.objc中向一個(gè)nil對象發(fā)送消息將會(huì)發(fā)生什么?(返回值是對象,是標(biāo)量,結(jié)構(gòu)體)..........................48
2.5.40.UlTableview的優(yōu)化方法(緩存高度,異步繪制,減少層級,hide,避免離屏渲染)...........................49
2.5.41.有沒有用過運(yùn)行時(shí),用它都能做什么?(交換方法,創(chuàng)建類,給新創(chuàng)建的類增加方法,改變isa指針).........49
2.5.42.SDWeblmage的緩存策略?...........................................................................49
2.5.43.AFN為什么添加一條常駐線程?.......................................................................49
2.5.44.KVO的使用?實(shí)現(xiàn)原理?(為什么要?jiǎng)?chuàng)建子類來實(shí)現(xiàn)).....................................................................................................49
2.5.45.KVC的使用?實(shí)現(xiàn)原理?(KVC拿到key以后,是如何賦值的?知不知道集合操作符,能不能訪問私有屬性,能不能直
接訪問_ivar).............................................................................................................................................................................................50
2.5.46.描述—1sViewController的生命周期...................................................................50
2.5.47.LLVM與Clang的區(qū)別?..............................................................................50
2.5.48.iOS運(yùn)用了那些設(shè)計(jì)模式.............................................................................51
2.5.49.iOS安全問題.......................................................................................51
2.5.50.聊下HTTPpost的body體使用form-urlencoded和multipart/form-data的區(qū)別................................51
2.5.51.讓你設(shè)id?一種機(jī)制檢測UlViewController的內(nèi)存泄漏,你會(huì)怎么做?........................................52
2.5.52.通過[UllmageimageNamed:]生成的對象什么時(shí)候被釋放?.................................................52
2.5.53.applicationWillEnterForeground和applicationDidBecomeActive都會(huì)在哪些場景下被調(diào)用?舉例越多越好。.......52
2.5.54.dSYM你是如何分析的...............................................................................53
第3頁/共73頁
.使用XCode.....................................................................................................................................................................................53
.使用命令行工具symbolicatecrash............................................................................................................................................53
.使用命令行工具atos...................................................................................................................................................................53
2.5.55.多線程有哪幾種?你更傾向于哪一種?.................................................................53
.NSThread:(兩種創(chuàng)建方式).........................................................................53
.CocoaOperation..............................................................................................................................................................................54
.GCD....................................................................................................................................................................................................54
2.5.56.單例的優(yōu)缺點(diǎn).......................................................................................54
2.5.57.App啟動(dòng)過慢,你可能想到的因素有哪些?.............................................................54
2557.1.App啟動(dòng)過程.....................................................................................54
.影響啟動(dòng)性能的因素.............................................................................55
2.5.58.怎么防止反編譯?...................................................................................56
.本地?cái)?shù)據(jù)力口密...................................................................................56
2558.2.URL編碼加密.....................................................................................56
.網(wǎng)絡(luò)傳輸數(shù)據(jù)加密...............................................................................56
.方法體,方法名高級混淆.........................................................................56
.程序結(jié)構(gòu)混排加密...............................................................................56
2.5.59.TCP和UDP的區(qū)別于聯(lián)系............................................................................56
2.5.60.TCP連接的三次握手.................................................................................56
2.5.61.Scoket連接和HTTP連接的區(qū)別.......................................................................57
2.5.62.HTTP協(xié)議的特點(diǎn),關(guān)于HTTP請求GET和POST的區(qū)別...................................................58
.GET和POST的區(qū)別:............................................................................58
25622傳輸數(shù)據(jù)的大小..................................................................................58
.安全性.........................................................................................58
2.5.63.ASIHttpRequest、AFNetWorking之間的區(qū)別.............................................................58
2.5.64.XML數(shù)據(jù)解析方式各有什么不同,JSON解析有哪些框架?................................................59
2.5.65.SVN的使用.........................................................................................59
2.5.66.如何進(jìn)行網(wǎng)絡(luò)消息推送...............................................................................59
2.5.67.網(wǎng)絡(luò)七層協(xié)議.......................................................................................60
.應(yīng)用層.........................................................................................60
.表示層.........................................................................................60
.會(huì)話層.........................................................................................60
.傳輸層.........................................................................................60
.網(wǎng)絡(luò)層.........................................................................................60
.數(shù)據(jù)鏈路層.....................................................................................60
.物理層.........................................................................................61
2.5.68.關(guān)鍵字volatile有什么含意?并給出三個(gè)不同的例子.......................................................61
2.5.69.property屬性的修飾符的作用.........................................................................61
2.5.70.XIB與Storyboards的優(yōu)缺點(diǎn)...........................................................................61
2.5.71.內(nèi)存的使用和優(yōu)化的注意事項(xiàng).........................................................................62
2.5.72.正確選擇圖片加載方式:Ullmage加載方式基于CTMediator的組件化方案,有哪些核心組成?.................62
2.5.73.為什么CTMediator方案優(yōu)于基于Router的方案?.......................................................63
2.5.74.MVVM設(shè)計(jì)模式....................................................................................63
2.5.75.weak修飾的釋放則自動(dòng)被置為nil的實(shí)現(xiàn)原理...........................................................64
2.5.76.HTTPS的加密原理...................................................................................64
2.5.77.你認(rèn)為開發(fā)中那些導(dǎo)致crash?............................................................................................................................................................64
第4頁/共73頁
.應(yīng)用邏輯的Bug............................................................................................................................................................................64
.違反iOS系統(tǒng)規(guī)則產(chǎn)生crash的三種類型...........................................................64
2.5.78.分析下SDWeblmage..............................................................................................................................................................................65
.SDWeblmage加載圖片的流程.....................................................................65
.SDImageCache是怎么做數(shù)據(jù)管理的?..............................................................66
.內(nèi)部做Decoder的原因(典型的空間換時(shí)間).........................................................67
2.5.79.協(xié)議(@protocol)和接口(@interface)的區(qū)別..............................................................67
2.5.80.static關(guān)鍵字的作用.................................................................................67
2.5.81.線程與進(jìn)程的區(qū)別和聯(lián)系?............................................................................67
2.5.82.堆和棧的區(qū)別.......................................................................................67
2.5.83.什么是鍵-值,鍵路徑哥十么...........................................................................68
2.5.84.目標(biāo)-動(dòng)作機(jī)制......................................................................................68
2.5.85.自動(dòng)釋放池是什么,如何工作..........................................................................68
2.5.86.類工廠方法是什么...................................................................................68
2.5.87.單件實(shí)例是什么.....................................................................................69
2.5.88.動(dòng)態(tài)綁定...........................................................................................69
2.5.89.obj-c的優(yōu)缺點(diǎn)......................................................................................69
.objc優(yōu)點(diǎn):......................................................................................................................................................................................69
.缺點(diǎn):..........................................................................................69
2.5.90.readwrite,readonly,assign,retain,copy,nonatomic屬性的作用.........................................70
2.5.91.什么時(shí)候用delegate,什么時(shí)候用Notification?..........................................................................................................................70
2.5.92.什么是KVC和KVO?.............................................................................................................................................................................70
2.5.93.類別的作用.........................................................................................70
.類另!J主頻3個(gè)作用.............................................................................70
.類別的局限性...................................................................................71
2.5.94.關(guān)鍵字volatile有什么含意?并給出三個(gè)不同的例子:..................................................................................................................71
2.5.95.淺復(fù)制和深復(fù)制的區(qū)別?.............................................................................71
2.5.96.類別的作用?繼承和類別在實(shí)現(xiàn)中有何區(qū)別?...........................................................71
2.5.97.類別和類擴(kuò)展的區(qū)別。...............................................................................72
2.5.98.我們說的oc是動(dòng)態(tài)運(yùn)行時(shí)語言是什么意思?............................................................72
2.5.99.通知和協(xié)議的不同之處?.........
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全【職工管理】
- 《會(huì)展項(xiàng)目管理復(fù)習(xí)》課件
- 《市場營銷環(huán)境》課件
- 銀行工作總結(jié)服務(wù)至上效率為王
- 家政服務(wù)行業(yè)銷售工作總結(jié)
- 保育實(shí)習(xí)工作總結(jié)15篇
- 2023年項(xiàng)目部安全培訓(xùn)考試題加答案解析
- 2023年員工三級安全培訓(xùn)考試題及答案(考點(diǎn)梳理)
- 中考誓師口號(15篇)
- 2023年-2024年項(xiàng)目部治理人員安全培訓(xùn)考試題加答案解析
- 國家開放大學(xué)電大本科《國際私法》期末試題及答案(n試卷號:1020)
- 四川省德陽市中學(xué)2023年高一物理上學(xué)期期末試卷含解析
- 舉高消防車基礎(chǔ)知識
- 2022年成都溫江興蓉西城市運(yùn)營集團(tuán)有限公司招聘筆試試題及答案解析
- 空氣、物表地面消毒登記記錄
- 急性腦梗死診治指南
- 檢察院分級保護(hù)項(xiàng)目技術(shù)方案
- 土木工程建筑中混凝土裂縫的施工處理技術(shù)畢業(yè)論文
- 水電站工程地質(zhì)勘察報(bào)告
- 電站屏柜改造安裝二次工程施工組織設(shè)計(jì)
- DB42∕T 1795-2021 微動(dòng)勘探技術(shù)規(guī)程
評論
0/150
提交評論