企业 java 工程师测试题
1. 面向对象的特征有哪些方面?
答案:最基本特征:封装,继承,多态。
其他特征:抽象关联,聚合,组合,内聚,耦合
2. String 是最基本的数据类型吗? String 和 StringBuffer 的区别?
答案:String 不是一最基本的数据类型。
STRING 的长度是不可变的,STRINGBUFFER 的长度是可变的。
如 果 你 对 字 符 串 中 的 内 容 经 常 进 行 操 作 , 特 别 是 内 容 要 修 改 时 , 那 么 使 用
StringBuffer,如果最后需要 String,那么使用 StringBuffer 的 toString()方法
3. innerHTML 与 innerText 各代表什么含义?
innerHTML 是符合 W3C 标准的属性,而 innerText 只适用于 IE 浏览器,因此,尽可能
地去使用 innerHTML,而少用 innerText,如果要输出不含 HTML 标签的内容,可以使
用 innerHTML 取得包含 HTML 标签的内容后,再用正则表达式去除 HTML 标签
4. int 和 Integer 有什么区别
答案:int 是基本类型。Integer 是引用类型。Integer 可以把 String 转换成 int。
5. 运行时异常与一般异常有何异同?
答案:异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通
常操作中可能遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出
可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常
6. 说出 Servlet 的生命周期,并说出 Servlet 和 GGI 的区别?
答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服
务结束。这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法
表达。
Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法
,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服
务
器决定将实例销毁的时候调用其 destroy 方法。
与 cgi 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法
,一个实例可以服务于多个请求,并且其实例一般不会销毁,而 CGI 对每个请求都产
生新的进程,服务完成后就销毁,所以效率上低于 servlet。
7. 说出 ArrayList,Vector,LinkedList 的存储性能和特征?
ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据
以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组 元
素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了 synchron
ized 方法(线程安全),通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实
现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本 项
的前后项即可,所以插入速度较快。
8. Collection 与 Collections 的区别?
答案 1:Collection 是一个接口,但 Collections 却是一个辅助类,里面有很多静态的工
具 方 法 。 而 且 很 有 用 的 。 如 : reverse(List list) ; sort(List list, Comparator c) 等 。
Collections 没有实现任何接口。它直接继承了 Object。