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

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

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

定 價(jià):¥79.00

作 者: 張益琿 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書目錄

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

本目錄推薦

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