阿里巴巴Java岗位一面面经

。面试主要是Java集合类和并发编程

  1. Java集合类ArrayList初始化时数组的默认长度是多少?
  2. ArrayList扩容时扩容多少倍?扩容后是用原来的数组还是新的数组?
  3. ArrayList是一个线程安全的集合类吗?
  4. 判断一个集合类是否为线程安全的机制是什么?
  5. 说一下Fail-Fast机制,结合源码说一下(如果可以的话)。
  6. ArrayList和LinkedList的使用场景。
  7. 说一下HashMap的底层数据结构。
  8. 说一下HashMap的存储逻辑(put()函数)。
  9. HashMap存储元素时key完全一样该怎么处理?
  10. HashMap的默认长度是多少?扩容是扩成几倍?
  11. 若两个key的hashcode值相同但equals不同,也就是说它们会插入到同一个桶里,新添加的节点是插入到已有元素的前面还是后面?
  12. 为什么JDK 1.7是头插法,JDK 1.8是尾插法?
  13. JDK 1.8的HashMap是否线程安全?
  14. 既然HashMap不是线程安全的类,有啥办法解决这个问题?
  15. ConcurrentHashMap和HashMap的区别?为什么ConcurrentHashMap会线程安全?
  16. ConcurrentHashMap虽然是线程安全的,但它也存在什么问题?
  17. 了解TreeMap吗?TreeMap最大的特点是什么?为什么已经有了HashMap了还要有TreeMap类?
  18. 说一下红黑树的特点。

面试官的问题非常细致,尤其是关于HashMap和ConcurrentHashMap的部分,考察了很多底层实现和线程安全机制。

#软件开发笔面经#
全部评论
电话面吗
2 回复 分享
发布于 08-15 20:01 黑龙江
全程八股文嘛
1 回复 分享
发布于 08-14 19:10 广东
阿里大佬
1 回复 分享
发布于 08-15 20:22 黑龙江
哪个部门?电话面吗?
点赞 回复 分享
发布于 08-14 19:49 北京
“判断一个集合类是否为线程安全的机制是什么?” 请问这个怎么回答呀
点赞 回复 分享
发布于 08-14 22:46 河北
全部八股都是这几个集合嘛
点赞 回复 分享
发布于 08-15 10:35 陕西
ConcurrentHashMap虽然是线程安全的,但它也存在什么问题? 这个我能想到 1、key不能为null需特别注意,可能为导致空指针异常 2、由于是线程安全的,存在锁机制,性能会相对没有hashMap那么好。 还有什么问题吗?
点赞 回复 分享
发布于 08-15 17:25 广东
请问第12题怎么回答呢?
点赞 回复 分享
发布于 08-15 23:09 陕西

相关推荐

11 77 评论
分享
牛客网
牛客企业服务