人生处女面试给了淘宝
1. 自我介绍
大学学了什么知识,做了什么事情
Java
2. 为什么用了阿里巴巴的Java编码规范认证
3. 在规范中你印象最深刻的地方是什么
4. HashMap的内部实现
HashMap1.7是数组+链表的方式实现。数组的扩容是原来的2倍。防止hash冲突有三种方法,开发地址发,再hash法,链地址法。HashMap主要使用hash冲突的拉链法来设计的。不过这样有一个弊端,就是如果链表过长的话,会使得查找效率接近O(N)
所以1.8将链表改为红黑树,当链表长度超过8时,就会将其转为红黑树
同样hashCode但是值不同,对象会散列在哪里
hashCode相同说明会散列到同一个数组的下标上,值不同则会到采用拉链法到链表或者红黑树上
5. Jvm的GC算法
整理,新生代使用
标记清除(容易造成内存碎片),标记整理,老年代使用
有了解过CM