第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
|