包郵 IOS面試之道
-
>
全國(guó)計(jì)算機(jī)等級(jí)考試最新真考題庫(kù)模擬考場(chǎng)及詳解·二級(jí)MSOffice高級(jí)應(yīng)用
-
>
決戰(zhàn)行測(cè)5000題(言語(yǔ)理解與表達(dá))
-
>
軟件性能測(cè)試.分析與調(diào)優(yōu)實(shí)踐之路
-
>
第一行代碼Android
-
>
JAVA持續(xù)交付
-
>
EXCEL最強(qiáng)教科書(完全版)(全彩印刷)
-
>
深度學(xué)習(xí)
IOS面試之道 版權(quán)信息
- ISBN:9787121342622
- 條形碼:9787121342622 ; 978-7-121-34262-2
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無(wú)
- 重量:暫無(wú)
- 所屬分類:>>
IOS面試之道 本書特色
《iOS面試之道》是作者將多年的工作經(jīng)驗(yàn)和積累,結(jié)合具體面試內(nèi)容總結(jié)而成的。 《iOS面試之道》共分為3部分。第1部分為面試準(zhǔn)備,詳細(xì)介紹求職中遇到的基本問題,作者根據(jù)其多年的經(jīng)驗(yàn),在面試流程、簡(jiǎn)歷投遞、復(fù)習(xí)準(zhǔn)備方面給出了完善的參考意見和建議。第2部分為算法知識(shí)。算法幾乎是各種水平的程序員都要面對(duì)的考查內(nèi)容。該部分采用Swift語(yǔ)言重新審視了多種數(shù)據(jù)結(jié)構(gòu)和算法原理,可以說是為iOS開發(fā)者量身打造的算法解答。第3部分為iOS專業(yè)問答,分為語(yǔ)言工具、系統(tǒng)框架和經(jīng)驗(yàn)之談,采用問答的形式來詳細(xì)介紹。 如果你是一名iOS開發(fā)者,并且正準(zhǔn)備跳槽,那么本書是一本不錯(cuò)的復(fù)習(xí)參考書;如果你沒有面試計(jì)劃,那么本書也可以幫助你對(duì)iOS知識(shí)進(jìn)行提綱挈領(lǐng)的整理;如果你是面試官,那么希望本書能為你提供考查應(yīng)聘者的依據(jù)和源泉;對(duì)于具有其他背景的軟件工程師,若想一窺iOS世界的知識(shí)框架,本書也是不錯(cuò)的切入點(diǎn)。
IOS面試之道 內(nèi)容簡(jiǎn)介
《iOS面試之道》是作者將多年的工作經(jīng)驗(yàn)和積累,結(jié)合具體面試內(nèi)容總結(jié)而成的。《iOS面試之道》共分為3部分。靠前部分為面試準(zhǔn)備,詳細(xì)介紹求職中遇到的基本問題,作者根據(jù)其多年的經(jīng)驗(yàn),在面試流程、簡(jiǎn)歷投遞、復(fù)習(xí)準(zhǔn)備方面給出了完善的參考意見和建議。第2部分為算法知識(shí)。算法幾乎是各種水平的程序員都要面對(duì)的考查內(nèi)容。該部分采用Swift語(yǔ)言重新審視了多種數(shù)據(jù)結(jié)構(gòu)和算法原理,可以說是為iOS開發(fā)者量身打造的算法解答。第3部分為iOS專業(yè)問答,分為語(yǔ)言工具、系統(tǒng)框架和經(jīng)驗(yàn)之談,采用問答的形式來詳細(xì)介紹。如果你是一名iOS開發(fā)者,并且正準(zhǔn)備跳槽,那么本書是一本不錯(cuò)的復(fù)習(xí)參考書;如果你沒有面試計(jì)劃,那么本書也可以幫助你對(duì)iOS知識(shí)進(jìn)行提綱挈領(lǐng)的整理;如果你是面試官,那么希望本書能為你提供考查應(yīng)聘者的依據(jù)和源泉;對(duì)于具有其他背景的軟件工程師,若想一窺iOS世界的知識(shí)框架,本書也是不錯(cuò)的切入點(diǎn)。
IOS面試之道 目錄
第1章 iOS工程師的面試 / 1
1.1 簡(jiǎn)歷的準(zhǔn)備 / 1
1.2 尋找機(jī)會(huì) / 8
1.3 面試流程 / 9
1.4 代碼和系統(tǒng)設(shè)計(jì)的準(zhǔn)備 / 16
1.5 如何提問 / 22
1.6 Offer的比較和選擇 / 24
第2章 算法基礎(chǔ) / 28
2.1 基本的數(shù)據(jù)結(jié)構(gòu) / 28
數(shù)組 / 28
字典和集合 / 30
字符串 / 32
2.2 鏈表 / 34
鏈表的基本概念 / 34
Dummy節(jié)點(diǎn)和尾插法 / 35
快行指針 / 38
2.3 棧和隊(duì)列 / 40
棧和隊(duì)列的基本概念 / 40
棧和隊(duì)列互相轉(zhuǎn)換 / 43
棧和隊(duì)列面試實(shí)戰(zhàn)題 / 45
2.4 二叉樹 / 47
二叉樹的基本概念 / 48
二叉樹的遍歷 / 50
二叉樹面試實(shí)戰(zhàn)題 / 51
2.5 排序和搜索 / 54
排序的基本概念 / 54
搜索的基本概念 / 57
排序面試實(shí)戰(zhàn)題 / 59
搜索面試實(shí)戰(zhàn)題 / 61
iOS中搜索與排序的配合使用 / 64
2.6 深度優(yōu)先搜索和廣度優(yōu)先搜索 / 66
深度優(yōu)先搜索和廣度優(yōu)先搜索的基本概念 / 66
深度優(yōu)先搜索和廣度優(yōu)先搜索面試實(shí)戰(zhàn)題 / 69
2.7 動(dòng)態(tài)規(guī)劃 / 74
斐波拉契數(shù)列問題 / 74
斐波拉契數(shù)列問題面試實(shí)戰(zhàn)題 / 77
第3章 語(yǔ)言工具 / 81
3.1 Swift / 81
Swift面試?yán)碚擃} / 81
Swift面試實(shí)戰(zhàn)題 / 88
3.2 Objective-C / 91
Objective-C面試?yán)碚擃} / 91
Objective-C面試實(shí)戰(zhàn)題 / 96
3.3 Swift VS Objective-C / 101
數(shù)據(jù)結(jié)構(gòu) / 101
編程思路 / 104
語(yǔ)言特性 / 105
3.4 Xcode使用 / 112
Xcode調(diào)試 / 112
分析與優(yōu)化 / 114
Playground技巧 / 117
第4章 系統(tǒng)框架 / 119
4.1 UI相關(guān)知識(shí) / 119 UIKit / 119 UI控件和基本布局 / 119 動(dòng)畫 / 124
多任務(wù)開發(fā) / 127
4.2 UIScrollView及其子類 / 131
UIScrollView及其子類理論面試題 / 131
拓展知識(shí) / 134
優(yōu)化進(jìn)階 / 138
4.3 網(wǎng)絡(luò)、推送與數(shù)據(jù)處理 / 141
網(wǎng)絡(luò)、推送與數(shù)據(jù)處理相關(guān)理論 / 142
iOS網(wǎng)絡(luò)請(qǐng)求 / 144
信息推送 / 148
數(shù)據(jù)處理 / 150
4.4 并發(fā)編程 / 152
4.5 設(shè)計(jì)模式 / 168
第5章 經(jīng)驗(yàn)之談 / 175
5.1 架構(gòu)的選擇 / 175
5.2 面向協(xié)議的編程 / 184
POP VS OOP / 184
POP面試實(shí)戰(zhàn)題 / 189
5.3 App的測(cè)試和上架 / 195
測(cè)試相關(guān)知識(shí) / 195
App Store相關(guān)知識(shí) / 201
結(jié)束語(yǔ) / 204
題目目錄
給出一個(gè)字符串,要求將其按照單詞順序進(jìn)行反轉(zhuǎn) 33
類(class)和結(jié)構(gòu)體(struct)有什么區(qū)別 81
Swift是面向?qū)ο筮是函數(shù)式的編程語(yǔ)言 83
在Swift中,什么是可選型(Optional) 84
在Swift中,什么是泛型(Generics) 84
說明并比較關(guān)鍵詞:Open,Public,Internal,F(xiàn)ile-private和Private 85
說明并比較關(guān)鍵詞:Strong,Weak和Unowned 86
在Swift中,如何理解copy-on-write 87
什么是屬性觀察(Property Observer) 87
在結(jié)構(gòu)體中如何修改成員變量的方法 88
如何用Swift實(shí)現(xiàn)或(II)操作 89
實(shí)現(xiàn)一個(gè)函數(shù):輸入是任意一個(gè)整數(shù),輸出為輸入的整數(shù) 2 89
實(shí)現(xiàn)一個(gè)函數(shù):求0~100(包括0和100)中為偶數(shù)并且恰好是其他數(shù)字平方的
數(shù)字 90
什么是ARC 91
什么情況下會(huì)出現(xiàn)循環(huán)引用 92
說明并比較關(guān)鍵詞:strong,weak,assign和copy 93
說明并比較關(guān)鍵詞:atomatic和nonatomic 94
atomic是百分之百線程安全的嗎 94
說明并比較關(guān)鍵詞:_ _weak和_ _block 95
什么是block?它和代理的區(qū)別是什么 95
屬性聲明代碼風(fēng)格考查 96
架構(gòu)解耦代碼考查 97
內(nèi)存管理語(yǔ)法考查 98
多線程語(yǔ)法考查 99
以scheduledTimerWithTimeInterval的方式觸發(fā)的timer,在滑動(dòng)頁(yè)面上的列表時(shí),
timer會(huì)暫停,為什么?該如何解決 100
Swift為什么將String,Array和Dictionary設(shè)計(jì)成值類型 101
如何用Swift將協(xié)議(protocol)中的部分方法設(shè)計(jì)成可選(optional) 102
協(xié)議的代碼實(shí)戰(zhàn) 103
在Swift和Objective-C的混合編程項(xiàng)目中,如何在Swift文件中調(diào)用
Objective-C文件中定義的方法?如何在Objective-C文件中調(diào)用Swift
文件中定義的方法 104
比較Swift和Objective-C中的初始化方法(init)有什么異同 105
比較Swift和Objective-C中的協(xié)議(protocol)有什么異同 105
談?wù)剬?duì)Objective-C和Swift動(dòng)態(tài)特性的理解 105
語(yǔ)言特性的代碼實(shí)戰(zhàn) 107
message send如果找不到對(duì)象,則會(huì)如何進(jìn)行后續(xù)處理 108
什么是method swizzling 108
Swift和Objective-C的自省(Introspection)有什么不同 109
能否通過Category給已有的類添加屬性(property) 110
LLDB中p和po有什么區(qū)別 112
Xcode中的Buildtime issues和Runtime issues指什么 113
App啟動(dòng)時(shí)間過長(zhǎng),該怎樣優(yōu)化 114
如何用Xcode檢測(cè)代碼中的循環(huán)引用 115
怎樣解決EXC_BAD_ACCESS 116
如何在Playground中執(zhí)行異步操作 117
在playground中實(shí)現(xiàn)一個(gè)10行的列表,每行隨機(jī)顯示一個(gè)0~100的整數(shù) 118
要在UIView上定義一個(gè)Label有哪幾種方式 119
storyboard/xib和純代碼構(gòu)建UI相比,有哪些優(yōu)點(diǎn)和缺點(diǎn) 120
Auto Layout和Frame在UI布局和渲染上有什么區(qū)別 121
UIView和CALayer有什么區(qū)別 121
說明并比較關(guān)鍵詞:frame,bounds和center 122
說明并比較方法:layoutIfNeeded,layoutSubviews和setNeedsLayout 123
說明并比較關(guān)鍵詞:Safe Area,SafeAreaLayoutGuide和SafeAreaInsets 123
在iOS中實(shí)現(xiàn)動(dòng)畫的方式有幾種 124
控制屏幕上的圓形小球,使其水平向右滑動(dòng)200個(gè)point 125
在iOS開發(fā)中,如何保證App的UI在iPhone、iPad及iPad分屏情況下
依然適用 127
如何用drag & drop實(shí)現(xiàn)圖片拖動(dòng)功能 129
說明并比較關(guān)鍵詞:contentView,contentInset,contentSize和contentOffset 131
說明UITableViewCell的重用機(jī)制 133
說明并比較協(xié)議:UITableViewDataSource和UITableViewDelegate 133
請(qǐng)說明并比較協(xié)議:UICollectionViewDataSource,UICollection- ViewDelegate
和UICollectionViewDelegateFlowLayout 133
實(shí)現(xiàn)一個(gè)10行的列表,每行隨機(jī)顯示一個(gè)0~100的整數(shù)。用戶可以刪除、
移動(dòng)任何一行,下拉列表中的數(shù)字重新刷新 134
UICollectionView中的Supplementary Views和Decoration Views分別指什么 137
如果一個(gè)列表視圖滑動(dòng)很慢,那么該怎樣優(yōu)化 138
說一說實(shí)現(xiàn)預(yù)加載的方法 139
如何用UICollectionView實(shí)現(xiàn)瀑布流界面 140
說一說HTTP中GET與POST的區(qū)別 142
說一說Session和Cookie的概念 142
說明并比較網(wǎng)絡(luò)通信協(xié)議:Ajax Polling,Long Polling,WebSockets和
Sever-Sent Event 143
在一個(gè)HTTPS連接的網(wǎng)站中,輸入賬號(hào)和密碼并單擊登錄按鈕后,
到服務(wù)器返回這個(gè)請(qǐng)求前,這期間經(jīng)歷了什么 143
說明并比較類:URLSessionTask,URLSessionDataTask,
URLSessionUploadTask和URLSessionDownloadTask 144
什么是Completion Handler 145
設(shè)計(jì)一個(gè)方法,在給定API的網(wǎng)址的條件下,返回用戶數(shù)據(jù) 146
在iOS開發(fā)中,本地消息通知的流程是怎樣的 148
說一說在iOS開發(fā)中,遠(yuǎn)程消息推送的原理 149
在iOS開發(fā)中,如何實(shí)現(xiàn)編碼和解碼 150
說一說在iOS開發(fā)中數(shù)據(jù)持久化的方案 151
在iOS開發(fā)中,對(duì)于并發(fā)操作有哪3種方式 153
比較關(guān)鍵詞:Serial,Concurrent,Sync和Async 153
串行隊(duì)列的代碼實(shí)戰(zhàn) 154
并行隊(duì)列的代碼實(shí)戰(zhàn) 156
舉例說明iOS并發(fā)編程中的三大問題 157
競(jìng)態(tài)條件的代碼實(shí)戰(zhàn) 160
試比較GCD中的方法:dispatch_async,dispatch_after,dispatch_ once
和dispatch_group 162
GCD中全局(global)隊(duì)列有哪幾種優(yōu)先級(jí) 164
試比較Operations中的關(guān)鍵詞:Operation,BlockOperation和OperationQueue 164
如何在OperationQueue中取消某個(gè)Operation 166
在實(shí)際開發(fā)中,主線程和其他線程有哪些使用場(chǎng)景 168
說說你平常開發(fā)中用到的設(shè)計(jì)模式 169
什么是MVC 170
Objective-C和Swift在單例模式的創(chuàng)建上有什么區(qū)別 171
什么是裝飾模式(Decorator) 171
什么是觀察者模式(Observer) 172
什么是備忘錄模式(Memento) 174
比較蘋果官方的MVC架構(gòu)的優(yōu)點(diǎn)和缺點(diǎn) 176
MVC架構(gòu)的代碼實(shí)戰(zhàn) 177
MVCS中的S為什么要單獨(dú)拆分出來 179
MVP和MVC有什么異同 179
MVVM中的ViewModel的作用是什么 180
比較MVC、MVP和MVVM這三種架構(gòu) 181
VIPER之間的各個(gè)組件是如何交互的 182
什么是OOP?它在iOS開發(fā)中有哪些優(yōu)點(diǎn) 184
OOP在iOS開發(fā)中有哪些缺點(diǎn) 185
POP相比OOP有哪些優(yōu)勢(shì) 187
要給一個(gè)UIButton增加一個(gè)點(diǎn)擊后抖動(dòng)的效果,該怎樣實(shí)現(xiàn) 189
POP的代碼實(shí)戰(zhàn) 190
試用Swift實(shí)現(xiàn)二分搜索算法 192
一個(gè)App崩潰了,可能是什么原因造成的 195
在模擬機(jī)上完成所有測(cè)試之后,就不需要在真機(jī)上再進(jìn)行測(cè)試了嗎 196
為什么在單元測(cè)試中引入代碼模塊要用@testable關(guān)鍵詞 197
單元測(cè)試的代碼實(shí)戰(zhàn) 197
說一說iOS中的性能測(cè)試(performance test) 199
說一說iOS開發(fā)中的UI測(cè)試 200
如何檢查測(cè)試覆蓋率 200
什么是iOS中的App ID 201
什么是iOS中的Code Signing 202
什么是iOS中的App Thinning 202
向App Store提交App時(shí)有哪些原因可能被拒 203
IOS面試之道 相關(guān)資料
《iOS面試之道》雖然講的是iOS和面試,但內(nèi)容涉及算法基礎(chǔ)、工具語(yǔ)言、系統(tǒng)框架、簡(jiǎn)歷和面試準(zhǔn)備等豐富而有質(zhì)量的內(nèi)容。無(wú)論是哪個(gè)領(lǐng)域,面試對(duì)軟件開發(fā)工程師來說都是一塊非常好的敲門磚。良好的技術(shù)基礎(chǔ)和準(zhǔn)備充分的簡(jiǎn)歷既可以幫助你打開向上的職業(yè)通道,也可以改變你的生活。如果你是一名移動(dòng)開發(fā)工程師,那么建議閱讀這本書。——極客邦科技總裁,MacTalk作者 池建強(qiáng) 本書內(nèi)容涉及面試前的準(zhǔn)備、算法和數(shù)據(jù)結(jié)構(gòu)、UI設(shè)計(jì)、并發(fā)、網(wǎng)絡(luò)、設(shè)計(jì)模式等面試中經(jīng)常被問到的問題,對(duì)iOS新手程序員來說,這是一本不錯(cuò)的書。其中的面試知識(shí)也適用于如Google、Facebook等國(guó)際大公司。另外,本書也給出了一個(gè)iOS程序員的技能樹地圖,除應(yīng)對(duì)面試外,只要你沿著這條路徑鉆研下去,就一定能夠開啟未來更為廣闊的天地。 ——程序員 陳皓(左耳朵耗子) 如何面試,面試前需要達(dá)到什么樣的水平,是初學(xué)者經(jīng)常問的問題。而一般面試方法都不被當(dāng)作硬實(shí)力,不過這個(gè)軟實(shí)力往往直接決定了你是否被錄用,以及薪資如何。可惜,很少有業(yè)內(nèi)的高手愿意在這樣的基本問題上發(fā)聲,所以,故胤道長(zhǎng)和唐巧兩位高手寫的這本書就顯得更加珍貴,非常值得閱讀。——老iOS程序員 Tinyfool 本書介紹了iOS面試時(shí)需要的知識(shí)和全新的面試趨勢(shì)。第1章對(duì)面試的總結(jié)讓人身臨其境,第2章算法基礎(chǔ)精彩實(shí)用,后面的章節(jié)對(duì)各個(gè)知識(shí)點(diǎn)采用問答方式來介紹,問題豐富,有代表性,解答條理清晰,有針對(duì)性。這是一本很有價(jià)值的書。——滴滴iOS技術(shù)專家 戴銘 本書為iOS程序員面試量身定制,既有關(guān)鍵算法知識(shí)的分析,又有全新iOS面試題的解析;對(duì)技術(shù)難點(diǎn)的講解深入細(xì)致,易于吸收。對(duì)正在準(zhǔn)備面試的同學(xué)來說,是一本難得的好書。——iOS雜貨鋪店主 Peak 本書的算法基礎(chǔ)一章結(jié)合Swift語(yǔ)言和函數(shù)式編程思想,詳細(xì)、具體地介紹了iOS開發(fā)過程中經(jīng)常遇到的算法問題,在一問一答間還融入了作者對(duì)問題本質(zhì)的深刻理解和多年工作經(jīng)驗(yàn)的沉淀,非常精彩,值得閱讀。——支付寶iOS工程師 念茜 作為技術(shù)研發(fā)人員,*終還是要靠自身實(shí)力說話。本書的每一節(jié)內(nèi)容都是作者結(jié)合自身的實(shí)戰(zhàn)經(jīng)驗(yàn)精雕細(xì)琢而成的,簡(jiǎn)潔而有深度,稱得上字字珠璣。本書不僅可以當(dāng)作面試指南,也可以作為我們的iOS知識(shí)體系的基本框架,值得細(xì)細(xì)研讀。——*iOS工程師 南大 程序員面試經(jīng)驗(yàn)在網(wǎng)上隨處可見,但是內(nèi)容良莠不齊。如果你是一名iOS程序員,那么本書是不錯(cuò)的選擇。本書不僅涵蓋簡(jiǎn)歷準(zhǔn)備、算法知識(shí)等基礎(chǔ),還對(duì)面試所需的開發(fā)語(yǔ)言、框架和架構(gòu)都做了分析和答疑,是一本值得面試者閱讀的好書。 ——微信iOS工程師 芒果 本書是一本優(yōu)質(zhì)的面試指南:融合了簡(jiǎn)歷修改、面試準(zhǔn)備、算法基礎(chǔ)、函數(shù)式編程等當(dāng)下全新、實(shí)用的iOS面試開發(fā)內(nèi)容,并結(jié)合作者多年iOS開發(fā)工作和開源經(jīng)驗(yàn),為讀者介紹了iOS開發(fā)者應(yīng)該理解并熟悉的重點(diǎn)。——谷歌iOS工程師 老驢
IOS面試之道 作者簡(jiǎn)介
故胤道長(zhǎng) 卡內(nèi)基梅隆大學(xué)碩士畢業(yè),常年居住于美國(guó)的iOS開發(fā)者;先后就職于Uber、Amazon GitHub全美前20名的Swift開源作者 唐巧 資深 iOS 開發(fā)者 擁有超過10萬(wàn)個(gè)微信公眾號(hào)和微博粉絲,一直努力分享iOS相關(guān)知識(shí) 著有《iOS開發(fā)進(jìn)階》 一書 現(xiàn)任猿輔導(dǎo)公司,小猿搜題產(chǎn)品技術(shù)負(fù)責(zé)人
- >
巴金-再思錄
- >
伊索寓言-世界文學(xué)名著典藏-全譯本
- >
推拿
- >
月亮虎
- >
史學(xué)評(píng)論
- >
莉莉和章魚
- >
羅庸西南聯(lián)大授課錄
- >
我從未如此眷戀人間