图书介绍

剑指Offer 名企面试官精讲典型编程题PDF|Epub|txt|kindle电子书版本网盘下载

剑指Offer 名企面试官精讲典型编程题
  • 何海涛著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121148750
  • 出版时间:2012
  • 标注页数:260页
  • 文件大小:35MB
  • 文件页数:278页
  • 主题词:程序设计-工程技术人员-资格考试-习题集

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

剑指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

热门推荐