小米Java开发一面面经
- 算法题:有序数组找某个值第一次和最后一次出现的位置
- 讲一下什么是GC,为什么需要GC?
- 有哪些常见的内存泄漏场景?(没答上来,扯了一句ThreadLocal如何解决内存泄漏的)
- 如何判断一个对象可不可以被回收?
- JDK 8默认的垃圾回收器是什么?(答错了,答成CMS了,然后就接着问了CMS)
- 为什么要分代回收?分代回收背后的思想?
- 有哪些GC算法?为什么新生代采用标记复制?为什么老年代采用标记整理和标记清除?
- 标记复制和标记整理算法的对比?
- 常用的集合框架有哪些?(搭了HashMap,接着问HashMap)
- 为什么HashMap的查找时间复杂度是O(1)?
- 链表查找的时间复杂度?为什么JDK 8要引入红黑树?
- HashMap元素过多了怎么解决?(扩容,问了一下面试官要不要详细讲一下扩容,面试官说不用了,面试结束)
大概半个多小时,就问了GC和HashMap,能回忆起来的就这些了,感觉问题有点少,是不是要凉
#面经##小米##Java工程师##校招#