25年最新Java后端社招场景项目题总结!(附100w字面试题)

一、高并发与分布式系统设计

  1. 百万级QPS秒杀系统

    • 核心问题:如何解决超卖、库存一致性、高并发请求?

    • 技术方案

      • Redis预减库存 + 异步扣减(Kafka/RocketMQ)

      • 分布式锁(Redisson)或 乐观锁(CAS)

      • 限流策略(Nginx/Sentinel)

    • 扩展:热点数据隔离(独立Redis集群)、风控防刷(IP限流、验证码)。

  2. 分布式文件存储系统(类似GFS)

    • 需求:支持海量文件存储、高可用、快速检索。

    • 关键技术

      • 分片存储(HDFS架构)

      • 一致性哈希(数据分布均衡)

      • 元数据管理(Zookeeper/ETCD)

    • 面试追问:如何解决文件去重?→ 内容哈希比对

  3. RPC框架优化

    • 场景:自研RPC框架的性能瓶颈(序列化、网络IO)。

    • 优化点

      • Protobuf替代JSON(减少传输体积)

      • Netty长连接(减少TCP握手开销)

      • 动态负载均衡(一致性哈希/最小连接数)。


 

二、数据库与缓存实战

  1. 十亿级数据分页查询优化

    • 方案

      • Elasticsearch search_after(深度分页)

      • 覆盖索引 + 禁止跳页LIMIT 10000, 10 优化)

      • 冷热数据分离(历史数据归档)。

  2. Redis缓存一致性

    • 问题:如何保证MySQL与Redis数据同步?

    • 方案

      • 延迟双删(先删缓存→更新DB→再删缓存)

      • 订阅Binlog(Canal监听MySQL变更)

      • 本地缓存+Redis多级缓存(Guava Cache → Redis → DB)。

  3. 分布式ID生成器

    • 方案对比

      • Snowflake(时钟回拨问题)

      • Leaf-Segment(DB号段缓冲,适合金融场景)

      • UUID(全局唯一但无序)。


三、微服务与架构设计

  1. 微服务限流与熔断

    • 场景:突发流量导致服务雪崩。

    • 方案

      • Sentinel熔断降级(慢调用比例阈值)

      • 令牌桶算法(Guava RateLimiter

      • 服务隔离(线程池/信号量)。

  2. 分布式事务解决方案

    • 问题:跨服务下单与库存扣减如何保证一致性?

    • 方案

      • TCC模式(Try-Confirm-Cancel)

      • SAGA长事务(补偿机制)

      • 本地消息表(最终一致性)。

  3. 同城多活架构设计

    • 需求:机房故障时自动切换,数据同步延迟<1s。

    • 关键技术

      • 数据同步(MySQL Binlog + Kafka)

      • 流量调度(DNS/GSLB)

      • 冲突解决(时间戳/版本号)。


四、银行业务相关(金融/支付场景)

  1. 防止重复支付

    • 方案

      • 幂等性设计(唯一订单号 + 状态机)

      • 分布式锁(Redis SETNX)

      • 对账机制(定时核对交易流水)。

  2. 金融级数据一致性

    • 方案

      • TCC事务 + 人工对账

      • 强一致性数据库(如TiDB)

      • 分布式锁(Zookeeper临时节点)。


五、系统调优与故障排查

  1. FullGC频繁如何排查?

    • 步骤

      • jmap -dump 导出堆内存

      • MAT分析(内存泄漏对象)

      • 优化JVM参数-Xms/-Xmx调整)。

  2. MySQL慢查询优化

    • 方案

      • EXPLAIN分析执行计划

      • 索引优化(联合索引最左匹配)

      • SQL改写(避免SELECT *)。


 25年最新Java后端社招场景项目题总结!(附100w字面试题)_第1张图片

 

 

 


 需要25年最新100w字完整版面试场景题库丝我890嗱 

你可能感兴趣的:(java,java面试,Java面试题,Java场景题,程序员,互联网大厂,计算机)