Java 面试题(A)——Java SE

火龙果被占用了 2010-11-21 11:00:58
加精
大家好:

很久没在技术区发过帖子了。看到很多人比较喜欢看面试题之类的帖子,趁着有空我也草拟了几道题目跟大家一起分享(过过面试官的隐,哈哈)。问题均为自创,如有雷同,实属巧合(老套,汗一把)。

题目主要以 Java 中的基础为主。但不会出现 new String 产生了多少个对象,Collection 与 Collections 有什么区别之类的题目。

作为试验性质(并不是真正的面试题),大多数都是主观题。


----------- 我 - 是 - 废 - 话 - 与 - 正 - 文 - 之 - 间 - 的 - 分 - 隔 - 符 -----------

1. 使用 JDBC 时一般会有一句 Class.forName("xxx.xxx.xxx.xxx"); 的代码,问一下这句代码有什么作用?这行代码需要在每次获取 Connection 时都需要写么?
或:1. 为什么 JDBC 规范称从 javax.sql.DataSource 对象是获取连接的首选方法(javax.sql.DataSource 的 API 文档上有说),而不是从 java.sql.DriverManager 获取是首先方法?

目的:JDBC 是各种 ORM 工具的基础,而这两个问题是 JDBC 的基础


2. 如果让你设计一个数据库连接池,你可能会考虑到哪些方面的问题?

目的:考查对于类库设计时,能考虑到问题的深度和广度


3. 在 JDK 1.4 中引入了一个 NIO 的类库,使得 Java 涉及 IO 的操作拥有阻塞式和非阻塞式两种,问一下阻塞 IO 与非阻塞 IO 有什么区别?有什么优缺点?

目的:网络编程的概念问题


4. 简单地说一下使用 JDK 工具 javadoc 生成的 API 文档主要包括哪些内容?
或:4. 我们都知道 keySet() 是 java.util.Map 中的一个方法,通过 HTML 版本的 J2SE API 文档你能否找出所有含有 keySet 方法的类和接口呢?

目的:Java API 文档是 Java 开发人员最常使用的文档,掌握 API 文档的使用非常有必要


5. J2SE 的 API 中没有提供实现 LRU 算法的 Map 数据结构,如果让你实现一个 LRU 算法的 Map 你会怎么做?(LRU, least recently used 最近最少被使用。指的是在固定容量的容器中,在容量达到上限时且有新的数据需要放进来时,将最不常使用的那条数据移除,以腾出空位给新数据的算法。)

目的:考查对于类库的熟悉程度


6. JDK 5 中增加了很多语言特性,比如说可变参数就是其中之一,问一下可变参数你感觉在什么地方可能会被用到?

目的:考查对于 JDK 中新增语言特性的掌握程度,并能否灵活运用


7. 锁是具有可重入性的,能否说一下什么是锁的可重入性?如果不具有重入性,那会出现什么样的问题?
或:7. 简单地说一下读写锁中读锁和写锁有什么特点,他们是如何保护共享变量的?读写锁可以应用于什么样的代码之中?

目的:锁是并发编程中最为重要的问题的,考查一下对于锁的认识。读写锁在读取数据方面相较于独占锁来说性能较高,考查对于并发编程的能力。


8. 能否简单地说一下开发过程中使用诸如 CVS、SVN、VSS、Git 等版本管理工具有什么好处?

目的:考查开发人员是否有团队合作及开发经验


9. 我们写代码时一般都会在代码中嵌入日志,能否谈一下在代码中的日志编写过程中有什么使用心得?

目的:考查开发人员对于日志是否足够重视,是否能灵活使用日志工具


10. 结束题

a. 很多软件都会给不同的版本取个名字,你知道 JDK 各种版本的名字有哪些?比如 JDK 5 叫 Tiger。

目的:知识面问题,了解一下开发人员知识的广度


b. JDK 中有很多工具,比如 javac 是 Java 的编译器工具,你能否说一下 JDK 中还有哪些工具,那些工具主要是干什么用的?

目的:JDK 的 bin 目录中有 40 余种工具,掌握一下对于 JDK 工具的了解程度
...全文
26900 656 打赏 收藏 转发到动态 举报
写回复
用AI写文章
656 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuyouyong 2013-07-01
  • 打赏
  • 举报
回复
收藏一下啊!
befree 2013-06-29
  • 打赏
  • 举报
回复
mark
u010761247 2013-06-27
  • 打赏
  • 举报
回复
学习了,LZ什么时候发答案啊··
xingfushenghuo1988 2013-06-21
  • 打赏
  • 举报
回复
还不错,只不过有一半的题我答不上来。
苏格拉低 2013-06-17
  • 打赏
  • 举报
回复
值得 学习 一下啊! 好多题目 lz 这么一问 还真是很模糊啊
a542154836 2013-06-01
  • 打赏
  • 举报
回复
谢谢楼主分享 太有用了!!
DaiwjDev 2013-06-01
  • 打赏
  • 举报
回复
MARK 啦
hatom 2013-06-01
  • 打赏
  • 举报
回复
题目出的挺有深度的 受教
  • 打赏
  • 举报
回复
一个不会的飘过。。。。。。有答案么???
zhangxm2015 2013-06-01
  • 打赏
  • 举报
回复
很多感觉了解,但却不知道该怎么答,看来学的还是不深入啊!
地下室森林 2013-05-31
  • 打赏
  • 举报
回复
好吧,大概看了下,都是要去查找资料的,没有一题能直接解决出的
Joshua_winner 2013-05-31
  • 打赏
  • 举报
回复
附上正确参考答案甚好
linf719 2013-05-31
  • 打赏
  • 举报
回复
不错 学习了
java_freshman01 2013-05-31
  • 打赏
  • 举报
回复
留名,等更新。
a6282867 2013-05-31
  • 打赏
  • 举报
回复
我刚刚毕业那会就有这个的帖子了啊。。。现在才看到真是失误。。。两年的工作经验这个10个题,只会四个。。。
qkwunet 2013-05-31
  • 打赏
  • 举报
回复
路过 看下
benlaten 2013-05-31
  • 打赏
  • 举报
回复
第一个,主要是为了加载驱动类的静态块把,里面可能调用了DriverManager的registrer方法, 既然是静态块,只会执行一次,Class.forName多次也没意义
麦田 2013-05-30
  • 打赏
  • 举报
回复
这些题虽然很基础,有时候也不见得如何下手
dancing 2012-12-24
  • 打赏
  • 举报
回复
帖子很好。自己好有压力!
jigong1988 2012-12-16
  • 打赏
  • 举报
回复
怎么没有全部的答案?
加载更多回复(516)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧