2025年Java后端社招业务场景题+八股文面试题
需要25年最新100w字完整版面试场景题库丝我890嗱。需要25年最新100w字完整版面试场景题库丝我890嗱。:JDK8 CAS + synchronized 分段锁。Region分区、可预测停顿、适合大内存(6GB+):JDK8 数组+链表/红黑树,非线程安全。:Key弱引用被回收,Value仍强引用。:如何抗住百万QPS?(适合长事务,如订单+物流):随机过期时间 + 多级缓存。:布隆过滤器
一、高频业务场景题(实战向)
1. 电商系统设计
🔹 秒杀系统
-
核心问题:如何抗住百万QPS?如何防止超卖?
-
解决方案:
-
Redis预减库存(Lua脚本保证原子性)
-
异步下单(Kafka/RocketMQ削峰)
-
热点数据隔离(独立Redis集群)
-
限流降级(Sentinel/Nginx)
-
🔹 订单超时自动取消
-
方案对比:
-
定时任务扫描(低效)
-
延迟队列(RabbitMQ死信队列)
-
🔹 分库分表后跨库查询
-
解决方案:
-
全局表(基础数据冗余)
-
数据异构(ES/Canal同步)
-
2. 金融支付系统
🔹 防止重复支付
-
幂等性设计:唯一订单号 + 状态机
-
分布式锁:Redis SETNX + Redisson Watch Dog
🔹 分布式事务
-
方案对比:
-
TCC(适合强一致性,如支付)
-
SAGA(适合长事务,如订单+物流)
-
3. 高并发缓存优化
🔹 缓存雪崩 vs 缓存穿透
-
雪崩:随机过期时间 + 多级缓存
-
穿透:布隆过滤器 + 空值缓存
🔹 Redis大Key优化
-
拆分:Hash分片存储
-
异步删除:UNLINK代替DEL
二、核心八股文(技术原理)
1. Java基础
🔹 HashMap vs ConcurrentHashMap
-
HashMap:JDK8 数组+链表/红黑树,非线程安全
-
ConcurrentHashMap:JDK8 CAS + synchronized 分段锁
🔹 synchronized锁升级
-
无锁 → 偏向锁 → 轻量级锁(CAS)→ 重量级锁
🔹 ThreadLocal内存泄漏
-
原因:Key弱引用被回收,Value仍强引用
-
解决:使用后必须
remove()
2. JVM调优
🔹 G1垃圾回收器特点
-
Region分区、可预测停顿、适合大内存(6GB+)
🔹 OOM排查步骤
-
jmap -dump
导出堆内存 -
MAT分析泄漏对象
-
jstack
查线程死锁
3. 数据库优化
🔹 MySQL索引失效场景
-
LIKE '%xx'
、函数计算、OR条件、隐式类型转换
🔹 十亿级数据分页优化
-
游标分页:
WHERE id > last_id LIMIT 10
-
延迟关联:先查ID再回表
需要25年最新100w字完整版面试场景题库丝我890嗱
更多推荐
所有评论(0)