图书介绍
剑指Offer 名企面试官精讲典型编程题PDF|Epub|txt|kindle电子书版本网盘下载
- 何海涛著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121148750
- 出版时间:2012
- 标注页数:260页
- 文件大小:35MB
- 文件页数:278页
- 主题词:程序设计-工程技术人员-资格考试-习题集
PDF下载
下载说明
剑指Offer 名企面试官精讲典型编程题PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 面试的流程1
1.1面试官谈面试1
1.2面试的三种形式2
1.2.1电话面试2
1.2.2共享桌面远程面试3
1.2.3现场面试4
1.3面试的三个环节5
1.3.1行为面试环节5
应聘者的项目经验6
应聘者掌握的技能7
回答“为什么跳槽”8
1.3.2技术面试环节10
扎实的基础知识10
高质量的代码11
清晰的思路14
优化效率的能力15
优秀的综合能力16
1.3.3应聘者提问环节17
1.4本章小结18
第2章 面试需要的基础知识20
2.1面试官谈基础知识20
2.2编程语言22
2.2.1C﹢﹢22
面试题1:赋值运算符函数24
经典的解法,适用于初级程序员25
考虑异常安全性的解法,高级程序员必备26
2.2.2 C27
面试题2:实现Singleton模式31
不好的解法一:只适用于单线程31
不好的解法二:可用于多线程但效率不高32
可行的解法:同步锁前后两次判断33
推荐的解法一:利用静态构造函数34
推荐的解法二:按需创建实例34
解法比较35
2.3数据结构36
2.3.1数组36
面试题3:二维数组中的查找38
2.3.2字符串42
面试题4:替换空格44
O(n2)的解法,不足以拿到Offer45
O(n)的解法,搞定Offer就靠它46
2.3.3链表49
面试题5:从尾到头打印链表51
2.3.4树53
面试题6:重建二义树55
2.3.5栈和队列58
面试题7:用两个栈实现队列59
2.4算法和数据操作62
2.4.1查找和排序63
面试题8:旋转数组的最小数字66
2.4.2递归和循环71
面试题9:斐波那契数列73
效率很低的解法,面试官不会喜欢73
面试官期待的实用解法74
O(logn)但不够实用的解法74
解法比较75
2.4.3位运算77
面试题10:二进制中1的个数78
可能引起死循环的解法79
常规解法79
能给面试官带来惊喜的解法80
2.5本章小结82
第3章 高质量的代码84
3.1面试官谈代码质量84
3.2代码的规范性86
3.3代码的完整性87
从3方面确保代码的完整性87
3种错误处理的方法88
面试题11:数值的整数次方90
自以为题目简单的解法90
全面但不够高效的解法,离Offer已经很近了90
全面又高效的解法,确保能拿到Offer92
面试题12:打印1到最大的n位数94
跳进面试官陷阱94
在字符串上模拟数字加法94
把问题转换成数字排列97
面试题13:在O(1)时间删除链表结点99
面试题14:调整数组顺序使奇数位于偶数前面102
只完成基本功能的解法,仅适用于初级程序员102
考虑可扩展性的解法,能秒杀Offer104
3.4代码的鲁棒性106
面试题15:链表中倒数第k个结点107
面试题16:反转链表112
面试题17:合并两个排序的链表114
面试题18:树的子结构117
3.5本章小结121
第4章 解决面试题的思路123
4.1面试官谈面试思路123
面试题19:二叉树的镜像125
4.2画图让抽象问题形象化125
面试题20:顺时针打印矩阵127
4.3举例让抽象问题具体化131
面试题21:包含min函数的栈132
面试题22:栈的压入、弹出序列134
面试题23:从上往下打印二叉树137
面试题24:二叉搜索树的后序遍历序列140
面试题25:二叉树中和为某一值的路径143
4.4分解让复杂问题简单化146
面试题26:复杂链表的复制147
面试题27:二义搜索树与双向链表151
面试题28:字符串的排列154
4.5本章小结158
第5章 优化时间和空间效率160
5.1面试官谈效率160
5.2时间效率162
面试题29:数组中出现次数超过一半的数字163
基于Partition函数的O(n)算法163
利用数组特点的O(n)算法165
解法比较166
面试题30:最小的k个数167
O(n)的算法,只当可以修改输入数组时可用167
O(nlogk)的算法,适合处理海量数据168
解法比较169
面试题31:连续子数组的最大和171
举例分析数组的规律171
应用动态规划法173
面试题32:从1到n整数中1出现的次数174
不考虑效率的解法,想拿Offer有点难174
明显提高效率的解法,让面试官耳目一新175
面试题33:把数组排成最小的数177
5.3时间效率与空间效率的平衡181
面试题34:丑数182
逐个判断整数是不是丑数的解法182
创建数组保存已经找到的丑数的解法183
面试题35:第一个只出现一次的字符186
面试题36:数组中的逆序对189
面试题37:两个链表的第一个公共结点193
5.4本章小结196
第6章 面试中的各项能力198
6.1面试官谈能力198
6.2沟通能力和学习能力200
沟通能力200
学习能力200
善于学习、沟通的人也善于提问201
6.3知识迁移能力203
面试题38:数字在排序数组中出现的次数204
面试题39:二叉树的深度207
重复遍历结点的解法,不足以打动面试官209
只遍历结点一次的解法,正是面试官喜欢的209
面试题40:数组中只出现次的数字211
面试题41:和为s的两个数字VS和为s的连续正数序列214
面试题42:翻转单词顺序VS左旋转字符串218
6.4抽象建模能力222
面试题43:n个骰子的点数223
基于递归求骰子点数,时间效率不够高223
基于循环求骰子点数,时间性能好224
面试题44:扑克牌的顺子226
面试题45:圆圈中最后剩下的数字228
经典的解法,用循环链表模拟圆圈229
创新的解法,拿到Offer不在话下230
6.5发散思维能力232
面试题46:求1+2+ +n233
利用构造函数求解234
利用虚函数求解234
利用函数指针求解235
利用模板类型求解236
面试题47:不用加减乘除做加法237
面试题48:不能被继承的类239
常规的解法:把构造函数设为私有函数239
新奇的解法:利用虚拟继承240
6.6本章小结241
第7章 两个面试案例243
7.1案例一:(面试题49)把字符串转换成整数244
7.2案例二:(面试题50)树中两个结点的最低公共祖先252