第1篇 求职准备 2
第1章 应聘软件开发职位前必须知道的那些事 2
1.1 认识职业规划 2
1.1.1 职业规划的意义 2
1.1.2 软件人才的职业规划 3
1.2 应聘过程 4
1.2.1 掌握基本的应聘流程 4
1.2.2 面试资料的准备 5
1.2.3 简历的写法及应注意的问题 5
1.2.4 求职信的写法及应注意的问题 8
1.2.5 面试的准备 9
1.3 面试的方式 10
1.3.1 笔试 10
1.3.2 电话面试 11
1.3.3 面试 12
1.4 小结 13
第2篇 Java基础知识 16
第2章J ava程序基础(教学视频:43分钟) 16
2.1 开发和运行环境 16
面试题001 JDK和JRE的区别是什么?它们各自有什么作用 16
面试题002 如何利用JDK编译和运行应用程序 17
面试题003 环境变量CLASSPATH的作用是什么 19
面试题004 如何为Java程序动态的指定类搜索路径 20
2.2 Java语言概述 20
面试题005 Java与C++程序在编译和运行上有什么区别 21
面试题006 什么是JVM及其工作原理 21
面试题007 Java程序为什么无须delete语句进行内存回收 23
2.3 生成、部署和配置 24
面试题008 如何利用命名提示符把Java程序打包成jar文件 24
面试题009 关于Java Web项目的生成、部署和配置问题 26
面试题010 EJB项目的生成和部署问题 27
2.4 小结 28
第3章 Java语法基础(教学视频:103分钟) 29
3.1 基础类型和语法 29
面试题011 变量及其作用范围 29
面试题012 Java的变量分哪两种大的数据类型 30
面试题013 Java包含哪些基本数据类型及其包装类 32
面试题014 如何理解Java中的装箱和拆箱 33
面试题015 Java的引用和C++的指针有什么区别 34
面试题016 请简述Java中的main()方法 35
面试题017 Java中equal和==的区别是什么 36
面试题018 Java提供了哪几种循环结构?它们各自的特点是什么 38
面试题019 Java中的三元运算符是什么 39
面试题020 Java中的注释有哪些 40
3.2 对象和类型 41
面试题021 类和对象有什么区别 41
面试题022 Java中如何使用继承来重用代码 43
面试题023 简述Java中的多态 44
面试题024 请介绍Java中静态成员的特点 46
面试题025 简述Java派生类中的构造方法如何为父类传递参数 47
面试题026 简述接口和抽象类的区别 48
面试题027 简述一下内部类的实质是什么 50
3.3 包和访问控制 52
面试题028 包应该如何被创建及使用 53
面试题029 说明private、protected、public和default的区别 54
3.4 小结 55
第4章 数据类型及类型转换(教学视频:63分钟) 56
4.1 整型数据 56
面试题030 int和Integer有什么区别 56
面试题031 int的取值范围 57
面试题032 如何用八进制和十六进制来表示整型数据 58
面试题033 long的取值范围 59
4.2 实型数据 59
面试题034 float和double的取值范围各是多少 59
面试题035 实型与整型的相互转换 60
面试题036 如何用BigDecimal类进行精确运算 61
4.3 布尔型数据 63
面试题037 Java可以用非0来代表true吗 63
面试题038 boolean和它的包装类的区别在哪里 64
4.4 字符型数据 65
面试题039 char的取值范围 65
面试题040 char能否存储汉字 66
面试题041 如何使用转义字符 67
4.5 String型数据 68
面试题042 字符串字面量是否自动生成一个String对象 68
面试题043 字符串对象池的作用是什么 69
面试题044 StringBuffer和StringBuilder存在的作用是什么 71
面试题045 如何输出反转过后的字符串 72
面试题046 如何使用指定的字符集创造String对象 73
4.6 小结 74
第5章 数组和集合的使用(教学视频:54分钟) 75
5.1 Java的数组 75
面试题047 如何理解数组在Java中作为一个类 75
面试题048 new Object[5]语句是否创建了5个对象 77
面试题049 如何拷贝数组的数据 78
面试题050 二维数组的长度是否固定 79
5.2 集合框架 80
面试题051 什么是集合 80
面试题052 迭代器是什么 81
面试题053 比较器是什么 82
面试题054 Vector与ArrayList的区别 85
面试题055 HashMap和HashTable的区别 86
面试题056 集合使用泛型带来了什么好处 87
面试题057 如何把集合对象里的元素进行排序 88
面试题058 符合什么条件的数据集合可以使用foreach循环 91
5.3 小结 93
第6章 Java图形用户界面(教学视频:42分钟) 94
6.1 图形用户界面基础 94
面试题059 JFrame的作用是什么?它应该如何使用 94
面试题060 如何创建一个按钮 96
面试题061 如何使用文本输入组件 97
面试题062 如何捕获事件 98
6.2 布局控制 100
面试题063 如何使用BorderLayout布局 100
面试题064 如何使用FlowLayout布局 102
面试题065 如何使用GridLayout布局 103
6.3 事件模型 105
面试题066 Swing事件模型的通用规则是什么 105
面试题067 监听器的适配器的作用是什么 106
6.4 Swing编程应用 108
面试题068 用JButton开发扫雷游戏 108
面试题069 用JTextField和JButton开发计算器程序 112
面试题070 用JTextArea开发俄罗斯方块游戏 115
6.5 小结 122
第3篇 Java高级特性 124
第7章 输入输出流(教学视频:37分钟) 124
7.1 File类 124
面试题071 目录和文件操作 124
面试题072 写一个复制文件的程序 125
面试题073 如何使用随机存取文件RandomAccessFile类 127
7.2 Stream类 128
面试题074 字节流的处理方式 128
面试题075 字符流的处理方式 129
7.3 序列化 130
面试题076 什么是序列化 130
面试题077 如何序列化和反序列化一个Java对象 131
7.4 小结 133
第8章 多线程编程(教学视频:37分钟) 134
8.1 多线程编程的基本概念 134
面试题078 什么是多线程 134
面试题079 解释进程和线程的区别 135
8.2 Java中的多线程编程 136
面试题080 如何让一个类成为线程类 136
面试题081 解释Runnable接口与Thread类的区别 137
面试题082 如何启动一个线程 138
面试题083 如何使用sychronized来让线程同步 139
面试题084 编写一个生产者与消费者模型的多线程例子程序 141
面试题085 如何使用Java的线程池 143
8.3 小结 145
第9章 Java的反射机制(教学视频:30分钟) 146
9.1 反射基础 146
面试题086 反射的原理是什么 146
面试题087 Class类的含义和作用是什么 147
面试题088 如何操作类的成员变量(Field) 148
面试题089 如何操作类的方法(Method) 150
9.2 反射应用举例 151
面试题090 如何利用反射实例化一个类 151
面试题091 如何利用反射机制来访问一个类的私有成员 152
面试题092 如何利用反射来覆盖数据对象的toString()方法 153
9.3 小结 155
第10章 Java的网络编程(教学视频:44分钟) 156
10.1 网络编程基础 156
面试题093 TCP/IP协议的理解 156
面试题094 TCP协议的通信特点是什么 157
面试题095 Java的TCP编程模型是什么 158
面试题096 UDP协议的通信特点是什么 160
面试题097 Java的UDP编程模型是什么 161
10.2 Java网络编程举例 163
面试题098 如何创建TCP通信的服务器端的多线程模型 163
面试题099 用TCP通信模型创建一个Web服务器 165
面试题100 用UDP通信模型创建一个即时聊天软件 167
面试题101 如何使用Java访问Web站点 169
10.3 小结 171
第11章 Java对数据库的操作(教学视频:43分钟) 172
11.1 SQL基础 172
面试题102 什么是SQL 172
面试题103 如何使用SQL检索数据 173
面试题104 如何使用SQL更改数据 175
11.2 JDBC 176
面试题105 JDBC的工作原理是什么 176
面试题106 请简述JDBC操作数据库的编程步骤 178
面试题107 如何使用JDBC的事务 179
面试题108 如何使用JDBC实现数据访问对象层(DAO) 181
面试题109 如何使用连接池技术 185
面试题110 如何使用可滚动的结果集 187
面试题111 如何使用可更新的结果集 189
11.3 JDBC操作各类数据源 190
面试题112 如何使用JDBC操作Oracle数据库 191
面试题113 如何使用JDBC操作MySQL数据库 192
面试题114 如何使用JDBC操作SQL Server数据库 193
面试题115 如何使用JDBC操作Access 195
面试题116 如何使用JDBC操作Excel 196
11.4 小结 197
第4篇 Java EE相关问题 200
第12章 Web开发相关技术(教学视频:60分钟) 200
12.1 Servlet与Web容器 200
面试题117 一个Web应用程序应该遵守哪些规范 200
面试题118 什么是Servlet 202
面试题119 Servlet的生命周期是怎样的 203
面试题120 Servlet接口有哪些实现类 205
面试题121 如何在Servlet中获取请求参数的值 206
面试题122 Forward和Redirect的区别 207
面试题123 过滤器的作用和工作原理是什么 210
面试题124 监听器的作用和工作原理是什么 211
12.2 JSP动态语言 214
面试题125 JSP的运行机制是什么 214
面试题126 JSP的内置对象及其用途 215
面试题127 page和request作用范围的区别是什么 218
面试题128 JSP如何使用JavaBean 219
12.3 表达式语言和JSTL 221
面试题129 如何使用迭代标签〈c:forEach〉循环显示数据 221
面试题130 JSTL提供了哪些逻辑判断标签 223
12.4 小结 225
第13章 Struts、Spring和Hibernate组合(教学视频:109分钟) 227
13.1 MVC和Struts 227
面试题131 什么是MVC设计模式 227
面试题132 如何编写一个MVC的Java Web应用程序 229
面试题133 Struts框架是如何体现MVC模式的 232
面试题134 开发一个Struts应用程序的思路是什么 235
面试题135 Struts提供了哪几类Action 239
13.2 Hibernate 240
面试题136 什么是对象关系映射模型(ORM) 240
面试题137 Hibernate的基本使用思想是什么 242
面试题138 Hibernate的实体存在哪几种状态 244
面试题139 HQL查询语言的使用方法是什么 246
面试题140 如何使用Hibernate进行分页查询 249
面试题141 get()和load()方法的区别是什么 249
面试题142 如何映射一对一关系 250
面试题143 如何映射一对多关系 252
面试题144 如何映射多对多关系 254
面试题145 继承关系的映射策略有哪些 256
13.3 Spring 259
面试题146 依赖注入的方式有哪些 259
面试题147 如何使用Spring的声明式事务 262
面试题148 如何在Web应用程序中整合Struts、Spring和Hibernate 264
13.4 小结 266
第14章 EJB与JPA相关问题(教学视频:51分钟) 267
14.1 EJB 3.0 267
面试题149 EJB的类型有哪几种 267
面试题150 EJB程序的开发思路和步骤是什么 268
面试题151 无状态会话Bean的生命周期是怎样的 271
面试题152 有状态会话Bean的生命周期是怎样的 274
面试题153 Servlet如何调用EJB 277
面试题154 用EJB发布Web服务的基本思路是什么 279
面试题155 JMS分哪两种开发模式 282
面试题156 如何使用消息驱动Bean进行异步开发 287
14.2 JPA规范 288
面试题157 JPA的使用思路是什么 289
面试题158 无状态会话Bean如何获得和使用EntityManager 291
面试题159 JPA可以在EJB容器以外的地方使用吗? 293
14.3 小结 296
第5篇 算法和设计模式 298
第15章 Java编程试题(教学视频:70分钟) 298
15.1 基础编程试题 298
面试题160 打印出100以内的素数 298
面试题161 打印九九乘法口诀表 300
面试题162 打印10000以内的回文数字 301
面试题163 获得任意一个时间的下一天的时间 302
面试题164 50个人围成一圈数到3和3的倍数时出圈,问剩下的人是谁?在原来的位置是多少 304
面试题165 将某个时间以固定格式转化成字符串 305
面试题166 用Java实现一个冒泡排序算法 306
面试题167 用Java实现一个插入排序算法 308
面试题168 用Java实现一个快速排序算法 309
15.2 高级编程试题 311
面试题169 怎样实现Singleton(单例)模式编程 311
面试题170 怎样实现简单工厂模式编程 313
面试题171 怎样实现工厂方法模式编程 315
面试题172 怎样实现抽象工厂方法模式编程 317
面试题173 怎样实现观察者模式编程 319
面试题174 用Java实现一个链表类 323
15.3 小结 325
第6篇 情商和智商经典面试题 328
第16章 情商类面试题(教学视频:48分钟) 328
16.1 应届毕业生问题应答 328
面试题175 你有暑期打工的经历吗?是怎样找到的 328
面试题176 你认为的你第一份工作能干多久 329
面试题177 除了本公司,你还应聘了其他哪些公司呢 329
面试题178 你如何看待公司没有足够的培训课程 330
16.2 常规问题应答 331
面试题179 简要介绍你自己 331
面试题180 你在上一家公司的离职原因是什么 333
面试题181 你了解本公司吗?为什么要选择本公司 334
面试题182 你如何看待加班问题的 335
面试题183 自己的最大优缺点是什么 336
面试题184 你希望的待遇为多少 336
面试题185 你认为团队工作和独自干活哪样效率更高 337
面试题186 如果你所处的团队中,并不是每个成员都承担着相同的工作量,你会怎样看待 338
面试题187 你怎样为工作任务区分轻重缓急 340
面试题188 如果你完全不同意你上司的某个要求,你怎么处理 341
16.3 小结 342
第17章 智商类面试题(教学视频:43分钟) 343
17.1 脑筋急转弯 343
面试题189 美国有多少辆汽车 343
面试题190 下水道的盖子为什么是圆形的 344
面试题191 分蛋糕 345
面试题192 你怎样改造和重新设计一个ATM银行自动取款机 346
17.2 逻辑推理 347
面试题193 3盏灯与3个开关 347
面试题194 戴帽子 348
面试题195 海盗分金 349
面试题196 罪犯认罪 350
17.3 计算推理 351
面试题197 倒水问题 351
面试题198 找出轻球 352
面试题199 骗子购物 353
面试题200 烧香问题 354
17.4 小结 354