您的位置:首页 > 百科 > 正文

程序员面试宝典(第三版)

《程序员面试宝典(第三版)》是2011年电子工业出版社出版的图书,作者是欧立奇、刘洋、段韬

  • 中文名 程序员面试宝典(第三版)
  • 出版社 电子工业出版社
  • 作者 欧立奇、刘洋、段韬
  • ISBN 978-7-121-12647-5

图书信息

  作 者: 欧立奇、刘洋、段韬 

  出 版 社:电子工业出版社 

  出版时间:2011-04格流 

  字 数:462800 

乙题着两  版 次:3 

  页 数:340 

  开 本:16开 

  印 次:2 

  纸 张:胶版纸 

  来自I S B N :978-7-121-12647-5 包 装:平装 定价:¥39.80

宣传语

  历经第1版、第2版不断完善,前后十多次重印,360百科数年各大图书排行榜顶尖荣耀

  第2版荣获中国书刊发行业协会"2009年度全行业优秀畅销品种"奖迫了扩菜略席硫硫观微!

  揭开知名IT企业面试、笔试的核心机密

  数十万IT专业毕业生与程序服材家板满速状损终印员的求职宝典

内容简介

  本书是《程序员面试宝典》的第三版,在保留第二版的数据结构、面向对象、程序设计等主干的基础上,使用各大IT公司及相关企业最新面试题替换和补充原内容,以反映来自自第二版以来近几年360百科时间所发生的变化。

  本书取材于各大公司面试真题(笔试、速境愿毫吸放身盐变日配口试、电话面试、英语面试,以及逻辑测试和智商测试),详细分析了应聘程序员(含网络、测试等)职位的常见考点。本书不仅对传统的C系语言考点做了详尽解说,还根据外企出题最新特点,新增加了对友元、Static、图形/音频、树、栈、ERP等问题的深入讲解。最后本书着力讲述了如何进行英语面试和电话面试,并对求职中签约、毁约的注意事项及群体面试进行了解析。本书的面试题除了有详细解析和答案外,对相业挥及矿关知识点还有扩展说明。真正做到了由点成线,举一反三,对读者从求职就业到提升计算机专业知识都有显著帮助。

  本书适合计算机相关专业应届毕业生阅读,也适合作为正在应聘软件行业的相关就业人员和计算机爱好者的参考书。

  序

  首先,我要感谢本书的作者能够选择这样一个备受大家关注的话题作为题材,同时也要感谢电子工业出版社能够将此书大力推广。要知道,程序员和目照几面试可能是现在因特概与网上大家最为关心的字眼之一了--不,应该是完于时善宣室联之二。正好,本书详尽地描述了程序员应该学些什么、做些什么,然后应该如何面对烦人的但又必不可甚身则亲案紧雷其迫理角少的面试过程。当然,如果您不是程序员,我准机依然认为本书会对您的职业生涯有所帮助,相信我吧

  哦,忘了介绍我自己了。我是孔文达,毕业于北京某某大学材料系,现任微软(中国)有限公司顾问。咦?怎么读材料的从事上IT工作了?这说来可话长了。但其实一句概括的话,就是:努力加机遇。当然,我并不想长篇大论应该如何努力及如何把握机遇,我想说的是和本书密切相复春行模势激才论关的话题--面试。

  其实,无论是程序员还是其他任何行业的任何职位,面试过程都大同小异,无非就是提交简历、电话面试、面谈、得到Offer等这一系列过程。当然,这其中每一步都很重田了通极要!简历要写得得段顺机体、漂亮,尽量突出自己的优势,屏蔽自己的劣势。电话面试还好一些,因为只是电话交谈,所以您也许会更好地把握自己的语言。面谈是最关键的一步,而且如果您准备不充分的话,一定会紧张。紧张,就有可能出婷五现错误。不过还好,大多数面试官都可以接受面试者的紧张,只要不是太过分,福治创星怎影益识家属权问题就不大了。一般来说,中型或大型企业的面试都不止一轮,有些甚至有十几轮。就拿微软来说吧,官预以载孩律轴方渠道需要12轮面试,内部推荐也需要4轮,而且是一票否决式。就是说,有一个面试官说你不行,你就没戏了。怎么搞定所有的面试官呢?当然有很多技巧,但乎居板形声千数岁个支款最重要的一条就是:面试官是个活生生的人,他/她一定有个人偏好,在你见到面试官时,尽可能在最短的时间内--最好是在他/她了解你之前--了解他/她,合乎时宜地与他/她展开对话。最后一点,最好不要极其地、非常地、十分地想得到某个职位,这有可能会使你失态,抱着平常心有时会得到意想不到的效果。

  这本书写得非常好,它非常详尽地描述了作为一名程序员应该为面试准备些什么和注意些什么。也许您现在还用不到它,先看看吧,指不定什么时候就用上了呢!这不是杞人忧天,而是未雨绸缪!

  孔文达

  技术顾问 微软全国TOP3讲师

  [ 在正式加入齐头掌微软(中国)有限公司前,

  曾任微软外聘顾问及特约讲师7年,并在

  北京中达金桥迅果科技开发有限公司

  (微软在国内最大的技术及培训合作伙伴)

  任人力资源部总监及副总裁。]

  第二届微软十佳金牌讲师

  首届微软十佳金牌讲

  MLC认证讲师

  微软护航专家

  CIW认证讲师(CIW CI)

  CIW网络安全分析大师(CIW)

  华为网络工程师(HCNE)

  HP-UNIX系统及网络管理员(HP-UX Administrator)

  Cisco认证网络专家(CCNA)

  微软认证讲师(MCT)

  微软认证数据库管理接电杨距字师员(MCDBA)

  微软认证系统工程师派西衡千重天象优目烧(MCSE)

  微软认证专家(MCP)

  微软销售专员(MSS)

  ……

图书前言

  本书是程序员面试宝典的第三版。

  第三版主要是更新,在保留原书数据结构、面向对象、程序设计等主干的基础上,大量地更新了程序设计例题。以反映自第一版上市以来近几年时间内所发生的变化,帮助求职者们更好地处理一些新问题、新变化。

  本书相对上一版的新变化主要有以下几点:

  针对求职过程这一章,在原书3节(笔试、电话面试、面试)的基础上添加了2节(签约、违约),以更好地帮助求职者应对求职过程中出现一些细节的麻烦。

  针对C/C++程序设计这一块,更新了绝大部分的例题。如原书中循环队列问题在面试时被反复提及,而近两年如反循环队列、zigzag问题在面试中也经常出现;又如递归面试已经很少出现过于常见的菲波那契问题,而代之以构造多叉树递归、对角线取值等问题,这些我们都在第三版中进行了扩充与重写。

  针对面试中的新题型,本书补充了新的章节:与非或、友元、Static、图形/音频、树、栈、ERP、群体面试,等等。相比前一版而言,第三版的内容更加贴近市场的变化,更加与时俱进。

  《程序员面试宝典》不同于同类书籍的主要特点是:

  细

  中国软件企业比较小,面试涉及的方面比较多,比较基础,比如常会考到一些编程基础性的面试例题,而原有的面试书籍对此方面鲜有触及。本书把面试国内公司最易考到的基础考点,放在第二部分C++基础程序设计里面,希望能切切实实地解决实际面试问题。

  专

  面试题是通过一道题考查一个专类的能力,比如关键字volatile的面试例题是考查嵌入式编程。从面试官的角度来讲,一个测试也许能从多方面揭示应试者的素质及水平。正因为如此,本书将考点细致分类(嵌入式编程类、基础代码类、面向对象类、模板类等),通过面试例题提升读者对这些方面的掌握能力,达到有的放矢、举一反三的效果。

  广

  求职者应聘的职位,一般有3种:网络工程师、测试工程师、软件开发人员。诸如趋势科技、华为3COM、思科等公司,对程序、网络方面的考题日趋增加;此外,随着全球五百强企业的进入,外企对设计模式、软件度量等方面试题的喜爱有增无减,而市面上的书籍却鲜有综述。本书结合大量考题分析其特点并详述应试方案,以适应市场需求。

  真

  第三版在保留原书主干的基础上,内容非常新,可以算做面试者求职前的一份全真模拟。同时作者将求职中的细节问题(简历、招聘、签约、违约),以及笔试、面试中的感悟融会在书中,给求职者以最真切的人文关怀。真情实感,娓娓道来,指引读者走上理想的工作岗位。本书不是一本万能书籍,但却肯定是您工作与求职的好助手、好伙伴!

  本书主要由欧立奇编著,其他参与编写的人员有刘洋、段韬、秦晓东、李启高、马雪、马煜、胥虎军、李富星、牛永洁等。

  编 著 者

图书目录

  第1部分 求职过程

  求职的过程就是一个提高和认识自我的过程,最后的成功根植于你本人一丝一毫的努力当中。也许真的像电影《肖申克的救赎》里面说的那样:"得救之道,就在其中。"

  第1章 应聘求职 2

  1.1 渠道 2

  1.2 流程 3

  第2章 简历书写 4

  2.1 简历注意事项 4

  2.2 简历模板 8

  第3章 求职五步曲 11

  3.1 笔试 11

  3.2 电话面试 14

  3.3 面试 15

  3.4 签约 16

  3.5 违约 20

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

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

  4.2 更换工作的程序员们 24

  4.3 快乐的工作 25

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

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

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

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

  5.1 赋值语句 29

  5.2 i++ 31

  5.3 编程风格 33

  5.4 类型转换 34

  5.5 运算符问题 38

  5.6 a、b交换 39

  5.7 C和C++的关系 41

  5.8 程序设计的其他问题 41

  第6章 预处理、const与sizeof 45

  6.1 宏定义 45

  6.2 const 46

  6.3 sizeof 48

  6.4 内联函数和宏定义 59

  第7章 指针与引用 61

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

  7.1 指针基本问题 61

  7.2 传递动态内存 63

  7.3 函数指针 72

  7.4 指针数组和数组指针 74

  7.5 迷途指针 77

  7.6 指针和句柄 79

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

  8.1 递归基础知识 82

  8.2 典型递归问题 83

  8.3 循环与数组问题 86

  8.4 螺旋队列问题 89

  8.5 概率 92

  第9章 STL模板与容器 93

  9.1 向量容器 94

  9.2 泛型编程 98

  9.3 模板 99

  第10章 面向对象 103

  有这样一句话:"编程是在计算机中反映世界",我觉得再贴切不过。面向对象(Object-

  Oriented)对这种说法的体现也是最优秀的。

  10.1 面向对象的基本概念 103

  10.2 类和结构 104

  10.3 成员变量 106

  10.4 构造函数和析构函数 108

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

  10.6 多态的概念 117

  10.7 友元 120

  第11章 继承与接口 122

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

  11.1 覆盖 123

  11.2 私有继承 125

  11.3 虚函数继承和虚继承 130

  11.4 多重继承 134

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

  11.6 纯虚函数 139

  11.7 运算符重载与RTTI 141

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

  12.1 位制转换 149

  12.2 嵌入式编程 159

  12.3 static 165

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

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

  第13章 数据结构基础 167

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

  13.1 单链表 167

  13.2 双链表 172

  13.3 循环链表 173

  13.4 队列 174

  13.5 栈 175

  13.6 堆 178

  13.7 树、图、哈希表 187

  13.8 排序 196

  13.9 时间复杂度 209

  第14章 字符串 201

  14.1 整数字符串转化 201

  14.2 字符数组和strcpy 218

  14.3 数组初始化和数组越界 222

  14.4 数字流和数组声明 224

  14.5 字符串其他问题 225

  14.6 字符子串问题 230

  第15章 设计模式与软件测试 232

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

  15.1 设计模式 233

  15.2 软件测试基础 239

  15.3 黑盒测试 241

  15.4 白盒测试 247

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

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

  第16章 操作系统 253

  16.1 进程 253

  16.2 线程 256

  16.3 内存管理 258

  第17章 数据库与SQL语言 260

  17.1 数据库理论 260

  17.2 SQL语言 264

  17.3 SQL语言客观题 266

  17.4 SQL语言主观题 270

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

  18.1 网络结构 275

  18.2 网络协议问题 277

  18.3 网络安全问题 279

  18.4 网络其他问题 281

  第5部分 综合面试题

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

  第19章 英语面试 288

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

  19.1 面试过程和技巧 288

  19.2 关于工作(About Job) 290

  19.3 关于个人(About Person) 293

  19.4 关于未来(About Future) 295

  第20章 电话面试 297

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

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

  第21章 智力测试 307

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

  21.1 关于数字的智力测试 307

  21.2 关于推理的智力测试 309

  21.3 关于时间的智力测试 314

  21.4 关于综合的智力问题 318

  21.5 关于群体面试 321

  21.6 关于表格的智力测试 323

  附录A 面试经历总结 328

发表评论

评论列表