Java工程师面试题集锦
即将踏上找工作的征途,参考网上面试题库准备一波面试题,希望能找到理想中的工作,愿一切顺利。
一、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的区别。