历经前3版不断完善,前后二十多次重印,数年各大图书排行榜荣耀!
第4版在保留原书数据结构,程序设计等主干的基础上,大量地更新了程序面试题目,取材于2012年至2013年各大公司面试题,替换了原版的大量面试题,以反映自第 3版以来两年多的时间内所发生的变化。并且修正了两年多以来读者反馈的书中的一些错误和描述不当的地方,以帮助求职者们更好地处理一些新问题,新变化。
《程序员面试宝典(第4版)》在保留第3版的数据结构、面向对象、程序设计等主干的基础上,删除了第3版的第21章,新增了第4版的第21、22、23、24章全新的试题分析内容,并且在第3版原有的20章中也使用各大IT公司及相关企业全新面试题替换和补充原内容,以反映自第3版以来两年多的时间内所发生的变化。
《程序员面试宝典(第4版)》取材于各大公司面试真题(笔试、口试、电话面试、英语面试,以及逻辑测试和智商测试),详细分析了应聘程序员(含网络、测试等)职位的常见考点。《程序员面试宝典(第4版)》不仅对传统的C系语言考点做了详尽解说,还根据外企出题全新特点,新增加了对友元、Static、图形/音频、树、栈、ERP等问题的深入讲解。最后《程序员面试宝典(第4版)》着力讲述了如何进行英语面试和电话面试,并对求职中签约、毁约的注意事项及群体面试进行了解析。《程序员面试宝典(第4版)》中的面试题除了有详细解析和答案外,对相关知识点还有扩展说明。真正做到了由点成线,举一反三,对读者从求职就业到提升计算机专业知识都有显著帮助。
第1章:
古人云:凡事预则立,不预则废。机会都是垂青有准备的人的。为了得到一份满意的工作,大家一定要对整个求职过程有清醒的了解。把能够预见的、必须做的事情早一些做完,这样在大规模招聘开始的时候就可以专心地为面试做准备。求职过程中会发生很多预料不到的事情,当你的计划被这些事情打乱之后,要做的事会越堆越多,一步落后,步步落后。如果能够尽早把能做的事做完,即便有计划外事件发生,也不会产生太严重的影响。努力地使事态的发展处在自己能控制的范围之内,这样无论发生任何事都能有应对之策......
第5章:
通过查看各大公司C/C++面试题目,从技术上分析问题的内涵。为什么要选择C系的语言呢?这是因为各大公司的编程语言绝大多数是C系语言,虽然Java也占很大的比重,可是C++相对于Java来说更有区分度——C++是那种为每一个问题提供若干个答案的语言,远比Java灵活,所以面试考题绝大多数以C/C++为主。许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数就可看出面试者在技术上究竟达到了怎样的水平。我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本部分中关于C++的几个常用考点,看看自己属于什么样的层次......
第24章
虽然有一句话叫“沉默是金”,但是这句话要有一个前提,那就是“该沉默的时候,沉默才是金”。小组讨论的时候,一定要积极发言。甚少出声的,基本都会被否决。有的同学不爱说话无外乎两种原因:
①肚里没货,说不出来;
②性格比较内向,虽然有一些Idea(想法),但不愿抢话。
对于第一种情况的同学会感觉在群面中始终不能跟上别人的节奏。总是慢一拍,于是整个过程都输了。这种提升不是一朝一夕的,平时要多做阅读,提高自己看问题的深度,尤其像《南方周末》这样的报纸,做到“内强素质,外树形象”。
对于第二种情况的同学,一些比较内向的人可能会在群面时就比较吃亏。如果你真的想获得这份工作,那你就该努力地适应环境改变惯性。虽然性格很难改变,但是性格也绝不是理由,结合自己的特点发挥出自己的优势,让自己的长处更加显著吧。例如,可以提高自己思想的深度,让自己在表达观点时出彩。总之,你一定要有一个突出点,让HR留意到......
……
第1部分 求职过程
求职的过程就是一个提高和认识自我的过程,最后的成功根植于你本人一丝一毫的努力当中。也许真的像电影《肖申克的救赎》里面说的那样:“得救之道,就在其中。”
第1章 应聘求职
1.1 渠道
1.2 流程
第2章 简历书写
2.1 简历注意事项
2.2 简历模板
第3章 求职五步曲
3.1 笔试
3.2 电话面试
3.3 面试
3.4 签约
3.5 违约
第4章 职业生涯发展规划
4.1 缺乏工作经验的应届毕业生
4.2 更换工作的程序员们
4.3 快乐的工作
第2部分 C/C++程序设计
为什么要选择C系的语言呢?这是因为各大公司的编程语言绝大多数是C系的语言,虽然Java也占很大的比重,可是C++相对于Java来说更有区分度-C++是那种为每一个问题提供若干个答案的语言,远比Java灵活。
第5章 程序设计基本概念
5.1 赋值语句
5.2 i++
5.3 编程风格
5.4 类型转换
5.5 运算符问题
5.6 a、b交换与比较
5.7 C和C++的关系
5.8 程序设计的其他问题
第6章 预处理、const与sizeof
6.1 宏定义
6.2 const
6.3 sizeof
6.4 内联函数和宏定义
第7章 指针与引用
7.1 指针基本问题
7.2 传递动态内存
7.3 函数指针
7.4 指针数组和数组指针
7.5 迷途指针
7.6 指针和句柄
7.7 this指针
第8章 循环、递归与概率
8.1 递归基础知识
8.2 典型递归问题
8.3 循环与数组问题
8.4 螺旋队列问题
8.5 概率
第9章 STL模板与容器
9.1 向量容器
9.2 泛型编程
9.3 模板
第10章 面向对象
10.1 面向对象的基本概念
10.2 类和结构
10.3 成员变量
10.4 构造函数和析构函数
10.5 拷贝构造函数和赋值函数
10.6 多态的概念
10.7 友元
10.8 异常
第11章 继承与接口
11.1 覆盖
11.2 私有继承
11.3 虚函数继承和虚继承
11.4 多重继承
11.5 检测并修改不适合的继承
11.6 纯虚函数
11.7 运算符重载与RTTI
第12章 位运算与嵌入式编程
12.1 位制转换
12.2 嵌入式编程
12.3 static
第3部分 数据结构和设计模式
随着外企研发机构大量内迁我国,在外企的面试中,软件工程的知识,包括设计模式、UML、敏捷软件开发,以及.NET技术和完全面向对象语言C#的面试题目将会有增无减。
第13章 数据结构基础
13.1 单链表
13.2 双链表
13.3 循环链表
13.4 队列
13.5 栈
13.6 堆
13.7 树、图、哈希表
13.8 排序
13.9 时间复杂度
第14章 字符串
14.1 整数字符串转化
14.2 字符数组和strcpy
14.3 数组初始化和数组越界
14.4 数字流和数组声明
14.5 字符串其他问题
14.6 字符子串问题
第15章 设计模式与软件测试
15.1 设计模式
15.2 软件测试基础
15.3 黑盒测试
15.4 白盒测试
第4部分 操作系统、数据库和网络
本部分主要介绍求职面试过程中出现的第三个重要的板块-操作系统、数据库和网络知识。这些内容虽不是面试题目中的主流,但仍然具有重要的意义。
第16章 操作系统
16.1 进程
16.2 线程
16.3 内存管理
第17章 数据库与SQL语言
17.1 数据库理论
17.2 SQL语言
17.3 SQL语言客观题
17.4 SQL语言主观题
第18章 计算机网络及分布式系统
18.1 网络结构
18.2 网络协议问题
18.3 网络安全问题
18.4 网络其他问题
第5部分 综合面试题
英语面试、电话面试和智力测试,是除技术面试之外另外的大模块。本部分教你如何精心地为这些内容做好准备,以让你在整个面试过程中的表现更加完美。
第19章 英语面试
19.1 面试过程和技巧
19.2 关于工作(AboutJob)
19.3 关于个人(AboutPerson)
19.4 关于未来(AboutFuture)
第20章 电话面试
20.1 电话面试之前的准备工作
20.2 电话面试交流常见问题
第21章 数字类题目分析
21.1 数字规律类题目
21.2 数字填充类题目
21.3 数字运算类题目
21.4 应用数学类题目
第22章 图表类题目分析
22.1 图形变换类题目
22.2 表格分析类题目
第23章 智力类题目分析
23.1 推理类题目
23.2 博弈论
23.3 概率
第24章 无领导小组讨论题目分析
24.1 题目介绍
24.2 无领导小组讨论特点
24.3 无领导小组阶段分析
24.4 无领导小组角色分析
24.5 无领导小组评分标准分析
24.6 群面实录
附录A 面试经历总结