图书介绍

程序员面试笔记 C/C++、算法、数据结构篇PDF|Epub|txt|kindle电子书版本网盘下载

程序员面试笔记 C/C++、算法、数据结构篇
  • 杨峰,吴波,王楠编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111577584
  • 出版时间:2017
  • 标注页数:408页
  • 文件大小:55MB
  • 文件页数:425页
  • 主题词:程序设计

PDF下载


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

下载说明

程序员面试笔记 C/C++、算法、数据结构篇PDF格式电子书版下载

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

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

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

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

图书目录

第一部分 求职攻略技巧篇1

第1章 凡事预则立,不预则废——求职准备1

1.1摆脱就业“恐惧症”1

1.2深度剖析自己,找准定位——切忌好高骛远,眼高手低3

1.3制订一个详细的求职计划6

1.4你应该知道的求职渠道8

1.5认识招聘的流程11

第2章 打造你的个人名片——简历技巧13

2.1个人简历的书写要领及注意事项13

2.2英文简历15

2.3简历模板参考16

第3章 下笔如有神的秘籍——笔试技巧19

3.1笔试是场持久战19

3.2夯实基础才是王道20

3.3临阵磨枪,不快也光22

3.4练习一点智力题23

3.5重视英语笔试和专业词汇24

3.6建立自己的笔试资料库26

第4章 征服面试官的绝招——面试技巧28

4.1面试着装的技巧29

4.2不打无准备之仗——事先准备可能的提问29

4.3切记!第一轮面试仍是“技术面”30

4.4重视英语口语31

4.5细节决定成败32

第5章 鱼和熊掌如何取舍——Offer选择技巧33

5.1选择Offer的大原则——方向第一,赚钱第二33

5.2选择最适合自己的34

5.3户口和收入哪个更重要35

第6章 我的未来我做主——职业生涯规划38

6.1Y型发展轨迹38

6.2融入企业文化40

6.3关于跳槽41

第7章 运筹帷幄,决胜千里——面试官常问的20个问题43

7.1谈谈你的家庭情况43

7.2你有什么爱好和兴趣43

7.3你自己的优点是什么44

7.4你自己的缺点是什么44

7.5谈谈最令你有成就感的一件事44

7.6谈谈你最近的一次失败的经历45

7.7你做过什么项目45

7.8你有多少代码量45

7.9请描述一下你对我们公司的理解46

7.10谈一下最近5年内的职业规划46

7.11你觉得工作之后最大的挑战是什么46

7.12你对出差和外派的看法是什么46

7.13你对加班的看法是什么47

7.14你对跳槽的看法是什么47

7.15你如何理解你应聘的职位47

7.16工作中遇到压力你如何缓解47

7.17如何看待程序员40岁以后编不动代码48

7.18在工作中有没有经历过和他人意见不合的时候?你是怎么处理的48

7.19你平时都采取什么样的学习方式48

7.20你还有什么需要了解的问题48

第8章 知己知彼、百战不殆——外企常考的20道英文面试题49

8.1Please tell me something about yourself?49

8.2What experience do you have in this field?49

8.3What is your dream job?49

8.4Why should we hire you?50

8.5What are you looking for in a job?50

8.6Are you willing to work overtime?50

8.7What is your greatest weakness?50

8.8What are your strengths?51

8.9Why did you quit your last job?51

8.10Why do you want to work in our company?51

8.11What kind of sala are you looking for?51

8.12What do co-workers say about you?52

8.13What were some of your achievements at your last job?52

8.14Tell me about your ability to work under pressure?52

8.15What have you learned from mistakes on the job?52

8.16Where do you see yourself in 5 years?52

8.17How long would you expect to work for us if hired?53

8.18What do you want to know about our company?53

8.19Tell me about a suggestion you have made?53

8.20What motivates you to do your best on the job?53

第9章 IQ加油站——综合能力测试题54

9.1数学类型的测试题54

【面试题1】兔子赛跑54

【面试题2】女装的成本54

【面试题3】徘徊的小鸟飞了多少米55

【面试题4】电视机的价值55

【面试题5】被污染的药丸55

【面试题6】取水问题56

【面试题7】院墙外的相遇56

【面试题8】牛吃草问题58

9.2逻辑类型的测试题59

【面试题1】哪位教授与会59

【面试题2】谁是罪犯59

【面试题3】王教授的生日59

【面试题4】是谁闯的祸60

【面试题5】会哪国语言61

【面试题6】如何拿水果62

【面试题7】海盗分赃63

【面试题8】小镇上的四个朋友64

【面试题9】说谎岛65

第二部分 面试笔试技术篇66

第10章 C++程序设计基础66

10.1程序的编译和执行66

10.1.1知识点梳理66

10.1.2经典面试题解析67

【面试题1】简述#include〈〉和#include””的区别67

【面试题2】简述#与##在define中的作用68

【面试题3】简述assert断言的概念69

10.2变量70

10.2.1知识点梳理70

10.2.2经典面试题解析70

【面试题1】简述i++和++i的区别70

【面试题2】简述C++的类型转换操作符71

【面试题3】简述静态全局变量的概念73

10.3条件语句和循环语句74

10.3.1知识点梳理74

10.3.2经典面试题解析75

【面试题1】不使用break的switch语句75

【面试题2】for循环的三要素77

【面试题3】巧打乘法口诀表77

10.4宏定义和内联80

10.4.1知识点梳理80

10.4.2经典面试题解析81

【面试题1】简述内联函数与宏定义的区别81

【面试题2】宏定义的宏展开错误82

【面试题3】内联函数的常识性问题83

10.5sizeof的使用84

10.5.1知识点梳理84

10.5.2经典面试题解析85

【面试题1】不能使用sizeof计算的表达式85

【面试题2】sizeof计算结构体时的内存对齐问题86

【面试题3】结构体嵌套时的sizeof运算88

10.6内存分配90

10.6.1知识点梳理90

10.6.2经典面试题解析91

【面试题1】malloc和free的常识性问题91

【面试题2】返回一个64整数倍的内存地址92

【面试题3】简述malloc/free与new/delete的区别94

【面试题4】简述delete与delete[]的区别94

10.7位运算96

10.7.1知识点梳理96

10.7.2经典面试题解析97

【面试题1】不使用临时变量交换两个数97

【面试题2】计算二进制数中1的个数98

【面试题3】将二进制数倒数第M位的前N位取反99

【面试题4】找出人群中唯一的单身狗100

【面试题5】找出人群中三个单身狗中的任意一个100

10.8main函数102

10.8.1知识点梳理102

10.8.2经典面试题解析103

【面试题1】简述main函数执行前后都发生了什么103

第11章 指针和引用105

11.1指针及其应用105

11.1.1知识点梳理105

11.1.2经典面试题解析105

【面试题1】被调函数中修改主调函数的变量105

【面试题2】区分指针和数组107

【面试题3】简述指针和句柄的区别108

11.2指针常量与常量指针109

11.2.1知识点梳理109

11.2.2经典面试题解析110

【面试题1】指针常量和常量指针的常见错误110

【面试题2】指针常量用作函数参数111

【面试题3】指针常量与字符串常量的冲突113

11.3指针数组与数组指针115

11.3.1知识点梳理115

11.3.2经典面试题解析116

【面试题1】简述数组指针与二维数组的区别116

【面试题2】简述数组地址与数组首元素地址的区别118

【面试题3】简述指针数组与指向指针的指针的区别119

11.4指向指针的指针121

11.4.1知识点梳理121

11.4.2经典面试题解析122

【面试题1】指针作为参数的常见错误122

【面试题2】指向指针的指针与二维数组的区别125

11.5函数指针126

11.5.1知识点梳理126

11.5.2经典面试题解析127

【面试题1】通过函数指针实现四则运算127

【面试题2】简化超长的函数指针类型129

11.6this指针130

11.6.1知识点梳理130

11.6.2经典面试题解析131

【面试题1】this指针常识性问题131

【面试题2】链式访问对象成员132

【面试题3】通过空指针调用类的成员函数133

11.7空指针和野指针134

11.7.1知识点梳理134

11.7.2经典面试题解析135

【面试题1】常见的野指针135

【面试题2】在构造函数中释放对象本身138

11.8引用139

11.8.1知识点梳理139

11.8.2经典面试题解析139

【面试题1】简述指针与引用的区别139

【面试题2】指针和引用的使用140

【面试题3】使用常量初始化引用142

第12章 内存管理144

12.1堆内存与栈内存144

12.1.1知识点梳理144

12.1.2经典面试题解析144

【面试题1】简述程序中的四大存储区144

【面试题2】简述栈空间与堆空间的区别145

【面试题3】简述递归程序潜在的风险145

12.2内存泄漏147

12.2.1知识点梳理147

12.2.2经典面试题解析147

【面试题I】预防内存泄漏的方法147

【面试题2】找出不易察觉的内存泄漏147

12.3内存越界148

12.3.1知识点梳理148

12.3.2经典面试题解析149

【面试题1】访问vector元素时的越界问题149

【面试题2】越界操作导致程序崩溃的原理150

第13章 字符串152

13.1C标准字符串函数152

13.1.1知识点梳理152

13.1.2经典面试题解析154

【面试题1】字符串标准库函数的使用1154

【面试题2】字符串标准库函数的使用2155

【面试题3】不使用C/C++库函数,编程实现函数strcmp的功能156

【面试题4】不使用C/C++库函数,编程实现函数strcpy的功能157

【面试题5】不使用C/C++库函数,编程实现函数strstr的功能158

【面试题6】简述memcpy与strcpy的区别161

【面试题7】程序改错161

13.2字符串算法设计题精讲163

【面试题1】编程实现字符串中单词的翻转164

【面试题2】编程实现字符串的循环右移165

【面试题3】从字符串的指定位置删除指定长度的子串168

【面试题4】找出0/1字符串中0和1连续出现的最大次数170

【面试题5】编程查找两个字符串中的最大公共子串172

【面试题6】在字符串中删除特定字符174

【面试题7】字符串内容重排177

第14章 面向对象181

14.1面向对象的基本概念181

14.1.1知识点梳理181

14.1.2经典面试题解析181

【面试题1】简述面向过程和面向对象的区别181

【面试题2】简述面向对象的基本特征182

【面试题3】简述面向对象的设计原则183

14.2类的声明184

14.2.1知识点梳理184

14.2.2经典面试题解析185

【面试题1】简述类和结构体的区别185

【面试题2】类中的静态数据成员与静态成员函数186

【面试题3】简述const修饰符在类中的用法187

【面试题4】简述友元函数和友元类的概念188

14.3构造函数和析构函数189

14.3.1知识点梳理189

14.3.2经典面试题解析191

【面试题1】构造函数中的常见错误191

【面试题2】构造函数和析构函数的执行顺序194

【面试题3】实现一个最基本的String类195

14.4函数重载196

14.4.1知识点梳理196

14.4.2经典面试题解析197

【面试题1】C语言不支持函数重载的原因197

【面试题2】识别真假函数重载198

【面试题3】简述函数重载与函数覆盖的区别199

【面试题4】容易忽视的名字隐藏问题200

14.5运算符重载201

14.5.1知识点梳理201

14.5.2经典面试题解析202

【面试题1】运算符重载的常识性问题202

【面试题2】重载前自增运算符和后自增运算符203

【面试题3】通过运算符重载实现复数加减204

14.6继承205

14.6.1知识点梳理205

14.6.2经典面试题解析207

【面试题1】简述继承与组合的区别207

【面试题2】简述公有继承、私有继承和保护继承的区别207

【面试题3】父类构造函数与子类构造函数的关系209

14.7虚继承210

14.7.1知识点梳理210

14.7.2经典面试题解析210

【面试题1】虚继承中的构造函数的调用210

【面试题2】计算虚继承中对象占用的空间212

14.8多态与虚函数213

14.8.1知识点梳理213

14.8.2经典面试题解析214

【面试题1】虚函数的常识性问题214

【面试题2】简述虚函数表的概念215

【面试题3】通过虚函数实现各种图形计算的多态性217

第15章 模板与泛型编程219

15.1模板219

15.1.1知识点梳理219

15.1.2经典面试题解析220

【面试题1】模板全特化和偏特化的使用方式220

【面试题2】模板函数的重载问题222

15.2顺序容器223

15.2.1知识点梳理223

15.2.2经典面试题解析224

【面试题1】简述vector容器空间增长的原理224

【面试题2】简述vector容器中size和capacity函数的用途225

【面试题3】手工调整vector容器空间的方式226

【面试题4】简述deque容器的插入删除原理227

15.3容器适配器228

15.3.1知识点梳理228

15.3.2经典面试题解析228

【面试题1】简述STL中容器适配器的概念228

【面试题2】自定义优先队列的元素权重229

15.4关联容器230

15.4.1知识点梳理230

15.4.2经典面试题解析231

【面试题1】迭代器失效问题231

【面试题2】set和map的配合使用233

15.5智能指针234

15.5.1知识点梳理234

15.5.2经典面试题解析235

【面试题1】简述环状引用问题及其解决方案235

【面试题2】unique_ptr优于auto_ptr的原因237

第16章 线性结构238

16.1数组和顺序表238

16.1.1知识点梳理238

16.1.2经典面试题解析239

【面试题1】顺序表的常识性问题239

【面试题2】向顺序表中的第i个位置插入元素240

【面试题3】编程实现顺序表的逆置242

【面试题4】编程实现删除一个数组中的重复元素243

【面试题5】数组元素两两之差绝对值的最小值245

【面试题6】重新排列数组使得数组左边为奇数,右边为偶数247

【面试题7】两个有序数组的交集250

【面试题8】判断数组中的元素是否连续253

【面试题9】判断数组中是否有重复元素254

16.2单链表255

16.2.1知识点梳理255

16.2.2经典面试题解析256

【面试题1】单链表的常识性问题256

【面试题2】删除单链表中指针q指向的结点257

【面试题3】编程实现在按值有序的单链表中插入结点258

【面试题4】编写程序销毁一个单链表260

【面试题5】编程将两个有序的单链表归并260

【面试题6】编程实现单链表的逆置反序262

【面试题7】找出单链表中倒数第k个元素264

16.3循环链表265

16.3.1知识点梳理265

16.3.2经典面试题解析267

【面试题1】约瑟夫环问题267

【面试题2】如何判断一个链表是否是循环链表269

16.4双向链表271

16.4.1知识点梳理271

16.4.2经典面试题解析272

【面试题1】双向链表的常识性问题272

16.5队列与栈274

16.5.1知识点梳理274

16.5.2经典面试题解析276

【面试题1】队列堆栈的常识性问题276

【面试题2】编程实现一个二/八进制的转换器278

【面试题3】括号匹配问题280

【面试题4】用两个栈实现一个队列282

第17章 树结构287

17.1树结构的特性287

17.1.1知识点梳理287

17.1.2经典面试题解析288

【面试题1】树的常识性问题288

17.2二叉树的基本特性289

17.2.1知识点梳理289

17.2.2经典面试题解析291

【面试题1】二叉树的常识性问题291

17.3二叉树的遍历292

17.3.1知识点梳理292

17.3.2经典面试题解析293

【面试题1】编程实现二叉树的先序、中序、后序遍历293

【面试题2】编程创建一棵二叉树294

【面试题3】编程实现二叉树的按层次遍历296

【面试题4】已知二叉树的先序和中序序列,求其后序序列和按层次遍历序列297

17.4二叉树相关面试题299

【面试题1】编程计算二叉树的深度299

【面试题2】编程计算二叉树的叶子结点个数301

【面试题3】编程计算二叉树中某结点的层数302

17.5哈夫曼树和哈夫曼编码304

17.5.1知识点梳理304

17.5.2经典面试题解析306

【面试题1】一棵哈夫曼树有4个叶子,则它的结点总数是多少306

【面试题2】简述哈夫曼编码的实现和应用306

17.6二叉排序树307

17.6.1知识点梳理307

17.6.2经典面试题解析308

【面试题1】二叉排序树的常识性问题308

【面试题2】最低公共祖先问题309

第18章 图结构311

18.1图结构的特性311

18.1.1知识点梳理311

18.1.2经典面试题解析314

【面试题1】图结构特性的常识性问题314

18.2图的遍历316

18.2.1知识点梳理316

18.2.2经典面试题解析316

【面试题1】图遍历的常识性问题316

【面试题2】图的深度优先遍历(DFS)和广度优先遍历(BFS)318

第19章 排序322

19.1直接插入排序322

19.1.1知识点梳理322

19.1.2经典面试题解析323

【面试题1】编程实现直接插入排序323

19.2冒泡排序323

19.2.1知识点梳理323

19.2.2经典面试题解析324

【面试题1】编程实现冒泡排序324

19.3简单选择排序325

19.3.1知识点梳理325

19.3.2经典面试题解析326

【面试题1】编程实现简单选择排序326

19.4希尔排序327

19.4.1知识点梳理327

19.4.2经典面试题解析328

【面试题1】编程实现希尔排序328

19.5快速排序329

19.5.1知识点梳理329

19.5.2经典面试题解析330

【面试题1】编程实现快速排序330

【面试题2】快速排序的性能分析331

【面试题3】荷兰国旗问题332

19.6堆排序333

19.6.1知识点梳理333

19.6.2经典面试题解析337

【面试题1】编程实现堆排序337

19.7各种排序算法的比较338

【面试题1】简述各种排序算法的优劣及适用场景338

第20章 查找算法340

20.1折半查找340

20.1.1知识点梳理340

20.1.2经典面试题解析340

【面试题1】使用折半查找法查找数组中的元素340

【面试题2】从有序数组中找出某个数出现的次数342

20.2TOP K问题344

20.2.1知识点梳理344

20.2.2经典面试题解析345

【面试题1】搜索关键词的TOP K问题345

第21章 经典算法面试题详解348

21.1斐波那契数列的第n项348

21.2寻找数组中的次大数349

21.3将大于2的偶数分解成两个素数之和351

21.4计算一年中的第几天352

21.5相隔多少天353

21.6渔夫捕鱼355

21.7丢番图的墓志铭357

21.8数的分组358

21.9寻找丑数360

21.10图中有多少个三角形364

21.11递归查找数组中的最大值367

21.12分解质因数368

21.13在大矩阵中找k369

21.14上楼梯的问题374

21.15矩阵中的相邻数376

第22章 操作系统、数据库及计算机网络379

22.1操作系统379

22.1.1知识点梳理379

22.1.2经典面试题解析383

【面试题1】操作系统常识性问题(选择题)383

【面试题2】进程间的通信如何实现388

【面试题3】关于虚拟存储器的一些问题388

22.2数据库389

22.2.1知识点梳理389

22.2.2经典面试题解析391

【面试题1】数据库常识性问题(选择题)391

【面试题2】用SQL语句查出分数最高前20位学生397

【面试题3】SQL设计的优化397

22.3计算机网络398

22.3.1知识点梳理398

22.3.2经典面试题解析402

【面试题1】计算机网络常识性问题(选择题)402

【面试题2】简述OSI七层模型和TCP/IP四层模型405

【面试题3】简述TCP协议三次握手的过程406

【面试题4】IPv4协议和IPv6协议407

热门推荐