Java工程师面试题集锦

时间:2022-04-12 14:15:48

即将踏上找工作的征途,参考网上面试题库准备一波面试题,希望能找到理想中的工作,愿一切顺利。

 

一、Java基础


 

1.String类为什么是final的。

2.HashMap的源码,实现原理,底层结构。

3.说说你知道的几个Java集合类:list、set、queue、map实现类咯。

4.描述一下ArrayList和LinkedList各自实现和区别。

5.Java中队列都有哪些,有什么区别。

6.反射中,Class.forName和classloader的区别。

7.Java7和Java8的新特性。

8.Java数组和链表两种数据结构的操作效率,在哪些情况下(从开头开始,从结尾开始,从中间开始),哪些操作(插入,查找,删除)的效率高。

9.Java内存泄漏的问题调查定位:jmap,jstack的使用等等。

10.String、StringBuilder、StringBuffer的区别。

11.Hashtable和HashMap的区别。

12.异常的结构,运行时异常和非运行时异常,各举例子。

13.String a = "abc" String b = "abc" String c = new String("abc") String d = "ab" + "c",他们之间用 == 比较的结果。

14.String类常用的方法。

15.Java的引用类型有哪几种。

16.抽象类和接口的区别。

17.Java的基础类型和字节大小。

18.HashMap, Hashtable, ConcurrentHashMap底层实现原理与线程安全问题。

19.如果不让你用Java JDK提供的工具,你自己实现一个Map,你怎么做(借鉴HashMap的实现原理)。

20.Hash冲突怎么办,哪些解决散列冲突的方法(开放地址法,拉链法等)。

21.HashMap冲突很厉害,最差性能,你会怎么解决。从O(n)提升到log(n)咯,用二叉排序树到思路说了一通。

22.rehash。HashMap原理和rehash解释

23.hashCode()和equals()生成算法、方法怎么重写。

 

二、Java IO


 

1.讲讲IO里面的常见类,字节流、字符流、接口、实现类、方法阻塞。

2.讲讲NIO。

3.String编码UTF-8和GBK的区别。

4.什么时候使用字节流,什么时候使用字符流。

5.递归读取文件夹下的文件,代码怎么实现。

 

三、Java Web


 

1.session和cookie的区别和联系,session的生命周期,多个服务部署时session管理。

2.servlet的一些相关问题。

3.webservice相关问题。

4.jdbc连接,forname方式的步骤,怎么声明使用一个事务,举例并具体代码。

5.无框架下web.xml的主要配置内容。

6.jsp和servlet的区别。