得物2026春招 | 后端开发 | 面经 | Java面试
一、Java基础
1. HashMap底层原理
数组+链表+红黑树,JDK1.8后引入红黑树。初始容量16,负载因子0.75,扩容为原来2倍。线程不安全,多线程推荐使用ConcurrentHashMap。
2. ConcurrentHashMap 1.7和1.8区别
1.7:Segment分段锁+数组+链表,锁粒度较大。
1.8:CAS+synchronized,数组+链表+红黑树,锁粒度更细,性能更高。
3. ArrayList和LinkedList区别
ArrayList:动态数组,查询快,增删慢。
LinkedList:双向链表,查询慢,增删快。
4. String、StringBuilder、StringBuffer
String不可变,线程安全。
StringBuilder可变,非线程安全,效率最高。
StringBuffer可变,线程安全,效率较低。
二、并发编程
5. synchronized底层实现
修饰方法:ACC_SYNCHRONIZED标识。
修饰代码块:monitorenter、monitorexit指令。
锁升级流程:无锁→偏向锁→轻量级锁→重量级锁。
6. ReentrantLock和synchronized区别
ReentrantLock:手动加锁解锁,支持可中断、超时、公平锁。
synchronized:自动加锁解锁,使用简单。
7. 线程生命周期
新建、就绪、运行、阻塞、终止。
8. 死锁四个必要条件
互斥、请求保持、不可剥夺、循环等待。破坏任一条件即可避免。
三、JVM
9. JVM内存模型
堆、方法区、虚拟机栈、本地方法栈、程序计数器。
10. 垃圾回收机制
对象存活判断:引用计数法、可达性分析法。
回收算法:标记清除、标记复制、标记整理。
11. 常见垃圾收集器
Serial、ParNew、Parallel Scavenge、CMS、G1。
四、计算机基础
12. TCP三次握手、四次挥手
三次握手:建立可靠连接。
四次挥手:断开连接,保证数据传输完成。
13. HTTP和HTTPS区别
HTTP明文传输,端口80。
HTTPS加密传输,端口443,基于SSL/TLS。
14. MySQL索引
底层B+树,分为聚簇索引和非聚簇索引。遵循最左匹配原则,避免索引失效。
15. MySQL事务ACID
原子性、一致性、隔离性、持久性。
五、项目与场景
16. 接口限流方案
计数器、漏桶算法、令牌桶算法。
17. 分布式锁实现
Redis分布式锁、Zookeeper分布式锁。
18. Redis缓存问题
缓存穿透:布隆过滤器。
缓存击穿:互斥锁、热点数据永不过期。
缓存雪崩:过期时间随机、集群部署、服务降级。
#面经# #得物# #后端#
1. HashMap底层原理
数组+链表+红黑树,JDK1.8后引入红黑树。初始容量16,负载因子0.75,扩容为原来2倍。线程不安全,多线程推荐使用ConcurrentHashMap。
2. ConcurrentHashMap 1.7和1.8区别
1.7:Segment分段锁+数组+链表,锁粒度较大。
1.8:CAS+synchronized,数组+链表+红黑树,锁粒度更细,性能更高。
3. ArrayList和LinkedList区别
ArrayList:动态数组,查询快,增删慢。
LinkedList:双向链表,查询慢,增删快。
4. String、StringBuilder、StringBuffer
String不可变,线程安全。
StringBuilder可变,非线程安全,效率最高。
StringBuffer可变,线程安全,效率较低。
二、并发编程
5. synchronized底层实现
修饰方法:ACC_SYNCHRONIZED标识。
修饰代码块:monitorenter、monitorexit指令。
锁升级流程:无锁→偏向锁→轻量级锁→重量级锁。
6. ReentrantLock和synchronized区别
ReentrantLock:手动加锁解锁,支持可中断、超时、公平锁。
synchronized:自动加锁解锁,使用简单。
7. 线程生命周期
新建、就绪、运行、阻塞、终止。
8. 死锁四个必要条件
互斥、请求保持、不可剥夺、循环等待。破坏任一条件即可避免。
三、JVM
9. JVM内存模型
堆、方法区、虚拟机栈、本地方法栈、程序计数器。
10. 垃圾回收机制
对象存活判断:引用计数法、可达性分析法。
回收算法:标记清除、标记复制、标记整理。
11. 常见垃圾收集器
Serial、ParNew、Parallel Scavenge、CMS、G1。
四、计算机基础
12. TCP三次握手、四次挥手
三次握手:建立可靠连接。
四次挥手:断开连接,保证数据传输完成。
13. HTTP和HTTPS区别
HTTP明文传输,端口80。
HTTPS加密传输,端口443,基于SSL/TLS。
14. MySQL索引
底层B+树,分为聚簇索引和非聚簇索引。遵循最左匹配原则,避免索引失效。
15. MySQL事务ACID
原子性、一致性、隔离性、持久性。
五、项目与场景
16. 接口限流方案
计数器、漏桶算法、令牌桶算法。
17. 分布式锁实现
Redis分布式锁、Zookeeper分布式锁。
18. Redis缓存问题
缓存穿透:布隆过滤器。
缓存击穿:互斥锁、热点数据永不过期。
缓存雪崩:过期时间随机、集群部署、服务降级。
#面经# #得物# #后端#
全部评论
得物春招笔试还没开始 怎么就有面试了?
相关推荐
查看14道真题和解析 点赞 评论 收藏
分享
昨天 18:49
西北工业大学 Java 点赞 评论 收藏
分享
03-19 17:53
武汉大学 算法工程师 暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。
卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享