一、 java基础
1、 Queue和Stack你平时有用过么,说说你常用的方法,他们的却别在哪呢?
2、 了解java的异常吗,有什么区别,常见的异常有哪些呢?
3、 两个字面值相同的Integer,它们两个用等于号去比较,结果是true还是false?(这个题要分两部分去回答,结果可能为true,也可能为false。因为有缓存)
4、 可以讲一下你常用的集合类么?他们的实现类有哪些?
5、 ArrayList、LinkedList的区别,底层的实现呢了解吗,有没有什么优缺点,分别适合于什么样的场景,多线程环境下,有没有安全的list的实现类呢?
6、 其他数据结构的了解吗?LinkedHashMap、ConcurrentSkipHashMap(作为一个扩展,面试的时候问到的不是很多,能答出来挺好,答不出来也没关系)
7、 说一说你对HashSet的理解,越详细越好 ( tip:底层是用hashMap实现的),treeSet有了解吗?聊一聊?
8、 HashMap:
a. HashMap的底层数据结构是什么样子的
b. 了解hash冲突吗?它是如何解决hash冲突的
c. 请你简单叙述一下hashMap的put和get操作,当然,能说多细就说多细?
d. Jdk7和jdk8中对hashMap做了什么改进嘛(红黑树)?
e. 有没有其他的解决冲突的办法呢
f. HashMap中的hash函数了解吗?那他的扩容机制了解吗?
g. HashMap为什么扩容是2倍呢,可以说说嘛?
h. 假如说我加入一个键值对,这个时候出现