标题：C/C++程序员面试宝典
基本信息
精选380余个C/C++技术面试真题，配16.5小时教学视频讲解； 揭秘知名IT企业用人的核心准则，解读应聘IT企业的成功要诀； 让你轻松地获得面试官的青睐，从千百个竞聘者中脱颖而出。 
内容简介
  许多开发者对C/C++语言及其底层原理掌握不牢固，在面试过程中经常漏洞百出，无法取得好成绩。而招聘单位为了得到高素质的员工往往采用各种形式的面试考察求职者，这让面试难度大大增加。求职者要想成功应聘，不仅需要扎实的基本功，还需要经受情商和智商的考验。
本书通过380余个面试题，对企业招聘C/C++程序员需要掌握的知识进行了系统、全面的总结，以帮助读者进行充分的面试准备，在激烈的竞争中成功应聘。本书内容大多取材于各大IT公司的面试题，详细分析了应聘C/C++程序员职位的常见考点。本书主要内容包括：面试流程及准备、英语面试、电话面试、C/C++语言基础、流程控制、输入/输出、预处理、内存管理、指针、面向对象基础、类、多态、继承、函数、模板与STL、数据结构、软件工程、数据库、操作系统、计算机网络、经典算法题、数据库操作题、思维拓展、文字解答实战题、程序改错实战题、编写程序实战题、智力测试、逻辑测试等。
本书附带1张光盘，内容为本书所有面试题的多媒体教学视频及其他学习资料。
本书中的面试题不但以实例代码的形式对答案进行了详细解析，还对问题的相关知识点进行了扩展说明。希望通过本书，读者可以成功应聘，并提升综合素质。本书适合应聘C/C++职位的程序员阅读，也适合其他程序员作为拓展读物进行阅读。
出版信息
ISBN：9787302228318
定价：49.8元
印次：1-1
装帧：平装
印刷日期：2010-8-20
目    录
第1篇  求职准备和技巧
第1章  了解面试——通过面试抓住机会 2
1.1  选择自己的应聘职位范围 2
1.1.1  针对初级C/C++工程师职位 2
1.1.2  针对中、高级C/C++开发工程师职位 3
1.1.3  C/C++的职位划分 4
1.2  制作专业化的应聘简历 5
1.2.1  简历的组成 5
1.2.2  一个简历的样本 6
1.4  掌握应聘的流程--步步为营 9
1.5  投递简历 10
1.5.1  招聘网站投递 10
1.5.2  E-mail投递 11
1.5.3  如何面对招聘会 12
1.6  面试+笔试+上机考试 13
1.6.1  面试 13
1.6.2  笔试 14
1.6.3  上机考试 15
1.7  面试后的终结邮件 16
第2章  英文面试（教学视频：60分钟） 18
2.1  英文面试过程和技巧 18
2.2  关于工作 19
面试题1  What salary would you expect for this job 19
面试题2  What new skills or ideas do you bring to the job that other candidates
aren't likely to offer 20
面试题3  What would you like to accomplish that you weren't able to accomplish
in your last position 20
面试题4  How have your career motivations changed over the past few years 20
面试题5  Why should I hire you 21
面试题6  What are your key skills 21
面试题7  What are your strengths 22
面试题8  How is your experience relevant to this job 22
面试题9  What skills do you think are most critical to this job 23
面试题10  What skills would you like to develop in this job 23
面试题11  If you had to stay in your current job, what would you spend more time on? Why 24
面试题12  How could you enrich your current job 24
2.3  关于个人 24
面试题13  Why do you want to work here 25
面试题14  Do you believe you're overqualified for this position 25
面试题15  Tell me about a time you didn't perform to your capabilities 26
面试题16  How do you manage stress in your daily work 26
面试题17  Considering your own resume,what are your weaknesses in relation to this job 26
面试题18  Describe your working relationship with your colleagues 27
面试题19  Describe your personality beneath the professional image 27
面试题20  How will you complement this department 27
2.4  关于发展 28
面试题21  Tell me what you learned from a recent book 28
面试题22  What's your most productive or ideal work setting 28
面试题23  Where do you want to be in five years 29
面试题24  What are your aspirations beyond this job 29
面试题25  How long do you think you'd continue to grow in this job 29
面试题26  What do you reasonably expect to earn within five years 30
第3章  电话面试（教学视频：13分钟） 31
3.1  电话面试简介 31
3.2  如何准备电话面试 32
3.3  电话面试常见问题 33
面试题27  为什么想进本公司 33
面试题28  你最喜欢这份工作的哪一点或者哪些方面 33
面试题29  请描述一下你自己的优缺点 34
面试题30  你对本公司的了解有多少 34
面试题31  对这份工作的期望与目标何在 34
面试题32  你为什么要离职 34
面试题33  选择这份工作的原因是什么 35
面试题34  你认为相关产业的发展会如何 35
面试题35  你希望的待遇为多少 35
面试题36  在工作中学习到了些什么 35
第2篇  C/C++基础知识
第4章  C/C++语言基础（教学视频：50分钟） 38
4.1  基本数据类型 38
面试题37  C++中有哪几种基本数据类型 38
面试题38  整型有哪几种形式？各种形式有什么区别 39
面试题39  C++中有哪些常量 40
面试题40  常量与变量有哪些区别 42
4.2  操作符 42
面试题41  操作符有哪些分类 43
面试题42  操作符优先级对运算结果有什么影响 43
面试题43  逻辑操作与其他操作的关系 45
面试题44  自增自减前操作与后操作的区别 46
面试题45  指针自增自减有什么不同 47
4.3  变量 47
面试题46  什么是左值和右值 48
面试题47  什么是变量 48
面试题48  变量有哪几种初始化方式 49
面试题49  变量默认初始化有什么规则 50
面试题50  什么是变量的声明和定义 50
面试题51  C++中有哪几种作用域 51
面试题52  局部变量与嵌套的作用域 52
面试题53  变量有哪几种存储类型 53
4.4  引用 53
面试题54  什么是引用 54
面试题55  如何使用const引用与非const引用 54
4.5  C与C++的联系 55
面试题56  C与C++有什么区别 55
4.6  编程规范 55
面试题57  什么是匈牙利命名法 55
面试题58  变量有什么命名规则 56
第5章  流程控制（教学视频：24分钟） 58
5.1  条件语句 58
面试题59  条件语句有哪几种形式 58
面试题60  条件语句如何嵌套？如何匹配else子句 59
5.2  循环语句 61
面试题61  for循环语句的计算顺序是什么 61
面试题62  while循环与do-while循环有什么区别 62
面试题63  典型循环语句 64
面试题64  break语句与continue语句有什么区别 64
5.3  switch语句 66
面试题65  switch语句的执行顺序是什么 66
面试题66  如何在switch语句内部定义变量 67
5.4  递归 68
面试题67  什么是递归 68
面试题68  汉诺塔问题 69
第6章  输入输出（教学视频：15分钟） 73
6.1  输入流与输出流 73
面试题69  什么是标准输入输出流 73
面试题70  如何重载输入输出 74
6.2  文件输入/输出 75
面试题71  如何读取一个文件 75
面试题72  文件输入输出有哪几种方式 76
6.3  异常与错误 77
面试题73  什么是异常 77
面试题74  如何抛出和捕捉异常 78
第7章  预处理以及内存管理（教学视频：28分钟） 80
7.1  宏定义 80
面试题75  宏定义与操作符的区别 80
面试题76  宏定义如何展开 81
7.2  include的使用 82
面试题77  include有哪几种使用方式？有什么区别 82
面试题78  包含头文件时如何查找头文件 83
7.3  内存分配 83
面试题79  C++中各数据类型的长度 84
面试题80  如何分配和释放存储空间 84
7.4  虚函数与纯虚函数 85
面试题81  虚函数与纯虚函数的区别 85
面试题82  如何使用纯虚函数 86
第8章  指针（教学视频：60分钟） 88
8.1  指针概述 88
面试题83  什么是指针 88
面试题84  如何初始化指针并对其赋值 89
面试题85  是否可以确定指针指向一个对象 90
面试题86  如何使用指针操作数组 90
面试题87  const对象的指针和const指针的区别 91
面试题88  数组指针与指针数组的区别 92
8.2  函数指针 93
面试题89  什么是函数指针？如何使用函数指针 93
面试题90  指针函数和函数指针的区别 95
8.3  this指针 96
面试题91  什么是this指针 96
面试题92  何时使用this指针 96
8.4  引用与值传递 97
面试题93  什么是值传递 97
面试题94  引用与值传递的区别 98
面试题95  指针和引用有什么区别 99
第9章  面向对象与类（教学视频：48分钟） 100
9.1  面向对象的基本知识 100
面试题96  面向对象与面向过程的区别 100
面试题97  面向对象的特征是什么 101
9.2  类 101
面试题98  类和结构有什么区别 102
面试题99  抽象类及它的用途 103
9.3  类成员 105
面试题100  成员变量有哪些访问方式 105
面试题101  成员变量有哪些访问控制方式 105
面试题102  如何访问静态成员 106
9.4  多态 108
面试题103  什么是多态？多态的作用 108
面试题104  在C++中如何实现多态 109
第10章  继承（教学视频：44分钟） 113
10.1  继承 113
面试题105  派生类与基类的转换 113
面试题106  什么是虚成员？有什么作用 115
面试题107  构造函数与析构函数的调用时机 116
10.2  访问控制 118
面试题108  有哪几种继承方式 118
面试题109  继承时访问级别如何变化 120
10.3  继承时的类作用域 121
面试题110  什么时候发生函数覆盖 121
面试题111  如何访问基类的成员 122
10.4  复制构造函数 123
面试题112  什么是深复制与浅复制 123
面试题113  什么是复制构造函数 124
10.5  类型转换构造函数 125
面试题114  类型转换有哪些分类 125
面试题115  什么是类型转换构造函数 126
第11章  函数（教学视频：49分钟） 128
11.1  函数的定义 128
面试题116  什么是函数 128
面试题117  形参与实参有什么区别 129
面试题118  C++支持参数个数不确定的函数吗 130
面试题119  什么是内联函数 131
11.2  函数参数的传递 132
面试题120  引用形参和非引用形参有什么区别 132
面试题121  使用引用形参有什么问题 133
面试题122  指针形参与引用形参有什么区别 134
11.3  类成员函数 135
面试题123  什么是类成员函数？有哪些特别的类成员函数 135
面试题124  什么是静态函数？如何使用静态函数 136
面试题125  静态函数能访问类的私有成员 137
面试题126  一个类可以访问另一个类的私有成员吗 137
11.4  函数重载 138
面试题127  函数重载与作用域 138
面试题128  如何进行函数重载的匹配 139
面试题129  函数重载时如何实现实参的类型转换 140
第12章  模板与STL（教学视频：46分钟） 141
12.1  模板 141
面试题130  什么是函数模板 141
面试题131  什么是类模板 143
12.2  容器 145
面试题132  什么是容器 145
面试题133  有哪几种顺序容器 147
面试题134  什么是迭代器的范围 149
面试题135  什么是关联容器 150
12.3  泛型编程 152
面试题136  什么是泛型编程 152
面试题137  C++如何实现泛型编程 152
第3篇  C/C++专业应用
第13章  数据结构（教学视频：100分钟） 156
13.1  表 156
面试题138  有哪几种表的实现方式 156
面试题139  链表有哪几种分类 157
13.2  队列 159
面试题140  什么是队列 159
13.3  栈 160
面试题141  什么是栈 160
面试题142  如何访问栈中的元素 162
13.4  树 162
面试题143  树的分类有哪些 162
面试题144  如何对树进行遍历 164
面试题145  如何对二叉树进行遍历 164
面试题146  如何计算二叉树的高度 166
面试题147  如何计算二叉树的结点数 167
13.5  图 167
面试题148  图的实现方式有哪几种 167
面试题149  如何进行图的搜索？搜索算法有哪几种方式 168
13.6  排序 169
面试题150  什么是冒泡排序 169
面试题151  鸡尾酒排序（改进的冒泡排序） 171
面试题152  什么是选择排序 172
面试题153  什么是直接插入排序 173
面试题154  什么是归并排序 174
面试题155  什么是快速排序 176
面试题156  什么是希尔（Shell）排序 177
面试题157  什么是堆排序 179
13.7  排序算法的总结 180
第14章  软件工程（教学视频：39分钟） 182
14.1  软件工程基础 182
面试题158  什么是软件工程 182
面试题159  什么是软件危机 183
14.2  软件的4大开发模型 184
面试题160  4大开发模型的区别 184
面试题161  如何选择开发模型 186
14.3  软件测试 187
面试题162  测试有哪些分类 187
面试题163  如何设计测试用例 188
14.4  UML语言概述 189
面试题164  什么是UML 189
面试题165  UML有哪些图 190
面试题166  UML中的动态图 191
面试题167  静态图有哪几种 192
14.5  设计模式 192
面试题168  什么是设计模式 192
面试题169  GOF的23个设计模式是如何进行分类的 193
第15章  数据库、操作系统、计算机网络（教学视频：65分钟） 195
15.1  数据库理论 195
面试题170  什么是关系数据库设计范式 195
面试题171  什么是数据库事务 196
面试题172  有哪几种数据模型 197
面试题173  什么是数据库管理系统 198
15.2  SQL语言 199
面试题174  什么是SQL语言 199
面试题175  使用SQL语句对表进行分页查询 199
15.3  操作系统概述 200
面试题176  什么是操作系统 200
面试题177  比较常用的操作系统有哪些 201
15.4  进程与线程 202
面试题178  操作系统的最小调度单位是什么 202
面试题179  资源的最小单位是什么 202
面试题180  进程与线程的区别 203
面试题181  如何实现多线程的同步 203
15.5  内存与作业调度 204
面试题182  内存管理方式有哪些 204
面试题183  作业调度算法有哪些 205
面试题184  作业一般有哪些状态 206
15.6  计算机网络结构 206
面试题185  OSI七层模型是什么 207
面试题186  OSI七层网络结构模型与TCP/IP四层结构模型的区别 207
面试题187  什么是TCP/IP协议 208
第16章  上机操作题（教学视频：25分钟） 210
16.1  经典算法问题 210
面试题188  斐波那契数列 210
面试题189  杨辉三角 212
面试题190  整数十进制转二进制 213
面试题191  素数问题 214
面试题192  字符串转换为整数 215
16.2  数据库操作题 216
面试题193  选课系统 216
第17章  思维拓展（教学视频：16分钟） 223
17.1  经典试题 223
面试题194  八皇后问题 223
面试题195  经典矩形 225
面试题196  汉诺塔 229
面试题197  新娘和新郞问题 230
面试题198  大数乘法 230
17.2  面试经验分享 232
17.2.1  面试经过 232
17.2.2  由面试想到的 234
17.3  群体面试 235
第4篇  C/C++面试题实战解析
第18章  文字解答实战题（教学视频：113分钟） 238
面试题199  介绍STL，详细说明STL如何实现vector（华为面试题） 238
面试题200  分析Visual C++程序出错的原因 239
面试题201  继承和多态有何区别 240
面试题202  指针和引用有何区别?传引用比传指针安全，为什么 240
面试题203  参数传递的方式与多态参数传递的实现（摩托罗拉面试题） 241
面试题204  怎样应用设计模式的理念 241
面试题205  介绍一下对设计模式的理解 241
面试题206  C++和C定义结构的区别是什么（摩托罗拉笔试题） 242
面试题207  关于构造函数和析构函数 242
面试题208  对拷贝构造函数的深拷贝、浅拷贝和临时对象的理解 242
面试题209  基类中有一个虚函数，子类还需要申明为virtual吗 242
面试题210  C++的类有什么优点 242
面试题211  如何实现多态?父类和子类的继承关系如何 243
面试题212  为什么要引入抽象基类和纯虚函数（摩托罗拉笔试题） 243
面试题213  介绍一下模板和容器，如何实现 243
面试题214  什么是MVC？简单举例说明其应用 243
面试题215  列举几种进程的同步机制（华为面试题） 243
面试题216  进程之间通信的途径 244
面试题217  进程死锁的原因 244
面试题218  死锁的4个必要条件 244
面试题219  死锁的处理 244
面试题220  操作系统中进程调度策略有哪几种 245
面试题221  类的静态成员和非静态成员有何区别 245
面试题222  纯虚函数如何定义？使用时应注意什么 245
面试题223  数组和链表的区别 245
面试题224  关于ISO七层模型的典型问题 245
面试题225  内存的分配方式及其区别 246
面试题226  struct和class的区别 246
面试题227  一个类所占内存空间的问题（Autodesk面试题改编） 246
面试题228  在8086汇编中，逻辑地址和物理地址如何转换（Intel面试题） 247
面试题229  比较C++中的4种类型转换方式 247
面试题230  面向对象的3个基本特征是什么 247
面试题231  重载（overload）和重写（overried）的区别 248
面试题232  多态的作用 248
面试题233  ADO与ADO .NET有何异同 248
面试题234  New delete与malloc free有何联系与区别 249
面试题235  #define DOUBLE(x) x+x，i = 5*DOUBLE(5)，求i 249
面试题236  哪几种情况只能用intialization list而不能用assignment 249
面试题237  C++是不是类型安全的 249
面试题238  main()函数执行前还会执行什么代码 249
面试题239  static有什么用途（至少说明两种） 250
面试题240  描述实时系统的基本特性 250
面试题241  全局变量和局部变量在内存中是否有区别?说明原因 250
面试题242  什么是平衡二叉树 250
面试题243  定义int **a[3][4]，则变量占用的内存空间为多少 250
面试题244  堆栈溢出一般是由什么原因导致的 251
面试题245  什么函数不能声明为虚函数 251
面试题246  冒泡排序算法的时间复杂度是什么 251
面试题247  写出float x与“零值”比较的if语句 251
面试题248  Internet采用哪种网络协议？介绍该协议的主要层次结构 252
面试题249  Internet物理地址和IP地址转换采用什么协议 252
面试题250  IP地址的编码分为哪两部分 252
面试题251  不能做switch()的参数类型是什么数据类型 252
面试题252  尽可能多地说出static和const关键字的作用 252
面试题253  什么是预编译 253
面试题254  写一个标准宏，使其输入两个参数，返回较小的一个 254
面试题255  嵌入式系统中如何用C语言编写死循环 254
面试题256  int (*s[10])(int)表示什么 254
面试题257  下列表达式哪些会被编译器禁止（华为面试题） 254
面试题258  换两个变量的值而不使用第3个变量，即a=3，b=5，交换之后a=5，b=3 255
面试题259  C和C++中的struct有什么不同 255
面试题260  如何让程序跳转到绝对地址0x100000去执行 255
面试题261  已知一个数组table，用一个宏定义求出数据的元素个数 256
面试题262  关于线程和进程的典型问题 256
面试题263  什么是引用？说明申明和使用引用要注意的问题 256
面试题264  将引用作为函数的参数有哪些特点 256
面试题265  什么时候需要使用常引用 257
面试题266  给出将“引用”作为函数返回值类型的格式及其优点和需遵守的规则 257
面试题267 “引用”与多态的关系 259
面试题268  如何判断一段程序是由C编译还是由C++编译的 259
面试题269  结构与联合有何区别 259
面试题270  下面代码的输出结果是什么 259
面试题271  一个32位的机器的指针是多少位（华为面试题） 260
面试题272  类成员函数的重载、覆盖和隐藏的区别 260
面试题273  const与#define相比有何优点 261
面试题274  h头文件中的ifndef/define/endif有何作用 261
面试题275  #include<file.h>与#include "file.h"有何区别 261
面试题276  C++中调用被C编译器编译后的函数为何要加extern "C" 261
面试题277  关联、聚合（Aggregation）及组合（omposition）有何区别 264
面试题278  多重继承如何消除向上继承的二义性（摩托罗拉笔试题） 265
第19章  程序改错实战题（教学视频：31分钟） 266
面试题279  找出下面代码中的所有错误 266
面试题280  找出下面代码中的所有错误 266
面试题281  找出下面代码的错误 267
面试题282  找出下面代码的错误 267
面试题283  找出下面代码的错误 268
面试题284  找出下面代码的错误 269
面试题285  找出下面代码的错误 270
面试题286  找出下面代码的错误 270
面试题287  找出下面代码的错误 271
面试题288  以下代码有什么问题 271
面试题289  下面程序执行后有什么错误或结果（华为面试题） 272
面试题290  改正下面代码的错误 272
面试题291  以下代码中的两个sizeof用法有问题吗（朗讯面试题） 273
面试题292  指出下面程序中的错误 273
面试题293  指出下面程序中的错误 273
面试题294  指出下面程序中的错误 274
面试题295  下面程序有什么错误 274
面试题296  下面程序有什么错误 274
面试题297  下面程序有什么错误 275
面试题298  以下代码有什么错误 275
面试题299  求一个数的平方，请找出代码错误（华为面试题） 276
面试题300  找出下面这段程序的错误（华为面试题） 276
第20章  编写程序实战题（教学视频：79分钟） 277
面试题301  写出删除一个单项链表某一个结点的算法 277
面试题302  用1分钱、2分钱、5分钱组成1元钱的方式 278
面试题303  奶牛生子的问题（腾讯面试题） 278
面试题304  写一个函数将链表逆序（Intel面试题） 279
面试题305  将两个链表合并成一个链表依然有序 280
面试题306  用递归方法将两个链表合并成一个链表依然有序（Autodesk面试题） 281
面试题307  给出bool、int、float指针变量与“零值”比较的if 语句 281
面试题308  计算Windows NT下32位C++程序的sizeof值 282
面试题309  写一个“标准”宏MIN，输入两个参数，返回较小的 283
面试题310  标准头文件的结构问题（微软面试题） 283
面试题311  编写一个函数，把一个char组成的字符串循环右移n位 284
面试题312  以适当的数据结构组织WAV文件头并解析文件信息 285
面试题313  编写类String的构造函数、析构函数和赋值函数 286
面试题314  写一个C函数，判断不同模式处理器的返回值 287
面试题315  写一个函数返回1+2+3+…+n的值 288
面试题316  输入一个n，在屏幕上打印出N×N的矩阵（华为面试题） 288
面试题317  找出两个数中最大的一个（华为面试题） 290
面试题318  打印出当前源文件的文件名及当前行号 290
面试题319  main()主函数执行完毕后是否会再执行一段代码 290
面试题320  一个关于指针的问题 291
面试题321  按要求输出时间 292
面试题322  一个关于字符串函数的问题 293
面试题323  尝试写出类的成员函数的实现 294
面试题324  简述数组与指针的区别 295
面试题325  关于C/C++编译器的问题 295
面试题326  一个关于排序和文件输出的问题（华为面试题） 296
面试题327  找出一个整数数组中的第二大数（微软面试题） 297
面试题328  判断一个单链表有环 297
面试题329  求函数返回值 298
面试题330  一个关于如何处理溢出的问题 298
面试题331  如何用C语言将一个字符转换成整型 299
第5篇  智力测试与逻辑测试
第21章  智力测试（教学视频：54分钟） 302
21.1  数学智力测试 302
面试题332  现代的斯芬克斯（美国AT&T公司2000年面试题） 302
面试题333  找出次品乒乓球 302
面试题334  有几顶黑帽子 303
面试题335  如何分配蛋糕 303
面试题336  如何切会最多 303
面试题337  怎样烙饼 304
面试题338  如何最快送到情报 304
面试题339  他们是怎么比赛的 304
面试题340  如何称大米 305
面试题341  100美元哪里去了（欧洲某著名IT公司2005年面试题） 305
面试题342  击鼠标比赛（欧洲某著名IT公司2005年面试题） 305
面试题343  女儿哪里错了（印度某著名IT公司2003年面试题） 306
面试题344  原来是什么硬币（日本某著名公司1998年面试题） 306
面试题345  怎样会有满满的一瓶（欧洲某著名IT公司2006年面试题） 306
21.2  推理智力测试 307
面试题346  蜗牛出井（欧洲某著名IT公司2003年面试题） 307
面试题347  他们如何过河 307
面试题348  为什么上当（中国某大型IT公司2008年面试题） 307
面试题349  判断几率 308
面试题350  诚实的人（微软1999年应届生面试题） 308
面试题351  到达的顺序（中国某大型IT公司2009年面试题） 308
面试题352  下列数列中少了一个什么数（中国某大型IT公司2009年面试题） 308
21.3  综合智力测试 309
面试题353  飞机票如何分配 309
面试题354  聪明的农民 309
面试题355  求最短的时间（中国某大型IT公司2007年面试题） 309
面试题356  不能称到的最轻重量（中国某大型IT公司2007年面试题） 310
面试题357  小机灵的办法（中国某大型IT公司2006年面试题） 310
面试题358  池塘取水（美国某大型IT公司2003年面试题） 310
面试题359  1=5，2=15，3=215，4=2145。那么5=?（日本某大型IT公司2006年
面试题） 311
面试题360  如何打开房间 311
面试题361  聪明人怎么发财 311
面试题362  请问有几条生病的狗 312
第22章  逻辑测试（教学视频：41分钟） 313
22.1  文字逻辑测试 313
面试题363  H是什么人种（北美电信2006年应届生面试题） 313
面试题364  推断血液、脂肪蛋白和胆固醇的关系（中国某教育集团2008年面试题） 314
面试题365  学籍、学生会干部和奖学金（中国某大型IT公司2003年面试题） 314
面试题366  数学院的规定（中国某著名研究院2007年面试题） 315
面试题367  老师的结论（中国某著名公司2007年面试题） 315
面试题368  是哪一张牌 316
22.2  图形逻辑测试 317
面试题369  选择正确的图形（欧洲某著名IT公司2003年面试题） 317
面试题370  选择正确的图形（欧洲某著名IT公司2004年面试题） 318
面试题371  选择正确的图形（雅虎中国公司2005年面试题） 318
面试题372  选择正确的图形（中国某大型IT公司2007年面试题） 319
面试题373  选择正确的图形（中国某大型IT公司2002年面试题） 319
面试题374  选择正确的图形（亚洲某著名IT公司2006年面试题） 320
22.3  规律题测试 321
面试题375  规律题1 321
面试题376  规律题2 321
面试题377  规律题3 322
面试题378  规律题4 322
面试题379  规律题5 322
面试题380  规律题6 323
面试题381  规律题7 323
面试题382  规律题8 323
创作背景
为什么要写这本书？ 
C/C++是最能体现程序员能力的语言之一，其功能强大，在IT行业的各个方面都有大量的应用。一名优秀的C/C++程序员无疑是众多企业所渴求的。本书写作的目的就是为C/C++程序员的求职提供一些参考，让他们能够正确地面对自己的求职过程，在面试的过程中能展现出自己最好的一面，提高面试成功的几率。本书将从职业规划、基础知识、面试准备、智力测试等多方面阐述了如何应聘C/C++IT开发职位。
近几年软件开发类职位竞争异常激烈，这也带动了这个行业的蓬勃发展。软件人才越来越多，很多求职者都不是一次或两次面试就可以成功地找到自己的职业发展归宿。求职者应该把每次面试进行一个总结，找到不足之处。
本书通过380余个有针对性的面试题，从职业规划、C/C++基础知识、C/C++专业应用、智力与情商测试、逻辑测试等多方面系统、全面地总结了IT企业招聘C/C++程序员的常见考点。本书内容很多取材于各大IT公司的面试题，可以帮助读者准确把握IT企业面试的特点和脉络，在激烈的竞争中找到自己心仪的工作。