注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計iOS面試一戰(zhàn)到底

iOS面試一戰(zhàn)到底

iOS面試一戰(zhàn)到底

定 價:¥79.00

作 者: 張益琿 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302559191 出版時間: 2020-09-01 包裝: 平裝
開本: 16開 頁數(shù): 277 字數(shù):  

內(nèi)容簡介

  本書是一本專門面向提升面試技巧的工具書,同時也是一本專注于提升iOS核心開發(fā)能力的進階教程。 本書比較系統(tǒng)地介紹了一個高級iOS工程師在開發(fā)中需要掌握的各種核心技能,其中包括流行的設計模式與數(shù)據(jù)結(jié)構、常用的核心算法、多線程技術以及iOS應用運行和界面渲染的底層原理與優(yōu)化思路等。本書結(jié)合面試場景,提供了大量的模擬習題來幫助讀者做演練。通過本書的學習,可以切實提高讀者的編程技能,學到更多高階iOS開發(fā)技巧,同時也可以提高面試實力,幫助讀者在找工作的過程中更加游刃有余。 由于本書涉及更多的是設計開發(fā)中的高階技巧,因此對于無基礎的讀者來說可能略有難度。本書并不適合零基礎的讀者作為入門參考書閱讀,對于零基礎的讀者,建議先學習入門類教程后再使用本書做深入與提高。

作者簡介

  張益琿(網(wǎng)名:琿少)多年iOS開發(fā)經(jīng)驗,51CTO學院、CSDN學院簽約講師 ,麥子學院金牌講師。參與開發(fā)iOS平臺系列游戲:瘋狂越獄1-2、應用物通配貨軟件、VIPExam考試庫、證券財經(jīng)軟件等。曾就職于中國唯品會,主要從事移動端應用開發(fā),對iOS開發(fā)、React Native跨平臺開發(fā)及JavaScript前端開發(fā)都擁有豐富的經(jīng)驗。曾出版《iOS開發(fā)實戰(zhàn):從零基礎到App Store上架》《React Native全教程:移動端跨平臺應用開發(fā)》等多本編程著作。

圖書目錄

第1章  面試前的準備     1
1.1  精致你的簡歷     1
1.1.1  求職簡歷的基本格式      2
1.1.2  投其所好——精準投遞你的簡歷  2
1.2  篩選面試機會     3
1.2.1  從眼前著眼,也考慮未來     3
1.2.2  在面試過程中分析公司  3
1.3  筆試與面試  4
1.3.1  關于筆試需要注意的事  4
1.3.2  關于面試需要注意的事  4
1.4  面試中的交流與提問 5
1.4.1  盡量使單向的陳述變成雙向的交流     5
1.4.2  把握提問的機會      5
1.5  Offer的選擇與職業(yè)規(guī)劃   6
1.5.1  選擇Offer時的幾點建議       6
1.5.2  關于職業(yè)規(guī)劃  7
1.6  回顧、思考與練習     8
1.6.1  回顧   8
1.6.2  思考與練習      9
 
第2章  常用設計模式應用解析   10
2.1  設計模式概述     10
2.1.1  初識設計模式  11
2.1.2  設計模式的分類      11
2.2  關于UML建模語言   12
2.2.1  UML簡介 12
2.2.2  使用UML描述類之間的關系      13
2.3  軟件設計的7條原則  16
2.3.1  開閉原則   16
2.3.2  里式替換原則  19
2.3.3  單一職責原則  21
2.3.4  接口隔離原則  23
2.3.5  依賴倒置原則  26
2.3.6  迪米特原則      28
2.3.7  合成復用原則  30
2.4  創(chuàng)建型設計模式  32
2.4.1  單例設計模式  32
2.4.2  原型設計模式  36
2.4.3  工廠方法設計模式  38
2.4.4  抽象工廠設計模式  40
2.4.5  建造者設計模式      42
2.5  結(jié)構型設計模式  44
2.5.1  代理設計模式  44
2.5.2  適配器設計模式      46
2.5.3  橋接設計模式  47
2.5.4  裝飾設計模式  48
2.5.5  外觀設計模式  49
2.5.6  享元設計模式  50
2.5.7  組合設計模式  52
2.6  行為型設計模式  55
2.6.1  模板方法設計模式  55
2.6.2  策略設計模式  56
2.6.3  命令設計模式  57
2.6.4  責任鏈設計模式      60
2.6.5  狀態(tài)設計模式  62
2.6.6  觀察者設計模式      63
2.6.7  中介者設計模式      65
2.6.8  迭代器設計模式      68
2.6.9  訪問者設計模式      69
2.6.10  備忘錄設計模式    70
2.6.11  解釋器設計模式    72
2.7  回顧、思考與練習     73
2.7.1  回顧   74
2.7.2  思考與練習      74
 
第3章  核心數(shù)據(jù)類型你不知道的真相      75
3.1  多變的NSString類     75
3.1.1  從NSString對象的引用計數(shù)說起 76
3.1.2  iOS程序的內(nèi)存分布       78
3.1.3  NSString類簇   79
3.1.4  NSString復制相關的方法      81
3.2  深入理解NSArray類 83
3.2.1  NSArray相關類簇   84
3.2.2  NSArray數(shù)組的內(nèi)存分布      85
3.3  NSDictionary的相關內(nèi)容  86
3.3.1  NSDictionary類簇   86
3.3.2  了解哈希表      87
3.3.3  處理哈希碰撞  89
3.3.4  NSDictionary的實現(xiàn)原理       92
3.4  Swift語言中的字符串、數(shù)組與字典類型      92
3.4.1  值類型與引用類型  93
3.4.2  在Swift中使用指針       96
3.4.3  指針與內(nèi)存管理      98
3.4.4  Swift中的String類型     99
3.4.5  Swift中的Array類型     101
3.4.6  Swift中的Dictionary類型      104
3.5  回顧、思考與練習     105
3.5.1  回顧   105
3.5.2  思考與練習      105
 
第4章  常用算法解析     106
4.1  關于算法的復雜度     107
4.1.1  時間復雜度概述      107
4.1.2  常見的幾種時間復雜度  108
4.1.3  空間復雜度概述      110
4.2  常用查找算法     112
4.2.1  順序查找算法  112
4.2.2  二分查找算法  112
4.2.3  插值查找算法  113
4.2.4  斐波那契查找算法  114
4.2.5  二叉查找樹查找算法      116
4.2.6  分塊查找算法  117
4.2.7  哈希查找算法  118
4.3  常用排序算法     118
4.3.1  冒泡排序算法  118
4.3.2  選擇排序算法  119
4.3.3  快速排序算法  120
4.3.4  插入排序算法  121
4.3.5  希爾排序算法  121
4.3.6  桶排序算法      122
4.3.7  歸并排序算法  123
4.3.8  堆排序算法      125
4.4  樹相關算法  126
4.4.1  樹的概念   126
4.4.2  二叉樹      127
4.4.3  二叉樹的遍歷  128
4.4.4  二叉查找樹      130
4.4.5  平衡二叉查找樹      133
4.4.6  構建平衡二叉查找樹      135
4.5  回顧、思考與練習     140
4.5.1  回顧   140
4.5.2  思考與練習      141
 
第5章  容易被忽略的語法雷區(qū)   142
5.1  Objective-C中的屬性 142
5.1.1  @property語法做了什么       143
5.1.2  屬性修飾符      145
5.1.3  Setter方法語義類修飾符       145
5.1.4  訪問器名稱相關的修飾符     146
5.1.5  可寫性相關的修飾符      146
5.1.6  原子性相關的修飾符      146
5.1.7  為空性相關的修飾符      147
5.2  深入理解引用計數(shù)技術     148
5.2.1  手動引用計數(shù)  148
5.2.2  初步了解自動引用計數(shù)的原理     150
5.2.3  自動釋放池      152
5.3  Objective-C中的Block      154
5.3.1  Block的類型    154
5.3.2  Block中變量的捕獲       157
5.3.3  __block關鍵字 158
5.4  iOS程序開發(fā)中的RunLoop      159
5.4.1  線程與RunLoop的關系 159
5.4.2  RunLoop的運行機制      161
5.4.3  RunLoop的模式      163
5.5  Objective-C語言的消息機制與運行時    164
5.5.1  使用消息發(fā)送代替函數(shù)調(diào)用  165
5.5.2  消息傳遞的過程      166
5.5.3  關于super關鍵字    172
5.5.4  Objective-C的運行時技術     173
5.6  Swift中的“?”與“!”  178
5.6.1  關于可選類型  178
5.6.2  隱式解析與可選鏈  179
5.6.3  可選類型的本質(zhì)      181
5.7  Swift中的權限控制    181
5.7.1  關于private      182
5.7.2  關于fileprivate  183
5.7.3  關于internal     184
5.7.4  public與open   184
5.8  Swift中的泛型    185
5.8.1  泛型使用示例  185
5.8.2  對泛型進行約束      188
5.9  Swift中的協(xié)議與擴展       191
5.9.1  Swift中協(xié)議的用法 191
5.9.2  協(xié)議與擴展的結(jié)合使用  194
5.10  回顧、思考與練習   195
5.10.1  回顧 195
5.10.2  思考與練習    196
 
第6章  界面開發(fā)核心技術    197
6.1  自動布局技術     197
6.1.1  自動布局的基本原理      198
6.1.2  NSLayoutConstraint對象的使用    199
6.1.3  使用VFL創(chuàng)建約束對象 202
6.1.4  布局錨點NSLayoutAnchor的應用       205
6.2  iOS開發(fā)中的動畫系統(tǒng)      207
6.2.1  動畫的本質(zhì)      207
6.2.2  關于CALayer   208
6.2.3  CALayer的隱式動畫      210
6.2.4  隱式動畫的原理      213
6.2.5  各種常用的CALayer子類     216
6.2.6  Core Animation核心動畫技術       221
6.3  iOS中的繪圖技術      223
6.3.1  屏幕渲染原理  223
6.3.2  iOS頁面渲染的過程       224
6.3.3  圖層的繪制      225
6.3.4  使用CGContext手動繪制圖層     227
6.4  頁面的性能優(yōu)化  229
6.4.1  控制圖層數(shù)量  229
6.4.2  合理使用離屏渲染  232
6.4.3  更多提高頁面性能的方式     233
6.5  回顧、思考與練習     234
6.5.1  回顧   234
6.5.2  思考與練習      234
 
第7章  多線程核心知識 235
7.1  pthread多線程技術的應用 235
7.1.1  pthread的簡單使用 236
7.1.2  可配置的線程屬性  236
7.1.3  pthread中的常用函數(shù)     238
7.1.4  pthread進行線程間通信 241
7.2  NSThread多線程編程技術       242
7.2.1  使用NSThread開啟新線程的幾種方式      242
7.2.2  NSThread中的相關屬性與方法解析    245
7.2.3  NSThread相關的幾個通知    246
7.3  GCD多線程編程技術       246
7.3.1  GCD調(diào)度機制 247
7.3.2  添加任務到GCD隊列    248
7.3.3  使用調(diào)度組      248
7.3.4  使用GCD進行快速迭代       251
7.3.5  使用GCD監(jiān)聽事件源    252
7.3.6  GCD中信號的使用 254
7.3.7  執(zhí)行延時任務  255
7.3.8  GCD中的單例 255
7.3.9  GCD中的柵欄函數(shù) 255
7.4  NSOperationQueue多線程編程 257
7.4.1  理解NSOperation    258
7.4.2  NSOperationQueue操作隊列  260
7.5  關于線程死鎖     262
7.6  回顧、思考與練習     264
7.6.1  回顧   264
7.6.2  思考與練習      264
 
第8章  應用上架指南     265
8.1  應用程序推送     265
8.1.1  UserNotification框架概覽      265
8.1.2  推送普通的本地通知      267
8.1.3  通知觸發(fā)器      268
8.1.4  為通知內(nèi)容添加附件      269
8.1.5  自定義通知模板      271
8.1.6  遠程推送   273
8.2  應用程序上架流程     275
8.2.1  關于應用程序測試  275
8.2.2  提交應用程序到AppStore     276
8.2.3  應用審核拒絕后的處理方案  276
8.3  回顧、思考與練習     277
8.3.1  回顧   277
8.3.2  思考與練習      277

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號