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