《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。《剑指Offer:名企面试官精讲典型编程题(第2版)》共分7章,主要包括面试的流程,讨论面试每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量代码除完成基本功能外,还能考虑特殊情况并对非法输入进行合理处理;解决面试题的思路,总结编程面试中解决难题的有效思考模式,如在面试中遇到复杂难题,应聘者可利用画图、举例和分解这3种方法将其化繁为简,先形成清晰思路,再动手编程;优化时间和空间效率,读者将学会优化时间效率及用空间换时间的常用算法,从而在面试中找到最优解;面试中的各项能力,总结应聘者如何充分表现学习和沟通能力,并通过具体面试题讨论如何培养知识迁移、抽象建模和发散思维能力;两个面试案例,总结哪些面试举动是不良行为,而哪些表现又是面试官所期待的行为。
目录
- 第1章 面试的流程 1
- 1.1 面试官谈面试 1
- 1.2 面试的3种形式 2
- 1.2.1 电话面试 2
- 1.2.2 共享桌面远程面试 3
- 1.2.3 现场面试 4
- 1.3 面试的3个环节 5
- 1.3.1 行为面试环节 5
- 1.3.2 技术面试环节 10
- 1.3.3 应聘者提问环节 17
- 1.4 本章小结 18
- 第2章 面试需要的基础知识 20
- 2.1 面试官谈基础知识 20
- 2.2 编程语言 21
- 2.2.1 C++ 22
- 2.2.2 C# 27
- 2.3 数据结构 36
- 2.3.1 数组 36
- 2.3.2 字符串 47
- 2.3.3 链表 55
- 2.3.4 树 59
- 2.3.5 栈和队列 67
- 2.4 算法和数据操作 71
- 2.4.1 递归和循环 72
- 2.4.2 查找和排序 78
- 2.4.3 回溯法 87
- 2.4.4 动态规划与贪婪算法 93
- 2.4.5 位运算 98
- 2.5 本章小结 103
- 第3章 高质量的代码 104
- 3.1 面试官谈代码质量 104
- 3.2 代码的规范性 105
- 3.3 代码的完整性 106
- 3.4 代码的鲁棒性 132
- 3.5 本章小结 151
- 第4章 解决面试题的思路 153
- 4.1 面试官谈面试思路 153
- 4.2 画图让抽象问题形象化 154
- 4.3 举例让抽象问题具体化 163
- 4.4 分解让复杂问题简单化 184
- 4.5 本章小结 199
- 第5章 优化时间和空间效率 201
- 5.1 面试官谈效率 201
- 5.2 时间效率 202
- 5.3 时间效率与空间效率的平衡 237
- 5.4 本章小结 254
- 第6章 面试中的各项能力 256
- 6.1 面试官谈能力 256
- 6.2 沟通能力和学习能力 257
- 6.3 知识迁移能力 260
- 6.4 抽象建模能力 293
- 6.5 发散思维能力 305
- 6.6 本章小结 313
- 第7章 两个面试案例 315
- 7.1 案例一:(面试题67)把字符串转换成整数 316
- 7.2 案例二:(面试题68)树中两个节点的最低公共祖先 324