图书介绍

程序员面试笔记宝典 第2版pdf电子书版本下载

程序员面试笔记宝典  第2版
  • 何昊,叶向阳,窦浩编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111487876
  • 出版时间:2015
  • 标注页数:297页
  • 文件大小:46MB
  • 文件页数:313页
  • 主题词:程序设计-工程技术人员-资格考试-自学参考资料

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
下载压缩包 [复制下载地址] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页

下载说明

程序员面试笔记宝典 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

上篇 面试笔试经验技巧篇 2

第1章 面试官箴言 2

1.1 有道无术,术可求;有术无道,止于术 2

1.2 求精不求全 3

1.3 脚踏实地,培养多种技能 4

1.4 保持空杯心态 6

1.5 职场是能者的舞台 6

1.6 学会“纸上谈兵” 7

1.7 小结 8

第2章 面试心得交流 9

2.1 心态决定一切 9

2.2 假话全不说,真话不全说 10

2.3 走自己的路,让别人去说吧 12

2.4 夯实基础谋出路 14

2.5 书中自有编程法 15

2.6 笔试成绩好,不会被鄙视 17

2.7 不要一厢情愿做公司的备胎 18

2.8 小结 19

第3章 企业面试笔试攻略 20

3.1 互联网企业 20

3.2 网络设备提供商 25

3.3 外企 29

3.4 国企 32

3.5 研究所 35

3.6 创业型企业 37

3.7 如何抉择 41

下篇 面试笔试技术攻克篇 44

第4章 程序设计基础 44

4.1 C/C++关键字 44

4.1.1 static(静态)变量有什么作用 44

4.1.2 const有哪些作用 46

4.1.3 switch语句中的case结尾是否必须添加break语句?为什么 49

4.1.4 volatile在程序设计中有什么作用 50

4.1.5 断言ASSERT()是什么 51

4.1.6 枚举变量的值如何计算 52

4.1.7 char strl[]="abc";char str2[]="abc";strl与str2不相等,为什么 52

4.1.8 为什么有时候main()函数会带参数?参数argc与argv的含义是什么 53

4.1.9 C++里面是不是所有的动作都是main()函数引起的 54

4.1.10 p++与(*p)++等价吗?为什么 54

4.1.11 前置运算与后置运算有什么区别 54

4.1.12 a是变量,执行(a++)+=a语句是否合法 55

4.1.13 如何进行float、bool、int、指针变量与“零值”的比较 56

4.1.14 new/delete与malloc/free的区别是什么 57

4.1.15 什么时候需要将引用作为返回值 59

4.1.16 变量名为618Software是否合法 59

4.1.17 C语言中,整型变量x小于0,是否可知x×2也小于0 60

4.1.18 exit(status)是否跟从main()函数返回的status等价 60

4.1.19 已知String类定义,如何实现其函数体 60

4.1.20 在C++中如何实现模板函数的外部调用 62

4.1.21 在C++中,关键字explicit有什么作用 62

4.1.22 C++中异常的处理方法以及使用了哪些关键字 63

4.1.23如何定义和实现一个类的成员函数为回调函数 63

4.2 内存分配 64

4.2.1 内存分配的形式有哪些 64

4.2.2 什么是内存泄露 65

4.2.3 栈空间的最大值是多少 66

4.2.4 什么是缓冲区溢出 66

4.3 sizeof 68

4.3.1 sizeof是关键字吗 68

4.3.2 strlen("")=?sizeof("")=? 68

4.3.3 对于结构体而言,为什么sizeof返回的值一般大于期望值 70

4.3.4 指针进行强制类型转换后与地址进行加法运算,结果是什么 71

4.4 指针 72

4.4.1 使用指针有哪些好处 72

4.4.2 引用还是指针 72

4.4.3 指针和数组是否表示同一概念 74

4.4.4 指针是否可进行>、<、>=、<=、==运算 74

4.4.5 指针与数字相加的结果是什么 74

4.4.6 野指针?空指针 75

4.5 预处理 76

4.5.1 C/C++头文件中的ifndef/define/endif的作用有哪些 76

4.5.2 #include〈filename.h〉和#include“filename.h”有什么区别 77

4.5.3 #define有哪些缺陷 77

4.5.4 如何使用define声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 77

4.5.5 含参数的宏与函数有什么区别 78

4.5.6 宏定义平方运算#define SQR(X)X*X是否正确 78

4.5.7 不能使用大于、小于、if语句,如何定义一个宏来比较两个数a、b的大小 79

4.5.8 如何判断一个变量是有符号数还是无符号数 80

4.5.9 #define TRACE(S)(printf("%sn",#S),S)是什么意思 81

4.5.10 不使用sizeof,如何求int占用的字节数 82

4.5.11 如何使用宏求结构体的内存偏移地址 83

4.5.12 如何用sizeof判断数组中有多少个元素 84

4.5.13 枚举和define有什么不同 84

4.5.14 typdef和define有什么区别 84

4.5.15 C++中宏定义与内联函数有什么区别 86

4.5.16 定义常量谁更好?#define还是const 86

4.6 结构体与类 87

4.6.1 C语言中struct与union的区别是什么 87

4.6.2 C和C++中struct的区别是什么 87

4.6.3 C++中strtuct与class的区别是什么 88

4.7 位操作 88

4.7.1 一些结构声明中的冒号和数字是什么意思 88

4.7.2 最有效的计算2乘以8的方法是什么 89

4.7.3 如何实现位操作求两个数的平均值 89

4.7.4 unsigned int i=3;printf("%un",i*-1)输出为多少 90

4.7.5 如何求解整型数的二进制表示中1的个数 91

4.7.6 不能用sizeof( )函数,如何判断操作系统是16位还是32位的 92

4.7.7 嵌入式编程中,什么是大端?什么是小端 93

4.7.8 考虑n位二进制数,有多少个数中不存在两个相邻的1 96

4.7.9 不用除法操作符如何实现两个正整数的除法 97

4.8 函数 101

4.8.1 怎么样写一个接受可变参数的函数 101

4.8.2 函数指针与指针函数有什么区别 101

4.8.3 C++函数传递参数的方式有哪些 105

4.8.4 重载与覆盖有什么区别 107

4.8.5 是否可以通过绝对内存地址进行参数赋值与函数调用 110

4.8.6 默认构造函数是否可以调用单参数构造函数 112

4.8.7 C++中函数调用有哪几种方式 113

4.8.8 什么是可重入函数?C语言中如何写可重入函数 114

4.9 数组 114

4.9.1 int a[2][2]={{1},{2,3}},则a[0][1]的值是多少 114

4.9.2 如何合法表示二维数组 115

4.9.3 a是数组,(int*)(&a+1)表示什么意思 115

4.9.4 不使用流程控制语句,如何打印出1~1000的整数 116

4.9.5 char str[1024];scanf("%s",str)是否安全 119

4.9.6 行存储与列存储中哪种存储效率高 119

4.10 变量 119

4.10.1 全局变量和静态变量有什么异同 119

4.10.2 局部变量需要“避讳”全局变量吗 121

4.10.3 如何建立和理解非常复杂的声明 121

4.10.4 变量定义与变量声明有什么区别 122

4.10.5 不使用第三方变量,如何交换两个变量的值 123

4.10.6 C与C++变量初始化有什么不同 124

4.11 字符串 124

4.11.1 不使用C/C++字符串库函数,如何自行编写strcpy()函数 125

4.11.2 如何把数字转换成字符串 127

4.11.3 如何自定义内存复制函数memcpy() 128

4.12 编译 129

4.12.1 编译和链接的区别是什么 129

4.12.2 编译型语言与解释型语言的区别是什么 130

4.12.3 如何判断一段程序是由C编译程序还是由C++编译程序编译的 130

4.12.4 在C++程序中调用被C编译器编译后的函数,为什么要加extem“C” 131

4.12.5 两段代码共存于一个文件,编译时有选择地编译其中的一部分,如何实现 132

4.13 面向对象相关 132

4.13.1 面向对象与面向过程有什么区别 132

4.13.2 面向对象的基本特征有哪些 133

4.13.3 什么是深拷贝?什么是浅拷贝 134

4.13.4 什么是友元 135

4.13.5 复制构造函数与赋值运算符的区别是什么 136

4.13.6 基类的构造函数/析构函数是否能被派生类继承 138

4.13.7 初始化列表和构造函数初始化的区别是什么 138

4.13.8 类的成员变量的初始化顺序是按照声明顺序吗 139

4.13.9 当一个类为另一个类的成员变量时,如何对其进行初始化 139

4.13.10 C++能设计实现一个不能被继承的类吗 140

4.13.11 构造函数没有返回值,那么如何得知对象是否构造成功 141

4.13.12 C++中的空类默认产生哪些成员函数 141

4.13.13 如何设置类的构造函数的可见性 142

4.13.14 public继承、protected继承、private继承的区别是什么 142

4.13.15 C++提供默认参数的函数吗 143

4.13.16 C++中有哪些情况只能用初始化列表而不能用赋值 144

4.14 虚函数 145

4.14.1 什么是虚函数 145

4.14.2 C++如何实现多态 147

4.14.3 C++中继承、虚函数、纯虚函数分别指的是什么 148

4.14.4 C++中的多态种类有哪几种 148

4.14.5 什么函数不能声明为虚函数 149

4.14.6 是否可以把每个函数都声明为虚函数 151

4.14.7 C++中如何阻止一个类被实例化 151

4.15 编程技巧 151

4.15.1 当while()的循环条件是赋值语句时会出现什么情况 151

4.15.2 不使用if/:?/switch及其他判断语句如何找出两个int型变量中的最大值和最小值 152

4.15.3 C语言获取文件大小的函数是什么 153

4.15.4 表达式a>b>c是什么意思 153

4.15.5 如何打印自身代码 154

4.15.6 如何实现一个最简单病毒 154

4.15.7 如何只使用一条语句实现x是否为2的若干次幂的判断 155

4.15.8 如何定义一对相互引用的结构 155

4.15.9 什么是逗号表达式 156

4.15.10 n是否与\n\r等价 157

4.15.11 什么是短路求值 157

4.15.12 已知随机数函数rand7(),如何构造rand1O()函数 158

4.15.13 printf("%pn",(void*)x)与printf("%pn",&x)有何区别 159

4.15.14 printf()函数是否有返回值 159

4.15.15 不能使用任何变量,如何实现计算字符串长度函数Strlen() 159

4.15.16 负数除法与正数除法的运算原理是否一样 160

4.15.17 main()主函数执行完毕后,是否可能会再执行一段代码 160

第5章 操作系统 162

5.1 进程管理 162

5.1.1 进程与线程有什么区别 162

5.1.2 线程同步有哪些机制 163

5.1.3 内核线程和用户线程的区别 163

5.2 内存管理 164

5.2.1 内存管理有哪几种方式 164

5.2.2 分段和分页的区别是什么 164

5.2.3 什么是虚拟内存 164

5.2.4 什么是内存碎片?什么是内碎片?什么是外碎片 165

5.2.5 虚拟地址、逻辑地址、线性地址、物理地址有什么区别 165

5.2.6 Cache替换算法有哪些 166

5.3 用户编程接口 167

5.3.1 库函数与系统调用有什么不同 167

5.3.2 静态链接与动态链接有什么区别 168

5.3.3 静态链接库与动态链接库有什么区别 168

5.3.4 用户态和核心态有什么区别 168

5.3.5 用户栈与内核栈有什么区别 169

第6章 数据结构与算法 170

6.1 数组 170

6.1.1 如何用递归实现数组求和 170

6.1.2 如何用一个for循环打印出一个二维数组 171

6.1.3 在顺序表中插入和删除一个结点平均移动多少个结点 172

6.1.4 如何用递归算法判断一个数组是否是递增 172

6.1.5 如何分别使用递归与非递归实现二分查找算法 173

6.1.6 如何在排序数组中,找出给定数字出现的次数 174

6.1.7 如何计算两个有序整型数组的交集 175

6.1.8 如何找出数组中重复次数最多的数 176

6.1.9 如何在O(n)的时间复杂度内找出数组中出现次数超过了一半的数 178

6.1.10 如何找出数组中唯一的重复元素 180

6.1.11 如何判断一个数组中的数值是否连续相邻 183

6.1.12 如何找出数组中出现奇数次的元素 184

6.1.13 如何找出数列中符合条件的数对的个数 185

6.1.14 如何寻找出数列中缺失的数 188

6.1.15 如何判定数组是否存在重复元素 188

6.1.16 如何重新排列数组使得数组左边为奇数,右边为偶数 190

6.1.17 如何把一个整型数组中重复的数字去掉 191

6.1.18 如何找出一个数组中第二大的数 192

6.1.19 如何寻找数组中的最小值和最大值 193

6.1.20 如何将数组的后面m个数移动为前面m个数 195

6.1.21 如何计算出序列的前n项数据 196

6.1.22 如何找出数组中只出现一次的数字 197

6.1.23 如何判断一个整数x是否可以表示成n(n≥2)个连续正整数的和 198

6.2 链表 199

6.2.1 数组和链表的区别是什么 199

6.2.2 何时选择顺序表、何时选择链表作为线性表的存储结构为宜 200

6.2.3 如何使用链表头 200

6.2.4 如何实现单链表的插入、删除操作 201

6.2.5 如何找出单链表中的倒数第k个元素 203

6.2.6 如何实现单链表反转 204

6.2.7 如何从尾到头输出单链表 205

6.2.8 如何寻找单链表的中间结点 206

6.2.9 如何进行单链表排序 206

6.2.10 如何实现单链表交换任意两个元素(不包括表头) 209

6.2.11 如何检测一个较大的单链表是否有环 210

6.2.12 如何判断两个单链表(无环)是否交叉 212

6.2.13 如何删除单链表中的重复结点 213

6.2.14 如何合并两个有序链表(非交叉) 213

6.2.15 什么是循环链表 214

6.2.16 如何实现双向链表的插入、删除操作 216

6.2.17 为什么在单循环链表中设置尾指针比设置头指针更好 217

6.2.18 如何删除结点的前驱结点 217

6.2.19 如何实现双向循环链表的删除与插入操作 218

6.2.20 如何在不知道头指针的情况下将结点删除 219

6.3 字符串 219

6.3.1 如何统计一行字符中有多少个单词 219

6.3.2 如何将字符串逆序 220

6.3.3 如何找出一个字符串中第一个只出现一次的字符 225

6.3.4 如何输出字符串的所有组合 226

6.3.5 如何检查字符是否是整数?如果是,返回其整数值 227

6.3.6 如何查找字符串中每个字符出现的个数 228

6.4 STL容器 228

6.4.1 什么是泛型编程 229

6.4.2 栈与队列的区别有哪些 229

6.4.3 vector与list的区别有哪些 229

6.4.4 如何实现循环队列 230

6.4.5 如何使用两个栈模拟队列操作 231

6.5 排序 233

6.5.1 如何进行选择排序 233

6.5.2 如何进行插入排序 235

6.5.3 如何进行冒泡排序 236

6.5.4 如何进行归并排序 238

6.5.5 如何进行快速排序 240

6.5.6 如何进行希尔排序 243

6.5.7 如何进行堆排序 244

6.5.8 各种排序算法有什么优劣 245

6.6 二叉树 246

6.6.1 基础知识 246

6.6.2 如何递归实现二叉树的遍历 248

6.6.3 已知先序遍历和中序遍历,如何求后序遍历 249

6.6.4 如何非递归实现二叉树的后序遍历 250

6.6.5 如何使用非递归算法求二叉树的深度 253

6.6.6 如何判断两棵二叉树是否相等 255

6.6.7 如何判断二叉树是否是平衡二叉树 256

6.6.8 什么是霍夫曼编解码 256

6.7 图 258

6.7.1 什么是拓扑排序 258

6.7.2 什么是DFS?什么是BFS 259

6.7.3 如何求关键路径 261

6.7.4 如何求最短路径 262

第7章 海量数据处理 265

7.1 问题分析 265

7.2 基本方法 265

7.3 经典实例分析 278

7.3.1 top K问题 278

7.3.2 重复问题 280

7.3.3 排序问题 282

附录 284

附录A 某知名搜索引擎公司2014年校园招聘笔试题 284

附录B 某知名门户网站2014年校园招聘笔试题 284

附录C 某知名电子商务公司2014年校园招聘笔试题 287

附录D 某知名外企2014年校园招聘笔试题 293

附录E 求职有用网站及QQ群一览表 296

精品推荐