26年最新Java后端社招场景项目题总结!(附100w字面试题)
一、高并发与分布式系统设计
百万级QPS秒杀系统
核心问题:如何解决超卖、库存一致性、高并发请求?
技术方案:
Redis预减库存+异步扣减(Kafka/RocketMQ)
分布式锁(Redisson)或乐观锁(CAS)
限流策略(Nginx/Sentinel)
扩展:热点数据隔离(独立Redis集群)、风控防刷(IP限流、验证码)。
分布式文件存储系统(类似GFS)
需求:支持海量文件存储、高可用、快速检索。
关键技术:
分片存储(HDFS架构)
一致性哈希(数据分布均衡)
元数据管理(Zookeeper/ETCD)
面试追问:如何解决文件去重?→内容哈希比对。
RPC框架优化
场景:自研RPC框架的性能瓶颈(序列化、网络IO)。
优化点:
Protobuf替代JSON(减少传输体积)
Netty长连接(减少TCP握手开销)
动态负载均衡(一致性哈希/最小连接数)。
二、数据库与缓存实战
十亿级数据分页查询优化
方案:
Elasticsearch
search_after(深度分页)覆盖索引+禁止跳页(
LIMIT 10000, 10优化)冷热数据分离(历史数据归档)。
Redis缓存一致性
问题:如何保证MySQL与Redis数据同步?
方案:
延迟双删(先删缓存→更新DB→再删缓存)
订阅Binlog(Canal监听MySQL变更)
本地缓存+Redis多级缓存(Guava Cache → Redis → DB)。
分布式ID生成器
方案对比:
Snowflake(时钟回拨问题)
Leaf-Segment(DB号段缓冲,适合金融场景)
UUID(全局唯一但无序)。
篇幅限制下面就只能给大家展示小册部分内容了。整理了一份核心面试笔记包括了:Java面试、场景题、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafc
需要全套面试笔记及答案【点击此处即可/免费获取】
https://docs.qq.com/doc/DQXdYWE9LZ2ZHZ1ho
三、微服务与架构设计
微服务限流与熔断
场景:突发流量导致服务雪崩。
方案:
Sentinel熔断降级(慢调用比例阈值)
令牌桶算法(Guava
RateLimiter)服务隔离(线程池/信号量)。
分布式事务解决方案
问题:跨服务下单与库存扣减如何保证一致性?
方案:
TCC模式(Try-Confirm-Cancel)
SAGA长事务(补偿机制)
本地消息表(最终一致性)。
同城多活架构设计
需求:机房故障时自动切换,数据同步延迟<1s。
关键技术:
数据同步(MySQL Binlog + Kafka)
流量调度(DNS/GSLB)
冲突解决(时间戳/版本号)。
四、银行业务相关(金融/支付场景)
防止重复支付
方案:
幂等性设计(唯一订单号 + 状态机)
分布式锁(Redis SETNX)
对账机制(定时核对交易流水)。
金融级数据一致性
方案:
TCC事务+人工对账
强一致性数据库(如TiDB)
分布式锁(Zookeeper临时节点)。
五、系统调优与故障排查
FullGC频繁如何排查?
步骤:
jmap -dump导出堆内存MAT分析(内存泄漏对象)
优化JVM参数(
-Xms/-Xmx调整)。
MySQL慢查询优化
方案:
EXPLAIN分析执行计划
索引优化(联合索引最左匹配)
SQL改写(避免
SELECT *)。
篇幅限制下面就只能给大家展示小册部分内容了。整理了一份核心面试笔记包括了:Java面试、场景题、Spring、JVM、MyBatis、Redis、MySQL、并发编程、微服务、Linux、Springboot、SpringCloud、MQ、Kafc
需要全套面试笔记及答案【点击此处即可/免费获取】
https://docs.qq.com/doc/DQXdYWE9LZ2ZHZ1ho
