iOS面試題面試手冊_第1頁
iOS面試題面試手冊_第2頁
iOS面試題面試手冊_第3頁
iOS面試題面試手冊_第4頁
iOS面試題面試手冊_第5頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論