参加完Java培训,我们想要毕业上岗,但是上岗之前必须经过企业的面试,来验证自己知识储备,尤其是参加完Java培训特别想进大厂,但是大厂谈何容易,今天小编总结了一套京东Java程序员面试题目汇总。
一、集合
集合分为两大块:java.util包下的非线程安全集合和java.util.concurrent下的线程安全集合。
二、List
ArrayList与LinkedList的实现和区别
三、Map
HashMap:了解其数据结构、hash冲突如何解决(链表和红黑树)、扩容时机、扩容时避免rehash的优化
LinkedHashMap:了解基本原理、哪两种有序、如何用它实现LRU
TreeMap:了解数据结构、了解其key对象为什么必须要实现Compare接口、如何用它实现一致性哈希
四、Set
Set基本上都是由对应的map实现,简单看看就好
五、常见问题
hashmap如何解决hash冲突,为什么hashmap中的链表需要转成红黑树?
hashmap什么时候会触发扩容?
jdk1.8之前并发操作hashmap时为什么会有死循环的问题?
hashmap扩容时每个entry需要再计算一次hash吗?
hashmap的数组长度为什么要保证是2的幂?
如何用LinkedHashMap实现LRU?
如何用TreeMap实现一致性hash?
六、中间件、存储、以及其他框架
Spring
be