第一篇 求职你准备好了吗 18
第1章 面试前必须知道的几件事 18
1.1 做好自己的职业规划 18
1.1.1 走好职业生涯第一步 18
1.1.2 确定符合自己的人生目标 19
1.1.3 紧跟社会发展的步伐 19
1.1.4 为职业生涯画上圆满的句号 20
1.2 面试的流程 20
1.2.1 填写求职申请表 20
1.2.2 笔试 20
1.2.3 面试 21
1.2.4 压力测试 23
1.2.5 外语能力测试 24
1.2.6 综合测试 24
1.3 一个漂亮的简历 25
1.3.1 中文简历的制作 25
1.3.2 英文简历的制作 26
1.3.3 如何用E-mail投递简历 27
1.3.4 简历浏览量低的原因 28
1.3.5 华丽的辞藻未必是美的 29
1.3.6 简历被筛选的秘密 30
1.4 着装要注意的问题 30
1.4.1 面试着装(男生篇) 30
1.4.2 面试着装(女生篇) 31
1.5 面试官经常问到的几个问题 31
问题1 谈谈你的缺点 31
问题2 你为什么选择我们公司 32
问题3 对这项工作,你有哪些可预见的困难 32
问题4 如果我录用你,你将怎样开展工作 32
问题5 与上级意见不一时,你将怎么办 33
问题6 你能为我们做什么 33
问题7 你是应届毕业生,缺乏经验,如何能胜任这项工作 33
问题8 你希望与什么样的上级共事 34
问题9 你在前一家公司离职的原因是什么 34
问题10 你以前的上级对你的评价如何 35
问题11 如果你的工作出现失误,给本公司造成经济损失,你认为该怎么办 35
问题12 怎样理解团队?请举例并说明启示 36
1.6 大公司VS小公司 36
1.6.1 大公司VS小公司的区别 36
1.6.2 大公司的利和弊 37
1.6.3 小公司的利和弊 37
第二篇 Java程序设计 40
第2章 Java程序基础 40
2.1 环境搭建与开发 40
面试题1 如何在Linux环境下安装JDK 44
面试题2 如何编译运行应用程序 46
面试题3 Java开发工具 48
面试题4 关于Java命令提示符的问答题 49
2.2 Java语言概述 52
面试题5 关于Java命名规范的代码分析题 53
面试题6 关于Java代码安全的选择题 54
面试题7 关于Java语言的特性的问答题 55
面试题8 关于Java的类和对象的选择题 56
2.3 变量与常量 57
面试题9 变量及其范围 57
面试题10 根据代码找出错误原因 58
面试题11 修改错误代码 59
面试题12 关于静态方法的代码分析题 59
面试题13 关于在类中定义方法的选择题 60
面试题14 关于main()的选择题 60
面试题15 关于静态变量的选择题 60
面试题16 关于实例成员和类成员区别 61
面试题17 找出错误的代码 63
第3章 Java语言符号 65
3.1 标识符 65
面试题1 选择合法的标识符 65
面试题2 找出错误的代码 66
3.2 关键字 67
面试题3 Java中的关键字1 67
面试题4 Java中的关键字2 68
面试题5 关键字语法含义 68
3.3 分隔符 69
面试题6 Java中的注释1 70
面试题7 Java中的注释2 70
3.4 算数运算符 71
面试题8 求表达式的结果 74
面试题9 编程计算103的值 74
3.5 关系运算符 75
面试题10 确定x的取值范围 75
面试题11 equals()和== 76
面试题12 分析程序写出结果 77
3.6 逻辑运算符 77
面试题13 根据程序选择正确的运行结果 80
3.7 位运算符 80
面试题14 指出错误代码的位置 84
面试题15 选出相等的值 85
面试题16 根据代码,推测结果 85
3.8 条件运算符 86
面试题17 关于条件运算符的操作规则 86
3.9 赋值运算符 87
面试题18 选出正确的赋值语句 88
3.10 优先级和结合性 88
面试题19 运算符的结合性测试 89
面试题20 写出程序运行结果 90
第4章 数据类型及类型转换 91
4.1 整型数据 91
面试题1 int和Integer有什么区别 92
面试题2 正确的赋值方式 93
面试题3 选择合法的声明 93
面试题4 正确表示八进制值 94
面试题5 Java的原始数据类型 94
面试题6 int的取值范围 95
面试题7 根据代码选择正确的答案 95
面试题8 正确表示10的十六进制值 96
面试题9 判断表达式的正误 96
4.2 实型数据 96
面试题10 选出对float变量的合法声明 98
面试题11 正确的赋值 98
面试题12 合法的声明 99
4.3 字符型数据 99
面试题13 char的取值范围 100
面试题14 哪些表达式的结果是正确的 101
面试题15 在char中是否能存储汉字 101
4.4 布尔型数据 102
面试题16 对boolean型变量的声明哪个是正确的 103
面试题17 选出合法的表达式 103
4.5 数据类型转换 104
面试题18 选出合法的类型转换 107
面试题19 基本数据类型与String之间的转换 108
4.6 值传递 108
面试题20 选择正确的结果 108
面试题21 final的参数传递 111
第5章 数组与字符串 113
5.1 一维数组 113
面试题1 选择合法的数组声明 115
面试题2 对数组进行初始化 116
面试题3 默认初始化 116
面试题4 根据代码选择正确的答案 117
面试题5 根据代码选出对结果正确描述的选项 118
面试题6 编程题(求最大数) 118
5.2 二维数组 119
面试题7 判断程序的运行结果 122
面试题8 将正确的选项插入指定的位置 123
面试题9 选择二维数组的合法声明 123
面试题10 获得数组的大小 124
面试题11 编程题(根据要求设计程序) 124
5.3 类String字符串 127
面试题12 分析代码的输出结果 130
面试题13 String的数据类型 131
面试题14 判断程序的返回结果 131
面试题15 判断创建的对象个数 132
5.4 类StringBuffer字符串 133
面试题16 String和StringBuffer的区别 135
面试题17 正确的构造方法 135
面试题18 setLength方法的作用 136
第6章 流程控制 137
6.1 if控制语句 137
面试题1 分析代码的运行结果 140
面试题2 写出if语句的运行结果 140
面试题3 分析程序代码是否有错 141
面试题4 编程题 142
6.2 switch控制语句 142
面试题5 分析代码的运行结果 144
面试题6 根据已知结果选择未知条件 145
面试题7 switch语句的使用范围 146
面试题8 找出代码中的错误并改正 146
面试题9 编程题 147
6.3 循环控制语句 147
面试题10 选出错误代码的位置(while) 151
面试题11 分析代码选择正确的答案(for) 152
面试题12 写出程序的运行结果(do-while) 153
面试题13 判断do...while语句的输出结果 153
面试题14 编程题 154
6.4 跳转控制语句 156
6.4.1 break跳转语句 156
6.4.2 continue跳转语句 157
6.4.3 return返回语句 159
面试题15 分析程序的运行结果 160
面试题16 关于break和continue的描述哪些是正确的 161
面试题17 可以返回最大值的方法 161
面试题18 编程题 162
第7章 异常处理及内存管理 163
7.1 异常的分类 163
面试题1 运行时异常与一般异常的异同 165
面试题2 所有异常的基础类 166
7.2 异常的处理方式之一:try/catch 166
面试题3 分析代码的运行结果 168
面试题4 对try-catch-finally的正确理解 169
面试题5 分析代码的运行结果 169
7.3 异常的处理方式之二:throws 170
面试题6 正确的异常声明方式 172
面试题7 使用throws处理异常 172
7.4 异常的处理方式之三:throw 173
面试题8 分析程序的运行结果 175
面试题9 异常处理 176
7.5 内存的管理 178
面试题10 垃圾回收 178
面试题11 对象在什么地方变得适用于垃圾收集 180
面试题12 对垃圾回收的正确描述 181
面试题13 关于finalize()的正确描述 182
面试题14 垃圾收集 184
面试题15 Sun公司程序员考试中的常见题型 184
第8章 输入/输出流 186
8.1 File类 186
8.1.1 目录和文件管理 186
8.1.2 随机存取文件RandomAccessFile类 188
面试题1 FileInputStream类构造方法的参数 192
面试题2 建立文件“file.txt” 192
8.2 Stream类 192
8.2.1 字节流的处理方式 193
8.2.2 Reader类和Writer类 196
8.2.3 FileReader和FileWriter类 199
8.2.4 BufferedReader和BufferedWriter类 200
面试题3 InputStream类中的方法 202
面试题4 什么是System.out 202
面试题5 分析代码的编译运行结果 203
面试题6 将字符写入文件末尾 203
面试题7 补全程序 204
面试题8 创建一个InputStreamReader的实例 205
面试题9 编程题 205
第9章 面向对象 207
9.1 抽象 207
9.2 继承 208
面试题1 分析程序的输出结果 210
面试题2 根据给定代码判断输出结果 211
面试题3 对程序的正确分析 212
9.3 封装 213
9.3.1 成员变量的封装 213
9.3.2 成员函数的封装 215
面试题4 类的描述 216
面试题5 对封装的理解 217
9.4 多态 217
9.4.1 方法重载 217
9.4.2 方法重写 218
面试题6 分析所执行的代码 219
面试题7 分析代码的运行结果 220
面试题8 实现多态的机制 221
9.5 内部类 222
面试题9 实例分析 222
9.5.1 在类中创建一个内部类的实例 223
9.5.2 在对象中创建一个内部类的实例 224
9.5.3 关于final声明的一个实例 225
面试题10 分析代码的输出结果 227
面试题11 关于内部类的问答题 228
面试题12 找出代码中的错误 228
9.6 抽象类 228
面试题13 关于抽象方法的问题 231
面试题14 编程题,仔细看清代码的需求 231
9.7 接口 233
面试题15 抽象类和接口的区别 235
面试题16 根据代码找出错误 235
9.8 方法的重写和重载 236
9.8.1 方法重写的实例 236
9.8.2 方法重载的实例 237
面试题17 重写和重载的区别 239
面试题18 哪些方法可以加入类Man中 239
9.9 构造函数 240
9.9.1 合法的构造函数 240
面试题19 选择合法的构造函数 241
9.9.2 构造函数重载 241
面试题20 写出程序的运行结果 242
面试题21 关于构造函数的选择题 244
面试题22 指出代码的错误之处 244
面试题23 针对this()方法的找错题 245
第10章 Java的多线程 246
10.1 认识线程 246
10.1.1 线程的5种状态 246
10.1.2 关于单线程的一个实例 247
面试题1 关于线程基础的简答题 248
面试题2 对线程的正确叙述 248
10.2 多线程的创建方式 249
10.2.1 继承Thread类创建线程的方式 249
10.2.2 实现Runnable接口创建线程的方式 250
面试题3 简要回答创建线程的两种方式及区别 253
面试题4 对Threads的正确描述 253
10.3 线程和进程 253
10.4 线程的同步 254
10.4.1 多线程同步代码块 255
10.4.2 多线程同步方法 256
面试题5 线程同步的方法 257
面试题6 分析代码片段 258
面试题7 找出代码中的错误 259
面试题8 分析程序的输出结果 259
面试题9 指向不同类实例的多线程 260
面试题10 编程题(Thread和Runnable) 262
10.5 线程的操作 263
面试题11 设置线程名称 263
面试题12 关于isAlive()的推测题 264
面试题13 关于resume()的选择题 265
面试题14 关于sleep()和write()的简答题 266
面试题15 关于yield()方法的选择题 266
面试题16 编程题 266
第11章 包和访问控制 270
11.1 包的创建及使用 270
11.1.1 包的创建 270
11.1.2 包的使用 271
面试题1 选择正确的代码片段 273
面试题2 选择正确的Java语法 274
面试题3 了解native声明 274
面试题4 选择正确的答案 275
11.2 Java常用类库 275
11.2.1 Java JDK中的常用软件包 275
11.2.2 容易混淆的软件包 277
面试题5 Object中hasCode()的返回类型值 278
面试题6 Object类中的clone()方法 280
面试题7 hasCode()与equals() 280
面试题8 Math.abs()方法的使用 280
面试题9 Math.ceil(-6.8)的值等于多少 282
面试题10 谁的值会等于12 282
11.3 访问控制 283
面试题11 不能被外部类所访问的修饰符 285
面试题12 只能被同包中的类访问的修饰符 286
面试题13 正确的声明 286
面试题14 类中的调用方法 287
第12章 类集框架 288
12.1 类集接口 288
12.1.1 Collection接口的使用方法 288
12.1.2 List接口的使用方法 289
12.1.3 Set接口的使用方法 290
12.1.4 SortedSet接口的使用方法 290
12.1.5 Iterator接口的使用方法 291
面试题1 Collection和Collections的区别 291
面试题2 用什么方法来区分Set里的元素是否重复 292
面试题3 Collection接口的子接口 292
面试题4 集合框架中的核心接口 292
面试题5 可以按序存放元素的集合接口 293
面试题6 根据程序代码选择正确的选项 293
12.2 接口实现类的使用 294
12.2.1 List接口的实现类 294
12.2.2 Set接口的实现类 299
12.2.3 Map映射接口 301
面试题7 HashMap和Hashtable的区别 302
面试题8 heap和stack的区别 302
面试题9 常用的类集合 303
面试题10 关于List、Map、Set的问答题 303
面试题11 关于ArrayList、Vector、LinkedList的问答题 303
面试题12 覆盖方法 303
面试题13 分析代码的输出结果 304
面试题14 写出程序的输出结果 305
面试题15 接口java.util.Map.Entry中定义的原型是什么 305
面试题16 如何实现hashCode()方法 306
面试题17 实现Map接口的对象 307
第13章 数据库 308
13.1 SQL 308
13.1.1 SQL的基本数据定义语句 308
13.1.2 SQL的基本数据操作语句 312
13.1.3 SQL中的统计函数 315
面试题1 如何使用LIKE运算符 315
面试题2 如何使用ORDER BY子句 316
面试题3 对约束的理解 316
面试题4 关于SQL的面试题(中兴面试题) 316
13.2 JDBC数据库编程 317
13.2.1 创建数据源 317
13.2.2 加载驱动程序 320
13.2.3 连接数据源 321
13.2.4 对数据库的操作 321
面试题5 Connection类中的事物处理方法有哪些 325
面试题6 JDBC连接数据库的步骤 325
面试题7 用JDBC写一段程序 325
13.3 Oracle数据库 327
面试题8 判断SELECT语句的查询结果 327
面试题9 处理分组的子句是什么 327
面试题10 可以返回非空表达式的函数是什么 327
面试题11 如何理解索引 328
面试题12 PL/SQL的内置数据类型是什么 328
面试题13 什么是视图 328
面试题14 冷备份和热备份的不同点及其各自的优点 329
面试题15 如何利用备份恢复数据库 329
13.4 SQL Server数据库 329
面试题16 COUNT(*)函数的作用是什么 329
面试题17 请选择正确的答案 330
面试题18 分析SQL语句的结果 330
面试题19 选择正确的SQL语句 330
面试题20 TRUNCATE TABLE命令的作用是什么 331
面试题21 如何理解BETWEEN…AND 331
面试题22 选择正确的SELECT语句 331
面试题23 SQL Sever的系统数据库是什么 332
面试题24 删除数据表 332
面试题25 如何声明游标 332
第三篇 Java Web开发 334
第14章 J2EE(Java EE)和EJB 3.0技术开发 334
14.1 J2EE的核心API与组件 334
面试题1 什么是J2EE 336
面试题2 关于J2EE的名词解释 337
14.2 EJB组件 337
14.2.1 搭建EJB 3.0开发环境 337
14.2.2 Session Bean(会话Bean) 341
14.2.3 Message-Driven Bean(消息驱动Bean) 347
14.2.4 Entity Bean(开发实体Bean) 350
面试题3 什么是EJB 351
面试题4 EJB规定禁止的操作有哪些 352
面试题5 EJB与Java Bean有什么区别 352
面试题6 EJB的类型有哪几种 353
面试题7 Session Bean的分类 353
面试题8 开发无状态会话Bean 353
面试题9 在Entity Bean中如何与表进行映射 354
面试题10 Entity Bean中哪些方法实现了数据同步 355
面试题11 Entity Bean的分类 356
面试题12 正确理解Message-Driven Bean 356
面试题13 Bean的生命周期范围 356
14.3 常见的J2EE应用服务器 357
面试题14 如何在WebLogic上部署EJB 357
面试题15 如何给WebLogic的内存指定大小 357
面试题16 J2EE的应用服务器有哪些 358
面试题17 persistent与non-persistent的区别 358
面试题18 在WebLogic中发布EJB需要哪些配置文件 358
面试题19 JBoss服务器监听服务默认端口是什么 359
面试题20 创建一个EnterpriseApplication的同时还会创建哪个组件 359
面试题21 选出错误的操作 359
面试题22 创建JDBC 360
第15章 XML、UML和MVC 361
15.1 XML 361
15.1.1 XML的基础知识 361
15.1.2 XML解析模型 363
面试题1 XML有哪几种解析技术 369
面试题2 如何使用XML技术 369
面试题3 选择正确的描述 370
面试题4 在DTD中哪个元素属性可加不可加 370
面试题5 XML的组成包括几部分 371
面试题6 关于对于内部DTD文档的叙述,哪个选项是正确的 371
面试题7 在DTD文档中CONTENT的规范 372
面试题8 什么是对象模型(DOM) 372
15.2 UML 373
面试题9 选择正确的UML类图 376
面试题10 活动图强调什么 377
面试题11 跨越多个用例的单个对象的行为类型图 378
面试题12 什么是用例图 378
面试题13 用例之间的关系 379
面试题14 表示系统行为的图有哪些 379
面试题15 用例图由哪几部分组成 380
面试题16 什么是模型 380
15.3 MVC 380
面试题17 理解MVC设计模式 381
面试题18 MVC各个部分的实现技术及实现方法 381
第16章 JSP/Servlet技术 382
16.1 JSP的核心技术 382
16.1.1 JSP的基本语法 382
16.1.2 JSP指令 383
16.1.3 JSP动作 384
16.1.4 JSP内置对象 386
面试题1 在浏览器中如何访问JSP文件 390
面试题2 分析代码的输出结果 390
面试题3 JSP页面跳转的方式 391
面试题4 JSP位于MVC模式的哪一层 391
面试题5 标签库的指令 391
面试题6 <jsp:useBean>的属性 392
面试题7 Page指令的属性 392
面试题8 JSP的内置对象及其作用 392
面试题9 JSP注释标签的语法格式 393
面试题10 Page指令中属性的作用 393
面试题11 Cookie的工作流程 394
面试题12 静态页面和动态页面中INCLUDE的作用是否相同 394
面试题13 JSP的动作指令 395
16.2 Servlet的核心技术 395
16.2.1 Servlet接口 395
16.2.2 Servlet接口实现类 398
16.2.3 HttpServlet对象 399
16.2.4 Servlet的生命周期 399
16.2.5 Servlet之间的跳转 400
面试题14 Servlet的生命周期 401
面试题15 Servlet的class文件放在哪个目录下 401
面试题16 ServletContext对象的产生 402
面试题17 Servlet配置中的标记 402
面试题18 Servlet位于MVC模式的哪一层 403
面试题19 在Servlet生命周期中,哪个方法只能调用一次 403
面试题20 标识会话的方法 403
面试题21 可以读取ServletContext对象属性的方法是什么 404
面试题22 部署时,<Servlet>标签中可以包含哪些标签 404
面试题23 Servlet中的状态码 405
面试题24 在HttpServlet中,处理请求的方法有哪些 406
第四篇 算法 408
第17章 常见的Java上机面试题 408
17.1 Java基础编程试题 408
面试题1 怎样截取字符串 408
面试题2 怎样实现元素互换 409
面试题3 怎样实现元素排序 411
面试题4 怎样实现Singleton模式编程 413
面试题5 哥德巴赫猜想的近似证明 414
面试题6 怎样实现金额转换 416
面试题7 爱因斯坦的阶梯问题 420
面试题8 如何判断回文数字 421
17.2 数据库编程试题 423
面试题9 根据表结构写出相应的SQL语句 423
面试题10 编写MySQL数据库的JDBC连接 423
17.3 Java高级编程试题 424
面试题11 怎样用SAX解析XML 425
面试题12 利用Servelt的doPost方法实现表单内容的读取 427
面试题13 编程实现Servlet的记录访问功能 428
第18章 思维与智力测试 431
18.1 思维拓展测试 431
面试题1 掷骰子游戏 431
面试题2 求出最大公约数 433
面试题3 阶乘阶梯式的函数 434
面试题4 背包问题 436
面试题5 求最大的连续组合值(华为校园招聘笔试题) 438
面试题6 洗扑克牌(乱数排列) 440
面试题7 巧妙过桥 441
面试题8 字符移动(金山笔试题) 443
面试题9 八皇后问题 444
18.2 智力(IQ)测试 447
面试题10 找出质量不相同的球 448
面试题11 有多少人及格 449
面试题12 他说的是真话吗 450
面试题13 哪个开关控制哪盏灯 450
面试题14 谁的存活概率最大 451
面试题15 猴子分桃 451
面试题16 三个女儿的年龄分别是多少 452
面试题17 哪一种是“王牌”花色 452
面试题18 巧猜扑克牌 453
面试题19 谁得第二名 454
面试题20 计时烧绳 454
面试题21 海盗分金问题 455
面试题22 聪明的法官 456
附录A 个人简历英文词汇速查 457