火龙果哥的面试题(转自csdn论坛)

来源:互联网 发布:js计算表格每一列总和 编辑:程序博客网 时间:2024/04/28 06:49


原贴地址:http://topic.csdn.net/u/20101121/23/872c3990-a7a8-42d8-8e5e-ef1de688301d.html
大家好:

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

题目主要以 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 工具的了解程度

原创粉丝点击