第一图书网

剑指Offer

何海涛 电子工业出版社
出版时间:

2012-1  

出版社:

电子工业出版社  

作者:

何海涛  

页数:

260  

Tag标签:

无  

内容概要

本书剖析了50个典型的程序员面试题,从基础知识、代码质量、解题思路、优化效率和综合能力五个方面系统整理了影响面试的5个要点。全书分为7章,主要包括面试的流程,讨论面试流程中每一环节需要注意的问题;面试需要的基础知识,从编程语言、数据结构及算法三方面总结了程序员面试的知识点;高质量的代码,讨论影响代码质量的3个要素(规范性、完整性和鲁棒性),强调高质量的代码除了能够完成基本的功能之外,还能考虑到特殊情况并对非法输入进行合理的处理;解决面试题的思路,总结在编程面试中解决难题的常用思路,如果在面试过程中遇到了复杂的难题,应聘者可以利用画图、举例和分解复杂问题3种方法化繁为简,先形成清晰的思路再动手编程;优化时间和空间效率,介绍如何优化代码的时间效率和空间效率,读完这一章读者将学会常用的优化时间效率及空间换时间的常用算法,从而在面试中找到最优的解法;面试中的各种能力,本章总结应聘者在面试过程中如何表现学习能力和沟通能力,并通过具体的面试题讨论如何培养知识迁移能力、抽象建模能力和发散思维能力;两个面试案例,这两个案例总结了应聘者在面试过程中哪些举动是不好的行为,而哪些表现又是面试官所期待的行为。
本书适合即将走向工作岗位的大学生阅读,也适合作为正在应聘软件行业的相关就业人员和计算机爱好者的参考书。

作者简介

何海涛,现思科高级软件工程师,曾先后就职于Autodesk和微软。分别于2003年和2006年于浙江大学获得计算机专业学士和硕士学位。主要关注程序员求职应聘领域、以及软件设计、开发和调试技术。著有《剑指Offer——名企面试官精讲典型编程题》一书。

书籍目录

第1章 面试的流程
1.1 面试官谈面试
1.2 面试的三种形式
1.2.1 电话面试
1.2.2 共享桌面远程面试
1.2.3 现场面试
1.3 面试的三个环节
1.3.1 行为面试环节
应聘者的项目经验
应聘者掌握的技能
回答“为什么跳槽”
1.3.2 技术面试环节
扎实的基础知识
高质量的代码
清晰的思路
优化效率的能力
优秀的综合能力
1.3.3 应聘者提问环节
1.4 本章小结
第2章 面试需要的基础知识
2.1 面试官谈基础知识
2.2 编程语言
2.2.1 C++ 面试题1:赋值运算符函数
经典的解法,适用于初级程序员
考虑异常安全性的解法,高级程序员必备
2.2.2 C#
面试题2:实现Singleton模式
不好的解法一:只适用于单线程
不好的解法二:可用于多线程但效率不高
可行的解法:同步锁前后两次判断
推荐的解法一:利用静态构造函数
推荐的解法二:按需创建实例
解法比较
2.3 数据结构
2.3.1 数组
面试题3:二维数组中的查找
2.3.2 字符串
面试题4:替换空格 O(n2)的解法,不足以拿到Offer
(n)的解法,搞定Offer就靠它
2.3.3 链表
面试题5:从尾到头打印链表
2.3.4 树
面试题6:重建二叉树
2.3.5 栈和队列
面试题7:用两个栈实现队列
2.4 算法和数据操作
2.4.1 查找和排序
面试题8:旋转数组的最小数字
2.4.2 递归和循环
面试题9:斐波那契数列
效率很低的解法,面试官不会喜欢
面试官期待的实用解法O(logn)但不够实用的解法
解法比较
2.4.3 位运算
面试题10:二进制中1的个数
可能引起死循环的解法
常规解法
能给面试官带来惊喜的解法
2.5 本章小结
第3章 高质量的代码
3.1 面试官谈代码质量
3.2 代码的规范性
3.3 代码的完整性
从3方面确保代码的完整性
3种错误处理的方法
面试题11:数值的整数次方
自以为题目简单的解法
全面但不够高效的解法,离Offer已经很近了
全面又高效的解法,确保能拿到Offer
面试题12:打印1到最大的n位数
跳进面试官陷阱
在字符串上模拟数字加法
把问题转换成数字排列
面试题13:在O(1)时间删除链表结点
面试题14:调整数组顺序使奇数位于偶数前面
只完成基本功能的解法,仅适用于初级程序员
考虑可扩展性的解法,能秒杀Offer
3.4 代码的鲁棒性
面试题15:链表中倒数第k个结点
面试题16:反转链表
面试题17:合并两个排序的链表
面试题18:树的子结构
3.5 本章小结
第4章 解决面试题的思路
面试题19:二叉树的镜像
面试题20:顺时针打印矩阵
面试题21:包含min函数的栈
面试题22:栈的压入、弹出序列
面试题23:从上往下打印二叉树
面试题24:二叉搜索树的后序遍历序列
面试题25:二叉树中和为某一值的路径
面试题26:复杂链表的复制
面试题27:二叉搜索树与双向链表
面试题28:字符串的排列
第5章 优化时间空间效率
面试题29:数组中出现次数超过一半的数字
基于Partition函数的O(n)算法
利用数组特点的O(n)算法
解法比较
面试题30:最小的k个数O(n)的算法,只当可以修改输入数组时可用
O(nlogk)的算法,适合处理海量数据
解法比较
面试题31:连续子数组的最大和
举例分析数组的规律
应用动态规划法
面试题32:从1到n整数中1出现的次数
不考虑效率的解法,想拿Offer有点难
明显提高效率的解法,让面试官耳目一新
面试题33:把数组排成最小的数
面试题34:丑数
逐个判断整数是不是丑数的解法
创建数组保存已经找到的丑数的解法
面试题35:第一个只出现一次的字符
面试题36:数组中的逆序对
面试题37:两个链表的第一个公共结点
第6章 面试中的各项能力
6.1 面试官谈能力
6.2 沟通能力和学习能力
沟通能力
学习能力
善于学习、沟通的人也善于提问
6.3 知识迁移能力
面试题38:数字在排序数组中出现的次数
面试题39:二叉树的深度
重复遍历结点的解法,不足以打动面试官
只遍历结点一次的解法,正是面试官喜欢的
面试题40:数组中只出现一次的数字
面试题41:和为s的两个数字VS和为s的连续正数序列
面试题42:翻转单词顺序 VS左旋转字符串
6.4 抽象建模能力
面试题43:n个骰子的点数
基于递归求骰子点数,时间效率不够高
基于循环求骰子点数,时间性能好
面试题44:扑克牌的顺子
面试题45:圆圈中最后剩下的数字
经典的解法,用循环链表模拟圆圈
创新的解法,拿到Offer不在话下
6.5 发散思维能力
面试题46:求1+2+…+n
利用构造函数求解
利用虚函数求解
利用函数指针求解
利用模板类型求解
面试题47:不用加减乘除做加法
面试题48:不能被继承的类
常规的解法:把构造函数设为私有函数
新奇的解法:利用虚拟继承
6.6 本章小结
第7章 两个面试案例
7.1 案例一:(面试题49)把字符串转换成整数
7.2 案例二:(面试题50)树中两个结点的最低公共祖先

章节摘录

版权页:插图:所谓学习能力,很重要的一点就是根据已经掌握的知识、技术,能够迅速学习、理解新的技术并能运用到实际工作中去。大部分新的技术都不是凭空产生的,而是在已有技术的基础上发展起来的。这就要求我们能够把对已有技术的理解迁移到学习新技术的过程中去,也就是要具备很强的知识迁移能力。以学习编程语言为例,如果全面理解了C++的面向对象的思想,那么学习下一门面向对象的语言JaVa就不会很难。在深刻理解了JaVa的垃圾回收机制之后,再去学习另外一门托管语言比如C群,也会很容易。面试官考查知识迁移能力的一个方法是把经典的问题稍作变换。这个时候面试官期待应聘者能够找到和经典问题的联系,并从中受到启发把解决经典问题的思路迁移过来解决新的问题。比如如果遇到面试题38“数字在排序数组中出现的次数”,我们看到“排序数组”就可以想到二分查找算法。通常二分查找算法用来在一个排序数组中查找一个数字。我们可以把二分查找的思想迁移过来稍作变换,用二分查找算法在排序数组中查找重复数字的第一个和最后一个,从而得到数字在数组中出现的次数。面试官考查知识迁移能力的另一个方法就是先问一个简单的问题,在应聘者解答完这个简单的问题之后再追问一个相关的同时难度也更大的问题。这个时候面试官希望应聘者能够总结前面解决简单问题的经验,把前面的思路、方法迁移过来。比如在面试题40“数组中只出现一次的数字”中,面试官先问一个简单的问题即数组中只有一个数字只出现一次的情况。在应聘者想出用异或的办法找到这个只出现一次的数字之后,他再追问如果数组中有两个数字只出现一次,该怎么找出这两个数字?这个时候应聘者要从前面的思路中得到启发:既然有办法找到数组中只出现一次的一个数字,那当数组中有两个数字只出现一次的时候,我们可以把整个数组一分为二,每个子数组中包含一个只出现一次的数字,这样我们就能在两个子数组中分别找到那两个只出现一次的数字。接下来我们就可以集中精力去想办法把数组一分为二,这样就能找到解决问题的窍门,整个题目的难度系数就降低了不少。


编辑推荐

《剑指Offer:名企面试官精讲典型编程题》:面试官的视角从面试官视角剖析考题构思、现场心理、题解优劣与面试心得,尚属首例。50余道编程题《剑指Offer:名企面试官精讲典型编程题》精选谷歌、微软等知名IT企业的50余道典型面试题,提供多角度的解题辅导。这些题目现今仍被大量面试官反复采用,实战参考价值颇高。系统的解题方法《剑指Offer:名企面试官精讲典型编程题》系统地总结了如何在面试时写出高质量代码,如何优化代码效率,以及分析、解决难题的常用方法。超写实体验与感悟Autodesk一微软一思科,作者一路跳槽-路“面”,既亲历被考,也做过考官,更是资深程序员.大量的一线面试与编程经验,足当确保《剑指Offer:名企面试官精讲典型编程题》品质。

图书封面

图书标签Tags

广告

下载页面


剑指Offer PDF格式下载



剑指Offer:名企面试官精讲典型编程题 找工作必备


和市面上粗制滥造东拼西凑的所谓面试书一笔,此书真可谓精品!作者在微软和思科的经历,使得本书具有极大的权威性。50道题虽说不上全面,但基本涵盖了出题范围。作者是真正的以技术面试官的角度进行展示,同时程序所配的标准C++代码更是为本书增色不少。最后还有一号一差两个面试案例,真实再现了面试环境。总之,这是本不可多得的面试书,凡是想去名企的学生都应该看看


正如书名所说的,offer,适合面试的图书,里面的内容非常的充实,有代码示例,还是挺好的,像是比较有名的编程之美也都推荐购买的,多读没有坏处的,O(∩_∩)O~,多多益善嘛,有机会还会再多买基本面试类的图书


站在面试官的角度看面试,对于求职者来说,更加知道企业会从哪些方面考察一个人的基本素质,对症下药才能起到好的治病效果。。书中的题也是面试中经常会遇到的,换个场景变个条件考察。。要是能把这本书读透了,通过面试应该没有太大问题吧。。


这本书是何海涛总结的面试题,讲解很详细,内容很全面,囊括了各种类型的面试题,如果能认真的看完,并且把题目都理解,那绝对对找工作非常有帮助。


找程序猿、攻城师挨踢工作的应届毕业生,你懂的。刚开始看了几道题,之前也在网上看了何老师的面试书,另外开始也讲了些面试基本流程知识!发货很快,就是包装不太好有些折皱。


虽然该作者的博客里也有这些题目,但是书中的解答过程更详细,而且更注重细节,微软的面试很多题目都不难,但是要想让面试官满意很不容易,关键就是细节,该书对找工作很有帮助


比较全面的介绍面试中的常见问题,同时分析了面试官的心里要求,这个很不错
例题也都是比较经典的题目,覆盖的知识面比较全


面试必备编程书,看看吧 很不错


参加好几个公司的实习面试,上面好多面试题都是此书上的,哈哈……幸好看了


适合看完程序员笔试面试宝典后进一步拓展自己的知识面。。。好书,有一定难度。。。


很好的算法面试书,里面的题目很经典,就算不用来面试也值得一看


程序员面试公司的必备图书!值得仔细斟酌!


这本书印刷精美,对程序员面试有很大的帮助。


不错的程序员面试书。


是程序员面试指导的好书


很适合找工作需要面试的人,好书


面试必备,可以看看名企注重什么素质,方便提高。


精选的面试题目很给力!对于准备面试和笔试很有帮助!


面试准备必看的书籍,经典50题目


面试之前看了一两天,还是要动手写一些~


求职面试必看书籍~学习


看一下对于面试还是有帮助的~


内容不错,笔试面试之前还是有必要看一看的


面试宝典,不错……


大家都懂的 面试必看


朋友介绍的书,以前在网上也看过不少作者的题目,感觉还是有帮助的,正好快放假了,买一本带回家看,想找工作的朋友可以尝试着看看,毕竟作者也是过来人,而且书中的一些题挺有参考意义的,多看些书总归是没错的,好在价格不高。不过书比想像中要薄不少,而且应该带光盘才对啊,完整的程序都在光盘上。这点不太满意。


买了,正值找工作期间,花了十几天时间强行看了一遍,的确深受启发,里面讲的很多东西的确是值得注意的,对里面的防御性编程这一概念很有感触,正值研究生期间做过几个嵌入式项目,发现这一理论在嵌入式领域更显得尤为重要……总之,是本不可多得的好书,值得一看!


书很好,找工作必看。加上编程之美,算法部分已经没太大问题了。


这本书基本上是C和C#的代码,买的时候没有看具体看介绍,但是同学是学C的,于是借他了,而且对他帮助挺大的,他自己特别喜欢,找到了一份自己满意的工作。


毫无疑问,这本书和编程之美是找工作最好的两本辅助工具


找工作建议看看,主要是c代码


书不错,对编程思想的提高比较有帮助,对找工作的程序猿来说很有帮助。包装也很好,送货很快!


内容不错,比编程之美似乎更专业一些


思路讲解很详细,有些算法很经典


很好的一本书啊!!!适合找工作的程序员去看!!!!!


笔试的时候考到过里面的题!


剑指OFFER 很有用,找工作很实用。


挺好的,质量很好。内容页很好,我觉得这本书内容算简单的,偏基础~


找工作就靠他了。质量过关,要好好看看


书质量不错,抓紧学习


程序员找工作的必备宝典!应该反复看!


很好的书,推荐给找工作的程序员


各种题目的合集,分类清晰合理


物流很给力,昨晚下的订单,第二天就到了,书质量也不错


质量好,速度快,没得说


一本好书,质量不错,内容很好


在找工作的过程中有问道书中类似内容的,强烈推荐


开卷有益,扩充思路


都是找工作时能遇到的经典案例,买来看看,为明年做准备


发货速度非常满意就是送货过程中书有些地方褶皱了


研究研究算法


还没看, 不过对算法有兴趣的同学可以关注一下


题目经典解答细致清晰


这本书对拿到好offer来说是不可多得的


书很不错,适合计算机专业即将毕业找工作的人,


有了这本书,无论是将要找工作的,还是要换工作的,都是非常好的指导。


又一本讲的很实在的书,一天意外在csdn中发现了作者的博客。呵呵


没看过,不过听说很有用,希望很快得到offer...


之前没注意到这本书,经同学介绍,发现这本书还是不错的


书内的题目还是很有参考价值的


挺不错的一本书,对面试程序猿有帮助。


帮同事买的,不过同事是个做事认真仔细的人,他挑中了这本书,那说明这本书应该有可取之处


不错的一本书,内容对找工作很有帮助,具有指导意义


还没读,不过听别人说这书特别号,比较适合大三大四的同学。。。


非常非常好的书,非常非常适合在找工作之前看,非常非常有用


适合找工作的人


书不错。看了第一章。学长推荐的。


刚开始读,这本书简直是利器啊。。。。。。。


讲的很不错,对于求职人员,必备书籍啊!!!


相当优秀,很有用,确实是需要的。


对软件开发类岗位很有用~


这本书对于找工作的同学来说非常好,强力推荐!


书写的逻辑相当清晰 很实用


很实用的,从blog上看到的,为了支持一下作者,特意买了一本,书里面的讲的更全。


很不错,这本书非常有用,物有所值,喜欢!


这本书一定是毕业生进入职场之前必看的一本,尤其对技术人才。


如果从厚度看,这本书有点贵;如果你觉得内容很好的话,那么这个价钱还是值得的。我还在开始看的阶段,写的挺好的一本书。


朋友推荐的,好好准备找工作吧!


找工作必备,相当不错


应届生找工作值得拥有


找工作的利器啊 开阔视野


还没阅读 看着不错


就是压折了,其他都挺好,嗯,就这么找吧


很不错,不是太厚,就像看这样的书


12号上午的订单 13号上午到了 我还能说什么 快递大叔辛苦了


校招的同学严重推荐


同学强力推荐的,只看了目录,相见恨晚


是正版书,之前只有电子版,买了个纸质版的


原来在网上搜过,但是买书看,感觉就是不一样,希望有用。。。


你值得拥有哦!!!


显然,这是译本好书。 非i场喜欢


买来看看!!!!!!!!!!!!


开卷有益 大三下学期了 看一看业内前辈的经验也是好的


还在看,经典必读~


刚买来不久,翻了一下,还不错


首先说一句,这是应聘计算机编程岗位的书籍。书中的内容跟作者blog里面的差不多,增加了一些面试时应该注意的东西,blog的内容都打印出来了,而且我找工作的过程已经结束了,所以正在纠结要不要买一本支持一下作者。不过这本书里的内容还是蛮不错的,建议明年要找工作的童鞋可以用作参考。


内容真实,具有指导意义


对于平时不太搞ACM竞赛的学生来说,这本书对于掌握初步的数据结构和算法挺有帮助的。而且本书作者写得很有条理,很多解决问题的思想(比如分解递归)让人受益匪浅。


质量很好,比程序员面试宝典那本纸质好多了


相关图书