TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
iOS面試之道(簡體書)
滿額折
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)
iOS面試之道(簡體書)

iOS面試之道(簡體書)

商品資訊

人民幣定價:59 元
定價
:NT$ 354 元
優惠價
87308
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:9 點
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次

商品簡介

《iOS面試之道》是作者將多年的工作經驗和積累,結合具體面試內容總結而成的。《iOS面試之道》共分為3部分。第1部分為面試準備,詳細介紹求職中遇到的基本問題,作者根據其多年的經驗,在面試流程、簡歷投遞、複習準備方面給出了完善的參考意見和建議。第2部分為算法知識。算法幾乎是各種水平的程序員都要面對的考查內容。該部分採用Swift語言重新審視了多種數據結構和算法原理,可以說是為iOS開發者量身打造的算法解答。第3部分為iOS專業問答,分為語言工具、系統框架和經驗之談,採用問答的形式來詳細介紹。如果你是一名iOS開發者,並且正準備跳槽,那麼本書是一本不錯的複習參考書;如果你沒有面試計劃,那麼本書也可以幫助你對iOS知識進行提綱挈領的整理;如果你是面試官,那麼希望本書能為你提供考查應聘者的依據和源泉;對於具有其他背景的軟件工程師,若想一窺iOS世界的知識框架,本書也是不錯的切入點。

作者簡介

顧毅,曾在矽谷視頻公司 Ooyala,移動視頻部門,Uber 舊金山總部核心架構部門工作,現在亞馬遜Kindle部門,任技術領導人。
唐巧,小猿搜題負責人,資深iOS開發者。

名人/編輯推薦

√ 117道+面試題,助你得到理想的Offer
√ 在一問一答間,融入作者對問題本質的深刻理解和多年工作經驗的沉澱
√ 不僅是面試指南,也是構建iOS知識體系的基本框架

推薦序




“你會反轉二叉樹嗎?不會?那麼對不起……”
當聞名遐邇,編寫了幾乎是業界標準的Homebrew的作者Max Howell在面試時被 Google 以算法題拒絕後,我不禁開始重新思考,面試為什麼這麼重要,在面試中有沒有什麼能幫助我們遂願的必殺技或者小竅門。Max Howell是幸運的,因為他有著社區內無與倫比的聲望和漂亮的項目履歷,Google將這扇門關上後,Apple 又為他開了一扇窗。但是,對可能資質平平,似乎也沒有什麼閃光點的我們來說,要怎麼做才能求到一個自己心儀已久的職位,其實是一件非常值得細細琢磨一番的事情。
面試幾乎是每個社會人一生必然會經歷幾次的社會活動,但是,由於它發生的頻率不高,很容易被人忽視。我在面試別人時,最大的感受就是有不少應聘者其實並沒有做好萬全的準備。很多時候,應聘者雖然可能十分優秀,但在面試時總感覺就差臨門一腳:要麼是因為面試禮儀不足,讓人覺得無法合作;要麼是因為交流時過於緊張,導致理解偏差;要麼是在做面試題時因為缺乏經驗,無法很快抓住問題本質。這些往往都是準備不足,如果由於這樣的原因導致面試失敗,就非常可惜了。
本書的兩位作者分別是中美兩國知名“大廠”的高級從業人員,有豐富的面試(或面試別人)經驗。他們合作編寫了本書,想要解決的就是上面提到的問題。書中內容涵蓋廣泛:從面試前的職位調研、簡歷準備,到具體的算法設計、iOS開發中的常見問題,再到最後的面試總結、工作的挑選,都有所涉及。在保證覆蓋面的前提下,本書對一些重點進行了深入講解:比如,對常見算法給出了具體的參考實現,對常見的知識點誤用和考點進行了深入的原理分析。另外,本書中很多問題都帶有關鍵字,通過查詢書中的關鍵字,讀者可以概覽相關知識,並迅速建立關於這個關鍵字的知識網絡。作者結合自己的行業經驗和對行業現狀的分析,不僅向應聘者提出了問題,更一一詳盡地給出了解決的方式和建議,可謂字字珠璣,讓人相見恨晚。
通過閱讀本書,你不僅可以準備面試時的技巧和問題,還可以更多地瞭解iOS“大廠”的技術人員所關注和重視的技術點。即使你在短期內不參加面試,也可以通過閱讀本書開闊視野,並對自己的知識體系查缺補漏。這不僅對你的下一次面試有所助力,也可以幫助你精進實力,在現在的工作中更加遊刃有餘。
好了,現在是時候來看一看兩位作者會帶給我們怎樣的“思維碰撞”了。

王 巍



前言

智能手機經過十多年的發展,其銷量增長趨於平穩,技術逐漸成熟,iOS應用程序也已經融入我們生活的方方面面。作為相關技術的開發者,唐巧老師和我懷著忐忑的心情,將多年的經驗和積累,結合具體面試內容,總結成這本《iOS面試之道》,呈現在各位讀者面前。
《iOS面試之道》分為3部分,其中面試準備部分由唐巧老師創作,算法知識和iOS專業問答部分則由我完成。
第1部分為面試準備。這部分詳談了求職中遇到的基本問題,唐巧老師根據其多年的經驗現身說法,在面試流程、簡歷投遞、複習準備方面給出了完善的參考意見和建議。
第2部分為算法知識。作為對程序員基本功的考查,算法幾乎是各種水平的程序員都要面對的必考內容。該部分採用Swift語言重新審視了多種數據結構和算法原理,可以說是為iOS開發者量身打造的算法解答。
第3部分為iOS專業問答,分為語言工具、系統框架和經驗之談,採用問答的形式來詳細介紹。其中,第3章語言工具主要針對iOS的主流開發語言Objective-C和Swift進行分析和對比,同時也整理了 Xcode編輯器的使用技巧和經驗。正所謂,工欲善其事,必先利其器,本章主要考查的是開發者對工具和語言特性的掌握。第4章系統框架則是從視圖、網絡、設計模式等方面考查開發者的開發水準,這是任何一名合格的iOS開發者都應該具備的基本素養。第5章是經驗之談,主要包括一些進階內容的提問和解答,考查的是iOS開發者的功力。
本書收錄和參考了大量的真實面試題,每章的面試題按照從易到難的順序進行編寫。如果你是一名iOS開發者,並且正準備跳槽,那麼本書是一本不錯的複習參考書;如果你沒有面試計劃,那麼本書可以幫助你對iOS知識進行提綱挈領的整理;如果你是iOS面試官,那麼我們也希望本書能夠為你提供考查應聘者的依據和源泉;對於具有其他背景的軟件工程師,若想一窺iOS世界的知識框架,本書也是不錯的切入點。
感謝電子工業出版社的編輯王靜對我們提出大量寶貴的意見。感謝唐巧老師在該書創作上的盡心盡力和對我的不吝指教。感謝喵神王巍的作序和諸位同仁的推薦,他們的幫助使得這本書的價值能更為充分地展現給讀者朋友。最後,我要感謝我的父母,感謝他們對我的支持和理解。

故胤道長
2018年6月1日於矽谷

目次

目錄




第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
說一說在i

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 308
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區