2025年Java后端面试必刷题:场景题与八股文高频考点

一、高频八股文面试题

Java基础篇

  1. HashMap与ConcurrentHashMap的区别

    • HashMap非线程安全,JDK1.8后采用数组+链表/红黑树结构

    • ConcurrentHashMap线程安全,JDK1.8改用CAS+synchronized优化锁粒度

  2. synchronized与ReentrantLock区别

    • synchronized是JVM内置锁,自动释放,非公平锁

    • ReentrantLock可重入,支持公平/非公平锁,可中断,支持Condition

  3. volatile作用与限制

    • 保证可见性(强制从主存读取)和有序性(禁止指令重排)

    • 不保证原子性(如i++仍需AtomicInteger)

  4. ThreadLocal原理与内存泄漏

    • 每个线程维护ThreadLocalMap,Key是弱引用

    • 内存泄漏风险:Key被回收后Value仍存在,需手动remove()

  5. Java 8新特性

    • Lambda、Stream API、Optional、方法引用、接口默认方法


JVM篇

  1. JVM内存模型

    • 线程私有:虚拟机栈、本地方法栈、程序计数器

    • 线程共享:堆、方法区(JDK1.8后为元空间)

  2. 垃圾回收算法

    • 标记-清除(碎片化)、复制算法(新生代)、标记-整理(老年代)

    • G1特点:分代回收,Region分区,可预测停顿

  3. 类加载机制

    • 双亲委派模型:BootStrap→Extension→Application→自定义类加载器

    • 打破方式:重写loadClass()(如Tomcat的WebAppClassLoader)


并发编程

  1. 线程池核心参数

    • corePoolSize(核心线程)、maxPoolSize(最大线程)、workQueue(任务队列)、拒绝策略

    • IO密集型:CPU核心数*2;CPU密集型:CPU核心数+11

  2. AQS原理

    • 核心:state(资源状态)+CLH队列(线程排队)

    • 实现类:ReentrantLock、CountDownLatch、Semaphore

  3. 锁升级过程

    • 无锁→偏向锁→轻量级锁(CAS)→重量级锁(OS互斥锁)


二、实战场景题

高并发场景

  1. 设计百万级QPS秒杀系统

    • 分层削峰:Nginx限流+Redis预减库存+消息队列异步处理

    • 热点隔离:单独Redis集群处理秒杀商品

  2. 解决缓存穿透

    • 布隆过滤器(拦截无效请求)+空值缓存(防止频繁查DB)

  3. 防止缓存雪崩

    • 随机过期时间+多级缓存(本地缓存→Redis→DB)+熔断降级


分布式系统

  1. 分布式唯一ID实现

    • Snowflake(趋势递增,时钟回拨问题)

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

  2. 保证分布式事务

    • 2PC(强一致,性能差)、TCC(最终一致)、SAGA(长事务)、本地消息表

  3. CAP理论应用

    • CP(一致性+分区容错性),如支付系统必须保证数据强一致


数据库优化

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

    • ES search_after(深度分页)+覆盖索引+禁止跳页

  2. MySQL索引失效场景

    • LIKE '%xx'、函数计算、OR条件、隐式类型转换

  3. MVCC实现原理

    • ReadView+Undo Log版本链,解决不可重复读&幻读


微服务架构

  1. Spring Boot自动配置原理

    • @EnableAutoConfiguration+META-INF/spring.factories+条件注解

  2. Dubbo与Spring Cloud区别

    • Dubbo:RPC框架,性能高,适合内部服务调用

    • Spring Cloud:全家桶(Eureka、Feign、Hystrix),适合微服务生态

  3. 微服务限流设计

    • 令牌桶算法(Guava RateLimiter)+Sentinel熔断降级


三、银行业务相关(加分项)

  1. 保证金融级数据一致性

    • TCC事务(Try-Confirm-Cancel)+对账机制(定时核对账务)

  2. 防止重复支付

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

  3. 银行系统加密算法

    • RSA(非对称)、SHA-256(摘要)、国密SM4(对称)


四、面试准备建议

  1. 重点掌握高频考点

    • 根据统计,HashMap、多线程、JVM、MySQL索引、Redis等是最高频考点

  2. 理解底层原理

    • 不仅要会背概念,还要理解实现原理,如HashMap扩容机制、AQS实现等

  3. 结合实际项目经验

    • 准备2-3个能体现技术深度的项目,重点说明如何解决实际问题

  4. 模拟面试练习

    • 多参加模拟面试,熟悉面试节奏和问题回答技巧

  5. 关注最新技术动态

    • 了解Java最新版本特性(如Java 21虚拟线程)和行业技术趋势


 

2025年Java后端面试必刷题:场景题与八股文高频考点_第1张图片 

 

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

你可能感兴趣的:(java,面试,Java面试,java面试题,互联网大厂,java面试,java场景题)