剑指Offer:名企面试官精讲典型编程题 第2版+
程序员面试宝典 第5版
9787121310928 9787121270574
剑指Offer:名企面试官精讲典型编程题(第2版)
何海涛 著
ISBN 978-7-121-31092-8
2017年5月出版
定价:65.00元
348页
16开
编辑推荐
√以面试官视角拆解考题
结合作者在多家名企的经验,从面试官视角剖析考题构思、现场心理、题解优劣与面试心得。
√80余道精选编程面试题
从谷歌、微软等知名IT企业的海量面试题中精心筛选出80余道精华题目,提供多角度解题辅导。由于本书流传甚广,这些题已被大量企业真实采用,参考价值颇高。
√高标准的系统解题方法
系统总结如何在面试时写出高质量代码,如何优化代码效率,以及分析、解决难题的常用思路和方法。
√真实现场体验与生涯感悟
Autodesk→微软中国→思科→美国微软总部,作者一路跳槽一路“面”,既*历备考和被考,更做过数次考官,又常年从事一线编程工作,大量面试与实践经验,是本书品质后盾。
内容提要
《剑指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
精彩节摘
第二版序言
时间总是在不经意间流逝,我们也在人生的旅途上不断前行,转眼间我在微软的美国总部工作近两年了。生活总给我们带来新的挑战,同时也有新的惊喜。这两年在陌生的国度里用着不太流利的英语和各色人种交流,体验着世界的多元化。这两年也加过班、熬过夜,为了进展不顺的项目也焦头烂额过。在微软Office新产品发布那天我也自豪过,忍不住在朋友圈里和大家分享自己的喜悦和兴奋。2015年4月,我和素云又一次迎来了一个小生命。之后的日子虽然辛苦,但每当看着呼呼、阳阳两兄弟天真灿烂的笑容时,我的心里只有无限的幸福。
西雅图是一个IT氛围很浓的地方,这里是微软和马逊的总部所在地,Google、Facebook等很多知名公司都在这里有研发中心。一群程序员聚在一起,总会谈到谁去这家公司面试了,谁拿到了那家公司的Offer。这让我有机会从多个角度去理解编程面试,也更加深入地思考怎样刷题才会更加有效。我的这些理解、思考都融入《剑指Offer——名企面试官精讲典型编程面试题》这本书的第二版里。
这次再版在一版的基础上增加了新的面试题,涵盖了新的知识点。第二版新增了2.4.3节和2.4.4节,分别讨论回溯法、动态规划和贪婪算法。正则表达式是编程面试时经常出现的内容,本次新增了两个正则表达式匹配的问题(详见面试题19和面试题20)。
这次新增的内容有些是原有内容的延伸。比如原书的面试题35要求找出字符串中一个只出现一次的字符[在第二版中为面试题50(题目一)]。这次新增的面试题50(题目二)把要求改为从一个字符流中找出一个只出现一次的字符。再比如,在原书的面试题23[在第二版中为面试题32(题目一)]中讨论了如何把二叉树按层打印到一行里,这次新增了两个按层打印二叉树的面试题:面试题32(题目二)要求把二叉树的每一层单独打印到一行;面试题32(题目三)要求按之字形顺序打印二叉树。
计算机领域的知识更新很快,编程面试题也需要推陈出新。本书的参考代码以C++为主,这次再版根据C++新的标准在内容上进行了一些调整。例如,原书的面试题48要求用C++实现不能继承的类。由于在C++ 11中引入了关键字final,那么用C++实现不能继承的类已经变得非常容易。因此,这次再版时用新的面试题替代了它。
自本书出版以来,收到了很多读者的反馈,让我受益匪浅。例如,面试题20“表示数值的字符串”根据GitHub用户cooljacket的意见做出了修改。在此对所有提出反馈、建议的读者表示衷心的感谢。
本书所有源代码(包含单元测试用例)都分享在GitHub上,欢迎读者对本书及GitHub上的代码提出意见。如果发现代码中存在问题,或者发现还有更好的解法,则欢迎读者递交代码。本书所有源代码均以BSD许可证开源,欢迎大家共同参与,一起提高代码的质量。
通过读者的E-mail,我很高兴地得知《剑指Offer——名企面试官精讲典型编程面试题》一书陪伴很多读者找到了心仪的工作,拿到了满意的Offer。实际上,这本书不仅仅是一本关于求职面试的工具书,同时还是一本关于编程的技术书。书中用大量的篇幅讨论数据结构和算法,讨论如何才能写出高质量的代码。这些技能在面试的时候有用,在平时的开发工作中同样有用。希望本书能陪伴更多的读者在职场中成长。
何海涛
2016年12月7日深夜于美国雷德蒙德、
| 商品基本信息,请以下列介绍为准 | |
| 商品名称: | 程序员面试宝典(第5版) |
| 作者: | |
| 市场价: | 55元 |
| ISBN号: | 9787121270574 |
| 出版社: | 电子工业出版社 |
| 商品类型: | 图书 |
| 其他参考信息(以实物为准) | ||
| 装帧:平装 | 开本:16开 | 语种:中文 |
| 出版时间:2015-10-01 | 版次:5 | 页数:387 |
| 印刷时间:2015-10-01 | 印次:1 | 字数:530.00千字 |
| 目录 | |
| 第1部分求职过程 第1章应聘求职2 1.1渠道2 1.2流程3 第2章简历书写4 2.1简历注意事项4 2.2简历模板8 第3章求职五步曲11 3.1笔试11 3.2电话面试14 3.3面试15 3.4签约16 3.5违约20 第4章职业生涯发展规划22 4.1缺乏工作经验的应届毕业生22 4.2更换工作的程序员们24 4.3快乐地工作25 第2部分C/C++程序设计 第5章程序设计基本概念30 5.1赋值语句30 5.2i++32 5.3编程风格34 5.4类型转换35 5.5运算符问题40 5.6a、b交换与比较42 5.7C和C++的关系43 5.8程序设计的其他问题44 第6章预处理、const与sizeof46 6.1宏定义46 6.2const47 6.3sizeof52 6.4内联函数和宏定义63 第7章指针与引用65 7.1指针基本问题65 7.2传递动态内存67 7.3函数指针76 7.4指针数组和数组指针78 7.5迷途指针82 7.6指针和句柄84 7.7this指针86 第8章循环、递归与概率89 8.1递归基础知识89 8.2典型递归问题92 8.3循环与数组问题94 8.4螺旋队列问题98 8.5概率101 第9章STL模板与容器103 9.1向量容器104 9.2泛型编程108 9.3模板109 第10章面向对象113 10.1面向对象的基本概念113 10.2类和结构116 10.3成员变量117 10.4构造函数和析构函数120 10.5拷贝构造函数和赋值函数122 10.6多态的概念128 10.7友元131 10.8异常132 第11章继承与接口136 11.1覆盖137 11.2私有继承139 11.3虚函数继承和虚继承144 11.4多重继承147 11.5检测并修改不适合的继承151 11.6纯虚函数153 11.7运算符重载与RTTI155 第12章位运算与嵌入式编程164 12.1位制转换164 12.2嵌入式编程174 12.3static181 第3部分数据结构和设计模式 第13章数据结构基础184 13.1单链表184 13.2双链表189 13.3循环链表191 13.4队列192 13.5栈193 13.6堆196 13.7树、图、哈希表207 13.8排序215 13.9时间复杂度228 第14章字符串237 14.1整数字符串转化237 14.2字符数组和strcpy238 14.3数组初始化和数组越界242 14.4数字流和数组声明245 14.5字符串其他问题245 14.6字符子串问题250 第15章设计模式与软件测试253 15.1设计模式254 15.2软件测试基础261 15.3黑盒测试262 15.4白盒测试268 第4部分操作系统、数据库和网络 第16章操作系统276 16.1进程276 16.2线程281 16.3内存管理286 第17章数据库与SQL语言290 17.1数据库理论290 17.2SQL语言294 17.3SQL语言客观题296 17.4SQL语言主观题299 第18章计算机网络及分布式系统305 18.1网络结构305 18.2网络协议问题307 18.3网络安全问题309 18.4网络其他问题311 第5部分综合面试题 第19章英语面试316 19.1面试过程和技巧316 19.2关于工作(AboutJob)318 19.3关于个人(AboutPerson)321 19.4关于未来(AboutFuture)323 第20章电话面试325 20.1电话面试之前的准备工作325 20.2电话面试交流常见的问题326 第21章数字类题目分析334 21.1数字规律类题目334 21.2数字填充类题目337 21.3数字运算类题目338 21.4应用数学类题目339 第22章图表类题目分析346 22.1图形变换类题目346 22.2表格分析类题目352 第23章智力类题目分析354 23.1推理类题目354 23.2博弈论356 23.3概率358 第24章无领导小组讨论题目分析361 24.1题目介绍361 24.2无领导小组讨论特点361 24.3无领导小组阶段分析363 24.4无领导小组角色分析367 24.5无领导小组评分标准分析371 24.6群面实录373 附录A面试经历总结377 |
《程序员面试宝典》这本书给我的感觉是更加“接地气”,更贴近实际的面试场景。它不像《剑指Offer》那样侧重于算法的理论深度,而是更偏向于“面试实战”。我之前一直担心自己除了算法,在其他方面的知识储备不够扎实,比如操作系统、计算机网络、数据库、甚至一些Java/C++基础知识。这本书在这方面的内容就非常全面,它把这些“杂七杂八”的知识点都梳理得井井有条,而且讲解的时候,都会结合面试官可能会问的角度,给出很多“标准答案”式的回答。 我最喜欢的一点是,它对一些常见的面试场景进行了模拟,比如“自我介绍”、“项目经验的介绍”、“如何回答一些情景题”等等,这些内容对于我这种缺乏面试经验的学生来说,简直是救星。它不是简单地罗列知识点,而是告诉你如何去“展现”自己,如何在面试中给面试官留下好印象。我还注意到,书中还包含了一些关于“软实力”的建议,比如如何沟通、如何处理压力等等,这些细节的处理让我觉得这本书不仅仅是一本技术宝典,更是一本“面试生存指南”。
评分《程序员面试宝典》的另一个亮点在于它对“简历优化”和“项目经历挖掘”的指导。我之前一直觉得简历就是一份简单的信息罗列,但这本书让我意识到,简历是一门艺术,是展现自己能力和潜力的最佳窗口。它提供了很多关于如何撰写有吸引力的简历的技巧,比如如何用STAR原则来描述项目经历,如何突出自己的技术亮点等等。 我尝试着按照书中的建议,重新梳理了我的项目经历,并着重挖掘了其中能够体现我技术能力和解决问题能力的细节。我发现,经过这样一番“包装”,我的简历变得更加生动和有说服力了。而且,书中还提供了很多关于如何回答“你做过的最有挑战的项目是什么?”、“你在项目中扮演了什么角色?”这类问题的范例,这对我来说非常重要,因为我总是担心自己说得不够清晰或者不够有条理。
评分整体来说,这两本书的搭配对我来说非常实用。我发现《剑指Offer》更像是我的“内功心法”,帮助我打牢基础,提升解决复杂问题的能力;而《程序员面试宝典》则更像是我的“外功招式”,教我如何在实战中灵活运用知识,如何应对各种面试情况。我通常是先看《剑指Offer》里的算法题,理解了思路和解法,然后再翻阅《程序员面试宝典》,看看这本书有没有提到类似的题目,或者是否有其他补充的知识点。 这种互补的学习方式让我感觉自己准备得更加充分。有时候,在《剑指Offer》里遇到一些我不太理解的细节,可能会在《程序员面试宝典》里找到更基础、更易懂的解释。反之,当我在《程序员面试宝典》里看到一些常识性的问题,但又想了解其背后的原理时,《剑指Offer》中的算法和数据结构讲解就能帮我深入理解。不得不说,这种“双管齐下”的方法,让我的学习效率和信心都有了很大的提升。
评分在阅读的过程中,我特别留意到《剑指Offer》对于一些困难题目,并不是一上来就给出最优解。它会先引导你去思考各种可能的解法,即使是效率不高的方法,也先让思路跑起来。然后,再逐步优化,直到得出最高效的算法。这种“螺旋上升”式的学习过程,让我印象深刻。它教会我,解决问题不是一次性的,而是需要不断地思考、迭代和优化的。 我喜欢它那种“刨根问底”的精神,对于每一个算法,都力求解释清楚其背后的数学原理或者逻辑推导。这对于我理解算法的本质非常有帮助,而不是停留在“背代码”的层面。此外,书中对各种边界条件的处理也十分到位,这在面试中往往是失分的关键。我现在做题的时候,也会有意识地去思考各种边界情况,这是以前很少注意到的。
评分拿到这套书,说实话,当初是被书名和很多程序员朋友的推荐所吸引。我是一名在校大学生,即将面临毕业和秋招,对于编程面试这块儿一直感到忐忑不安。看到《剑指Offer》这个名字,就觉得这套书很权威,很可能包含了我急需的“通关秘籍”。而《程序员面试宝典》则给了我一种更全面、更实用的感觉,好像是为我这样的“小白”量身定做的。 拿到实体书之后,我迫不及待地翻看了起来。首先,《剑指Offer》的排版和纸质都很不错,阅读起来很舒服。第一眼吸引我的,是它对经典算法问题的深入剖析,比如链表、树、图等数据结构和算法的讲解。书中的题目难度梯度设计得很好,从基础概念到一些更复杂的变种,都讲解得很透彻。我喜欢它那种“由浅入深”的讲解方式,不会一开始就抛出难度很大的题目,而是通过循序渐进的例子,让你一步步理解问题的本质,然后掌握解决问题的思路。特别是对于一些面试中经常出现的高频考点,这本书都给出了非常清晰的解题思路和多种解法,并且会分析不同解法的优缺点,这点对我非常有帮助。虽然我还没完全做完里面的题目,但感觉自己的算法功底确实在提升。
评分满分
评分不错,学习中
评分不错,学习中
评分不错,学习中
评分满分
评分满分
评分不错,学习中
评分不错,学习中
评分不错,学习中
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有