java高级面试收集

高频笔试/面试题
【Java 基础】
• HashMap 1.7 vs 1.8 差异、扩容死锁问题
• synchronized 升级流程(无锁→偏向→轻量→重量)
• ThreadLocal 内存泄漏场景与解决方案
• 线程池七大参数及拒绝策略自定义

【JVM & 性能】
• G1 与 ZGC 对比;线上 CPU 飙高如何排查(top → jstack → arthas)
• 一次 Full GC 频繁触发,如何定位泄漏点(jmap + MAT)

【Spring / MyBatis】
• Spring Boot 自动装配原理(@EnableAutoConfiguration + spring.factories)
• MyBatis 一级、二级缓存失效场景
• @Transactional 失效的 5 种常见原因

【中间件 / 分布式】
• Redis 缓存雪崩、穿透、击穿的防护方案
• 实现分布式锁:SETNX + 过期时间 vs Redisson
• RocketMQ 如何保证顺序消息与幂等消费
• MySQL 与 ES 数据一致性(Canal / Binlog 异步)

【项目深挖】
• 日 500 万次搜索,如何设计商品检索(倒排索引 + 分片 + 热点缓存)
• 秒杀库存扣减:Redis 预减 + 消息队列削峰 + 最终一致性
• 分库分表后分页查询怎么做(ES + 宽表 + 游标)

【场景题】
• 突发流量导致订单接口超时,如何 10 分钟内止损?
• 商家批量导入 10 万 SKU,如何保证不重复、不阻塞?

  1. Java基础‌:

    • JDK和JRE的区别
    • ==和equals的区别
    • final在java中的作用
    • String类的特点及常用方法3132
  2. 集合框架‌:

    • HashMap实现原理(数组+链表/红黑树)、扩容机制
    • ArrayList与LinkedList应用场景差异
    • ConcurrentHashMap的分段锁/CAS优化34
  3. 多线程‌:

    • 线程生命周期及状态转换
    • synchronized锁升级过程
    • volatile关键字的作用
    • 线程池参数(corePoolSize, maxPoolSize, workQueue)及拒绝策略34
  4. JVM‌:

    • 内存模型:堆(Young/Old)、栈、方法区、元空间
    • 垃圾回收算法:标记清除、复制、标记整理
    • 类加载机制与双亲委派模型34

框架相关问题

  1. Spring‌:

    • IOC容器:Bean生命周期、作用域、循环依赖解决
    • AOP实现原理(动态代理:JDK Proxy vs CGLIB)
    • 事务传播机制34
  2. Spring Boot‌:

    • 自动配置原理(@EnableAutoConfiguration + spring.factories)
    • Starter机制34
  3. MyBatis‌:

    • #{}与${}防注入区别
    • 一级/二级缓存34

数据库与中间件

  1. MySQL‌:

    • 索引优化:EXPLAIN执行计划解读、索引失效场景
    • 事务隔离级别:脏读、不可重复读、幻读及解决方案34
  2. Redis‌:

    • 数据类型应用场景(String缓存、Hash购物车等)
    • 持久化机制(RDB快照 vs AOF日志)
    • 缓存穿透(布隆过滤器)、雪崩、击穿解决方案34

面试建议

  1. 简历突出高并发、高可用关键词;准备 2 个实战调优案例.

项目实战:

        1、如何防止库存超卖?(悲观乐观锁、分布式锁)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多来哈米

还可以打赏???来试一毛

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值