剑指Offer:名企面试官精讲典型编程题(第2版)
出版信息
何海涛 / 电子工业出版社 / 2017-5 / 65.00
内容简介
《剑指Offer:名企面试官精讲典型编程题(第2版)》剖析了80个典型的编程面试题,系统整理基础知识、代码质量、解题思路、优化效率和综合能力这5个面试要点。《剑指Offer:名企面试官精讲典型编程题(第2版)》共分7章,主要包括面试的流程,讨论面试每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结程序员面试知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量代码除完成基本功能外,还能考虑特殊情况并对非法输入进行合理处理;解决面试题的思路,总结编程面试中解决难题的有效思考模式,如在面试中遇到复杂难题,应聘者可利用画图、举例和分解这3种方法将其化繁为简,先形成清晰思路,再动手编程;优化时间和空间效率,读者将学会优化时间效率及用空间换时间的常用算法,从而在面试中找到最优解;面试中的各项能力,总结应聘者如何充分表现学习和沟通能力,并通过具体面试题讨论如何培养知识迁移、抽象建模和发散思维能力;两个面试案例,总结哪些面试举动是不良行为,而哪些表现又是面试官所期待的行为。
作者简介
何海涛,现美国微软总部资深软件工程师,先后在Autodesk、思科、微软中国等跨国企业任职。著有《剑指Offer——名企面试官精讲典型编程题》、《Coding Interviews: Questions, Analysis and Solutions》(本书英文版)等书。多年来从事软件开发工作,对软件设计、开发、调试等均有较深的功底,对 C/C++、C#以及.NET等语言及平台都较为熟悉,对图形图像、CAD、设计模式、项目管理等领域均有专业经验。
目录
第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