《Java程序员面试指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:张昆等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121091865
  • 页数:463 页
图书介绍:本书涵盖了Java面试中会经常出现的问题,并指导读者快速、巧妙地解决问题。全书共分18章,内容涵盖了面试前必须要知道的几件事、Java程序基础、Java语言中的符号、数据类型及类型转换、数组与字符串、流程控制、异常处理及内存管理、输入/输出流、面向对象、Java的多线程、包和访问控制、集合、数据库、J2EE技术、XML/UML技术、Servlet/JSP技术以及常见的上机编程题和思维训练等有趣的试题。

第一篇 求职你准备好了吗 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