程序员面试宝典

程序员面试宝典

下载地址 https://pan.baidu.com/s/1XeNRWWyVgLe0SrTH73o4Rg

扫码下面二维码关注公众号回复100117获取分享码

 

本书目录结构如下:

第1章 应聘求职 3

1.1 应聘渠道 3

1.2 应聘流程 4

第2章 简历书写 5

2.1 简历注意事项 5

2.2 简历模板 8

第3章 3种考试 13

3.1 笔试 13

3.2 电话面试 15

3.3 面试 16

第4章 职业生涯发展规划 19

4.1 缺乏工作经验的应届毕业生 19

4.2 更换工作的程序员们 21

第2部分 C/C++程序设计

为什么要选择C系的语言呢?这是因为各大公司的编程语言绝大多数是C系的语言,虽然Java也占很大的比重,可是C++相对于Java来说更有区分度—C++是那种为每一个问题提供若干个答案的语言,远比Java灵活。

第5章 程序设计基本概念 25

作为一个求职者或应届毕业生,公司除了对你的项目经验有所问询之外,最好的考量办法就是你的基本功,包括你的编程风格,你对赋值语句、递增语句、类型转换、数据交换等程序设计基本概念的理解。

5.1 赋值语句 25

5.2 i++ 27

5.3 编程风格 29

5.4 类型转换 30

5.5 螺旋队列 34

5.6 a、b交换 35

5.7 C和C++的关系 36

5.8 程序设计其他问题 37

第6章 预处理、const与sizeof 39

6.1 宏定义 39

6.2 const 41

6.3 sizeof 42

6.4 内联函数和宏定义 55

第7章 指针与引用 57

指针是C系语言的特色,是C和C++的精华所在,也是C和C++的一个十分重要的概念。

7.1 指针基本问题 57

7.2 传递动态内存 65

7.3 函数指针 71

7.4指针数组数组指针73

7.5 迷途指针 77

7.6 指针和句柄 79

第8章 循环、递归与概率 81

8.1 递归基础知识 81

8.2 典型递归问题 83

8.3 打靶 84

8.4 字符子串 89

8.5 循环语言 91

8.6 0-1背包 94

8.7 概率 95

第9章 STL模板与容器 97

9.1 向量容器 98

9.2 泛型编程 103

9.3 模板 105

第10章 面向对象 109

有这样一句话:“编程是在计算机中反映世界”,我觉得再贴切不过。面向对象(Object-Oriented)对这种说法的体现也是最优秀的。

10.1 面向对象的基本概念 110

10.2 类和结构 111

10.3 成员变量 113

10.4 构造函数和析构函数 117

10.5拷贝构造函数和赋值函数 119

10.6多态的概念 123

第11章 继承与接口 127

整个C++程序设计全面围绕面向对象的方式进行。类的继承特性是C++的一个非常重要的机制。这一章的内容是C++面向对象程序设计的关键。

11.1 覆盖 128

11.2 私有继承 130

11.3 虚函数继承和虚继承 137

11.4 多重继承 141

11.5 检测并修改不适合的继承 142

11.6 纯虚函数 146

11.7 COM 148

第12章 位运算与嵌入式编程 151

12.1 位制转换 151

12.2 嵌入式编程 157

第3部分数据结构和设计模式

随着外企研发机构大量内迁我国,在外企的面试中,软件工程的知识,包括设计模式、UML、敏捷软件开发,以及.NET技术和完全面向对象语言C#的面试题目将会有增无减。

第13章数据结构基础167

面试时间一般有2小时,其中至少有约20~30分钟是用来回答数据结构相关问题的。链表、数组的排序和逆置是必考的内容之一。

13.1 单链表 167

13.2 双链表 173

13.3 循环链表 176

13.4 队列 177

13.5 堆栈 180

13.6 树 185

13.7 排序 185

第14章 字符串 203

14.1 整数字符串转化 203

14.2 字符数组和strcpy 205

14.3 数组越界 210

14.4 数字流和数组声明 212

14.5 字符串其他问题 213

第15章 设计模式 219

“地上本没有路,走的人多了也就成了路”。设计模式如同此理,它是经验的传承,并非体系。它是被前人发现,经过总结形成的一套某一类问题的一般性解决方案,而不是被设计出来的定性规则。

15.1 设计模式 220

15.2 软件工程 235

15.3 C#基础 237

15.4 C#继承 240

15.5 C#委托 249

15.6 ASP NET 251

第4部分操作系统、数据库和网络

本部分主要介绍求职面试过程中出现的第三个重要的板块—操作系统、数据库和网络知识。这些内容虽不是面试题目中的主流,但仍然具有重要的意义。

第16章 操作系统 257

16.1 进程 257

16.2 图形学 259

16.3内存管理261

16.4 DOS、Linux、UNIX 271

第17章 数据库与SQL语言 273

17.1 数据库理论 273

17.2 SQL语言 276

17.3 SQL语言客观题 279

17.4 SQL语言主观题 282

第18章 计算机网络及分布式系统285

18.1 网络结构 285

18.2 TCP/IP 288

18.3 SNMP 292

18.4 网络其他问题 295

第5部分 综合面试题

英语面试、电话面试和智力测试,是除技术面试之外的另三大模块。本部分教你如何精心地为这些内容做好准备,以让你在整个面试过程中的表现更加完美。

第19章 英语面试 301

这里的英语面试不同于普通的英语面试。就一个程序员而言,最好能够做到用英文流利地介绍自己的求职经历,这是进外企非常重要的一步。有些问题即便是中文你都很难回答,更何况是用英文去回答。但是求职过程本身就是一个准备的过程,精心地准备等待机会,机会总是垂青于那些精心准备的人。

19.1 面试过程和技巧 301

19.2 关于工作(About Job) 303

19.3 关于个人(About Person) 308

19.4 关于未来(About Future) 311

19.5 其他建议(Other Tips) 312

19.6 英文面试常用词汇 313

19.6.1 工作经历相关词汇 313

19.6.2 个人资料相关词汇 314

19.6.3 个人品质相关词汇 315

19.6.4 学历相关词汇 316

19.6.5 离职原因相关词汇 318

第20章 电话面试 319

20.1 电话面试之前的准备工作 319

20.2 电话面试交流常见问题 320

第21章 智力测试 329

智力测试是企业招聘时有可能出现的一个环节,事实上,IT企业求职招聘还是主要以基本的程序设计及数据结构为主。智力测试是考验人的综合智商、逻辑能力的过程,本身是很难复习和准备的。这些年来,智力测试的一个新的趋势是和编程及算法结合起来。

21.1 关于数字的智力测试 329

21.2 关于推理的智力测试 332

21.3 关于时间的智力测试 333