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