iOS面試一戰(zhàn)到底 版權(quán)信息
- ISBN:9787302559191
- 條形碼:9787302559191 ; 978-7-302-55919-1
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
iOS面試一戰(zhàn)到底 本書特色
從內(nèi)容上講,本書的每一章都可以作為一個(gè)獨(dú)立的專題模塊。章與章之間有一定的先后順序與關(guān)聯(lián)性,但是這種關(guān)聯(lián)性并不強(qiáng)。如果你對某一章內(nèi)容不感興趣,或者對某一章所講內(nèi)容已經(jīng)能夠熟練掌握,那么你完全可以跳過本章進(jìn)行閱讀學(xué)習(xí)。同樣,你也可以將本書作為一本工具書,在日常開發(fā)中查詢某些知識點(diǎn)的用法,或者在技術(shù)面試前夕進(jìn)行突擊訓(xùn)練。本書中的所有范例都提供了源代碼參考,并且本書每一章的結(jié)尾都提供了一些面試場景,以供讀者進(jìn)行練習(xí)。
一線iOS架構(gòu)師精心編撰,顯著提升你的核心競爭力
iOS面試一戰(zhàn)到底 內(nèi)容簡介
本書是一本專門面向提升面試技巧的工具書,同時(shí)也是一本專注于提升iOS核心開發(fā)能力的進(jìn)階教程。
本書比較系統(tǒng)地介紹了一個(gè)不錯iOS工程師在開發(fā)中需要掌握的各種核心技能,其中包括流行的設(shè)計(jì)模式與數(shù)據(jù)結(jié)構(gòu)、常用的核心算法、多線程技術(shù)以及iOS應(yīng)用運(yùn)行和界面渲染的底層原理與優(yōu)化思路等。本書結(jié)合面試場景,提供了大量的模擬習(xí)題來幫助讀者做演練。通過本書的學(xué)習(xí),可以切實(shí)提高讀者的編程技能,學(xué)到更多高階iOS開發(fā)技巧,同時(shí)也可以提高面試實(shí)力,幫助讀者在找工作的過程中更加游刃有余。
由于本書涉及更多的是設(shè)計(jì)開發(fā)中的高階技巧,因此對于無基礎(chǔ)的讀者來說可能略有難度。本書并不適合零基礎(chǔ)的讀者作為入門參考書閱讀,對于零基礎(chǔ)的讀者,建議先學(xué)習(xí)入門類教程后再使用本書做深入與提高。
iOS面試一戰(zhàn)到底 目錄
第1章 面試前的準(zhǔn)備
1.1 精致你的簡歷
1.1.1 求職簡歷的基本格式
1.1.2 投其所好——精準(zhǔn)投遞你的簡歷
1.2 篩選面試機(jī)會
1.2.1 從眼前著眼,也考慮未來
1.2.2 在面試過程中分析公司
1.3 筆試與面試
1.3.1 關(guān)于筆試需要注意的事
1.3.2 關(guān)于面試需要注意的事
1.4 面試中的交流與提問
1.4.1 盡量使單向的陳述變成雙向的交流
1.4.2 把握提問的機(jī)會
1.5 Offer的選擇與職業(yè)規(guī)劃
1.5.1 選擇Offer時(shí)的幾點(diǎn)建議
1.5.2 關(guān)于職業(yè)規(guī)劃
1.6 回顧、思考與練習(xí)
1.6.1 回顧
1.6.2 思考與練習(xí)
第2章 常用設(shè)計(jì)模式應(yīng)用解析
2.1 設(shè)計(jì)模式概述
2.1.1 初識設(shè)計(jì)模式
2.1.2 設(shè)計(jì)模式的分類
2.2 關(guān)于UML建模語言
2.2.1 UML簡介
2.2.2 使用UML描述類之間的關(guān)系
2.3 軟件設(shè)計(jì)的7條原則
2.3.1 開閉原則
2.3.2 里式替換原則
2.3.3 單一職責(zé)原則
2.3.4 接口隔離原則
2.3.5 依賴倒置原則
2.3.6 迪米特原則
2.3.7 合成復(fù)用原則
2.4 創(chuàng)建型設(shè)計(jì)模式
2.4.1 單例設(shè)計(jì)模式
2.4.2 原型設(shè)計(jì)模式
2.4.3 工廠方法設(shè)計(jì)模式
2.4.4 抽象工廠設(shè)計(jì)模式
2.4.5 建造者設(shè)計(jì)模式
2.5 結(jié)構(gòu)型設(shè)計(jì)模式
2.5.1 代理設(shè)計(jì)模式
2.5.2 適配器設(shè)計(jì)模式
2.5.3 橋接設(shè)計(jì)模式
2.5.4 裝飾設(shè)計(jì)模式
2.5.5 外觀設(shè)計(jì)模式
2.5.6 享元設(shè)計(jì)模式
2.5.7 組合設(shè)計(jì)模式
2.6 行為型設(shè)計(jì)模式
2.6.1 模板方法設(shè)計(jì)模式
2.6.2 策略設(shè)計(jì)模式
2.6.3 命令設(shè)計(jì)模式
2.6.4 責(zé)任鏈設(shè)計(jì)模式
2.6.5 狀態(tài)設(shè)計(jì)模式
2.6.6 觀察者設(shè)計(jì)模式
2.6.7 中介者設(shè)計(jì)模式
2.6.8 迭代器設(shè)計(jì)模式
2.6.9 訪問者設(shè)計(jì)模式
2.6.10 備忘錄設(shè)計(jì)模式
2.6.11 解釋器設(shè)計(jì)模式
2.7 回顧、思考與練習(xí)
2.7.1 回顧
2.7.2 思考與練習(xí)
第3章 核心數(shù)據(jù)類型你不知道的真相
3.1 多變的NSString類
3.1.1 從NSString對象的引用計(jì)數(shù)說起
3.1.2 iOS程序的內(nèi)存分布
3.1.3 NSString類簇
3.1.4 NSString復(fù)制相關(guān)的方法
3.2 深入理解NSArray類
3.2.1 NSArray相關(guān)類簇
3.2.2 NSArray數(shù)組的內(nèi)存分布
3.3 NSDictionary的相關(guān)內(nèi)容
3.3.1 NSDictionary類簇
3.3.2 了解哈希表
3.3.3 處理哈希碰撞
3.3.4 NSDictionary的實(shí)現(xiàn)原理
3.4 Swift語言中的字符串、數(shù)組與字典類型
3.4.1 值類型與引用類型
3.4.2 在Swift中使用指針
3.4.3 指針與內(nèi)存管理
3.4.4 Swift中的String類型
3.4.5 Swift中的Array類型
3.4.6 Swift中的Dictionary類型
3.5 回顧、思考與練習(xí)
3.5.1 回顧
3.5.2 思考與練習(xí)
第4章 常用算法解析
4.1 關(guān)于算法的復(fù)雜度
4.1.1 時(shí)間復(fù)雜度概述
4.1.2 常見的幾種時(shí)間復(fù)雜度
4.1.3 空間復(fù)雜度概述
4.2 常用查找算法
4.2.1 順序查找算法
4.2.2 二分查找算法
4.2.3 插值查找算法
4.2.4 斐波那契查找算法
4.2.5 二叉查找樹查找算法
4.2.6 分塊查找算法
4.2.7 哈希查找算法
4.3 常用排序算法
4.3.1 冒泡排序算法
4.3.2 選擇排序算法
4.3.3 快速排序算法
4.3.4 插入排序算法
4.3.5 希爾排序算法
4.3.6 桶排序算法
4.3.7 歸并排序算法
4.3.8 堆排序算法
4.4 樹相關(guān)算法
4.4.1 樹的概念
4.4.2 二叉樹
4.4.3 二叉樹的遍歷
4.4.4 二叉查找樹
4.4.5 平衡二叉查找樹
4.4.6 構(gòu)建平衡二叉查找樹
4.5 回顧、思考與練習(xí)
4.5.1 回顧
4.5.2 思考與練習(xí)
第5章 容易被忽略的語法雷區(qū)
5.1 Objective-C中的屬性
5.1.1 @property語法做了什么
5.1.2 屬性修飾符
5.1.3 Setter方法語義類修飾符
5.1.4 訪問器名稱相關(guān)的修飾符
5.1.5 可寫性相關(guān)的修飾符
5.1.6 原子性相關(guān)的修飾符
5.1.7 為空性相關(guān)的修飾符
5.2 深入理解引用計(jì)數(shù)技術(shù)
5.2.1 手動引用計(jì)數(shù)
5.2.2 初步了解自動引用計(jì)數(shù)的原理
5.2.3 自動釋放池
5.3 Objective-C中的Block
5.3.1 Block的類型
5.3.2 Block中變量的捕獲
5.3.3 __block關(guān)鍵字
5.4 iOS程序開發(fā)中的RunLoop
5.4.1 線程與RunLoop的關(guān)系
5.4.2 RunLoop的運(yùn)行機(jī)制
5.4.3 RunLoop的模式
5.5 Objective-C語言的消息機(jī)制與運(yùn)行時(shí)
5.5.1 使用消息發(fā)送代替函數(shù)調(diào)用
5.5.2 消息傳遞的過程
5.5.3 關(guān)于super關(guān)鍵字
5.5.4 Objective-C的運(yùn)行時(shí)技術(shù)
5.6 Swift中的“?”與“!”
5.6.1 關(guān)于可選類型
5.6.2 隱式解析與可選鏈
5.6.3 可選類型的本質(zhì)
5.7 Swift中的權(quán)限控制
5.7.1 關(guān)于private
5.7.2 關(guān)于fileprivate
5.7.3 關(guān)于internal
5.7.4 public與open
5.8 Swift中的泛型
5.8.1 泛型使用示例
5.8.2 對泛型進(jìn)行約束
5.9 Swift中的協(xié)議與擴(kuò)展
5.9.1 Swift中協(xié)議的用法
5.9.2 協(xié)議與擴(kuò)展的結(jié)合使用
5.10 回顧、思考與練習(xí)
5.10.1 回顧
5.10.2 思考與練習(xí)
第6章 界面開發(fā)核心技術(shù)
6.1 自動布局技術(shù)
6.1.1 自動布局的基本原理
6.1.2 NSLayoutConstraint對象的使用
6.1.3 使用VFL創(chuàng)建約束對象
6.1.4 布局錨點(diǎn)NSLayoutAnchor的應(yīng)用
6.2 iOS開發(fā)中的動畫系統(tǒng)
6.2.1 動畫的本質(zhì)
6.2.2 關(guān)于CALayer
6.2.3 CALayer的隱式動畫
6.2.4 隱式動畫的原理
6.2.5 各種常用的CALayer子類
6.2.6 Core Animation核心動畫技術(shù)
6.3 iOS中的繪圖技術(shù)
6.3.1 屏幕渲染原理
6.3.2 iOS頁面渲染的過程
6.3.3 圖層的繪制
6.3.4 使用CGContext手動繪制圖層
6.4 頁面的性能優(yōu)化
6.4.1 控制圖層數(shù)量
6.4.2 合理使用離屏渲染
6.4.3 更多提高頁面性能的方式
6.5 回顧、思考與練習(xí)
6.5.1 回顧
6.5.2 思考與練習(xí)
第7章 多線程核心知識
7.1 pthread多線程技術(shù)的應(yīng)用
7.1.1 pthread的簡單使用
7.1.2 可配置的線程屬性
7.1.3 pthread中的常用函數(shù)
7.1.4 pthread進(jìn)行線程間通信
7.2 NSThread多線程編程技術(shù)
7.2.1 使用NSThread開啟新線程的幾種方式
7.2.2 NSThread中的相關(guān)屬性與方法解析
7.2.3 NSThread相關(guān)的幾個(gè)通知
7.3 GCD多線程編程技術(shù)
7.3.1 GCD調(diào)度機(jī)制
7.3.2 添加任務(wù)到GCD隊(duì)列
7.3.3 使用調(diào)度組
7.3.4 使用GCD進(jìn)行快速迭代
7.3.5 使用GCD監(jiān)聽事件源
7.3.6 GCD中信號的使用
7.3.7 執(zhí)行延時(shí)任務(wù)
7.3.8 GCD中的單例
7.3.9 GCD中的柵欄函數(shù)
7.4 NSOperationQueue多線程編程
7.4.1 理解NSOperation
7.4.2 NSOperationQueue操作隊(duì)列
7.5 關(guān)于線程死鎖
7.6 回顧、思考與練習(xí)
7.6.1 回顧
7.6.2 思考與練習(xí)
第8章 應(yīng)用上架指南
8.1 應(yīng)用程序推送
8.1.1 UserNotification框架概覽
8.1.2 推送普通的本地通知
8.1.3 通知觸發(fā)器
8.1.4 為通知內(nèi)容添加附件
8.1.5 自定義通知模板
8.1.6 遠(yuǎn)程推送
8.2 應(yīng)用程序上架流程
8.2.1 關(guān)于應(yīng)用程序測試
8.2.2 提交應(yīng)用程序到AppStore
8.2.3 應(yīng)用審核拒絕后的處理方案
8.3 回顧、思考與練習(xí)
8.3.1 回顧
8.3.2 思考與練習(xí)
展開全部
iOS面試一戰(zhàn)到底 作者簡介
張益琿(網(wǎng)名:琿少) 多年iOS開發(fā)經(jīng)驗(yàn),51CTO學(xué)院、CSDN學(xué)院簽約講師 ,麥子學(xué)院金牌講師。參與開發(fā)iOS平臺系列游戲:瘋狂越獄1-2、應(yīng)用物通配貨軟件、VIPExam考試庫、證券財(cái)經(jīng)軟件等。曾就職于中國唯品會,主要從事移動端應(yīng)用開發(fā),對iOS開發(fā)、React Native跨平臺開發(fā)及JavaScript前端開發(fā)都擁有豐富的經(jīng)驗(yàn)。曾出版《iOS開發(fā)實(shí)戰(zhàn):從零基礎(chǔ)到App Store上架》《React Native全教程:移動端跨平臺應(yīng)用開發(fā)》等多本編程著作。