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

相关推荐

04-02 13:46
门头沟学院 Java
美团二面2150人在聊 查看15道真题和解析
点赞 评论 收藏
分享
04-02 16:11
东北大学 Java
找一个你你印象最深的项目,然后介绍一下用户的角色权限为什么会想到分三层,两层可以吗整个这个项目实施过程中有遇到什么困难,然后你是怎么解决的go和java的优缺点科研训练询问有哪些场景是比较适合创建数据库索引假设现在有些像我们招商银行的话,会提供不管是在手机银行上还是在web端会提供余额查询这样一个功能。这个功能因为我们银行的用户体量比较大,每天可能有上百万接近千万次的这样一个使容量。在这样子的高性能的要求下,同时考虑到整个功能的高可用性,请你从代码层面以及数据库层面,还有一些中间件层面来去说一说有哪些可以提升的点在应用的部署上有没有什么可以考虑的,以及还有一些储存数据存储的话,除了mysql以外,还有哪些可以去考虑的技术,多实例的部署能考虑吗怎么保证高可用呢你说部署集群,通过发送心跳包保证主节点正常,但如果说他心跳可以回,但是其实内部出现了一些问题,这种情况怎么去保证极端一点,有一个写的很不好的一个事务,导致把这个数据库一直都在那里忙着处理,他没有完全的挂掉,他只是说在忙其他的东西。那这个时候他心跳包他可能是可以回的,但其实他其实无法对外提供服务的。怎么办大学期间最喜欢的一门专业课tcpip的分层每一层做什么,为什么不直接用mac地址,而要引入一个IP地址的概念反问
点赞 评论 收藏
分享
04-17 15:05
已编辑
南京师范大学 Java
  1. 项目中的难点是什么?2. 高精度视频为什么要把播放记录存在缓存里?频繁访问redis性能会不会也有问题?是读操作多还是写操作多3. 数据库与缓存的一致性问题,如果删除缓存时发生了异常,怎么办?4. 用消息队列解决,根据什么从消息队列里把它去掉?5. redis用的比较多,聊聊 (作用,数据结构,持久化,分布式锁,内存淘汰策略,删除策略,缓存三兄弟,线程模型)6. redis里的I/O多路复用详细再说说7. 缓存穿透、缓存击穿的解决方法8. 缓存穿透会引发什么问题?9. rpc项目的背景,功能10. 一次rpc调用会经历哪些过程?(代理,编解码,网络通信,熔断降级等等)11. 服务端怎么知道客户端调用了什么方法?(编码规则?)12. java怎么保证并发安全(synchronized,lock,原子类这些)13. 讲讲lock接口怎么实现的(CAS+AQS)14. CAS是干什么的?15. CAS为什么要判断内存里的值与旧值是否相等,举个例子16. CAS能保证线程安全吗17. ThreadLocal了解吗18. ThreadLocal的内存泄露如何产生的19. ThreadLocal为什么ThreadLocalMap中key是弱引用,value是强引用20. 聊聊数据库(索引,事务,锁,三大日志,主从复制,性能调优)21. 聊聊JVM(JVM内存构成,垃圾回收器,垃圾回收算法)22. 怎么判定这个这个对象是垃圾23. 哪些可以作为GC-root24. 最有成就感的事(项目结合AI)25. 对大模型有哪些了解(prompt,function-call,Rag)
饿了么一面130人在聊 查看50道真题和解析
点赞 评论 收藏
分享
评论
13
79
分享

创作者周榜

更多
牛客网
牛客企业服务