2025 全新阿里巴巴 Java 面经汇总(附答案模板),建议收藏!

钉钉一面

1.笔试(两道全排序)

2.java8有哪些新特性?

3.Object类中有什么方法,有什么作用?

4.介绍下 Collection 接口

5.HashMap、ArrayList 线程不安全如何解决?

使用线程安全的容器,例如 ConcurrentHashMap 和 CopyOnWriteArrayList 等替换。

或是使用 Collections.synchronizedMapCollections.synchronizedList 包装原来的容器即可。

6.Spring AOP

  • 573. 什么是 AOP?

7.Spring AOP 如何实现动态代理?

  • 574. Spring AOP默认用的是什么动态代理,两者的区别?

8.在项目中用过哪些多线程类?

  • 480. 你使用过哪些 Java 并发工具类?

9.RPC 有了解吗?

  • 732. 让你设计一个 RPC 框架,怎么设计?

  • 155. 什么是 RPC?目前有哪些常见的 RPC 框架?实现 RPC 框架的核心原理是什么?

10.分布式架构用过吗?如何使用分布式

  • 151. 什么是分布式?为什么需要分布式?

  • 772. 什么情况下需要使用分布式事务,有哪些方案?

11. 分布式锁有了解过吗

  • 分布式锁一般都怎样实现?

12.双亲委派机制

  • 439. 什么是 Java 中的双亲委派模型?

13.JVM 的栈堆 都是干嘛的?

  • 524. Java 中堆和栈的区别是什么?

14.gc 中如何判断对象是垃圾?

  • 534. Java 中如何判断对象是否是垃圾?不同垃圾回收方法有何区别?

14.JDK8后,JVM 有哪些变化?

  • 536. 为什么 Java 8 移除了永久代(PermGen)并引入了元空间(Metaspace)?

15.智力题排列问题

  • 5326. 排列问题

16.平时都怎么学习的

点击链接,获取更多大厂面经和答案详解。

阿里巴巴一面

Java内存区域

  • 523. JVM 的内存区域是如何划分的?

事务的隔离级别

  • 606. MySQL 中的事务隔离级别有哪些?

  • 585. Spring 事务有几个隔离级别?

脏读与幻读的区别

  • 608. 数据库的脏读、不可重复读和幻读分别是什么?

说下 MVCC

  • 604. MySQL 中的 MVCC 是什么?

redo log 和 bin log 区别

  • 106. MySQL 中的日志类型有哪些?binlog、redo log 和 undo log 的作用和区别是什么?

Spring 事务的传播机制

  • 586. Spring 有哪几种事务传播行为?

  • 587. Spring 事务传播行为有什么用?

AOP 的原理是什么

  • 573. 什么是 AOP?

AOP 底层两个动态代理的区别

  • 574. Spring AOP默认用的是什么动态代理,两者的区别?

Java 字节码

  • 5909. Java 字节码了解吗?

设计分布式锁可以设计哪些接口

设计分布式锁时,常见的接口包括获取锁、释放锁、续期锁以及尝试获取锁。

1)获取锁 (acquireLock)

  • 尝试获取分布式锁,若成功则返回锁的唯一标识符,失败则返回获取失败的状态或进行重试。

2)释放锁 (releaseLock)

  • 释放已获取的锁,需要提供锁的唯一标识符和锁持有者信息,以确保释放的锁确实是持有者所持有的。

3)尝试获取锁 (tryAcquireLock)

  • 尝试在有限的时间内获取锁,若在指定时间内获取成功则返回锁的唯一标识符,失败则返回获取失败的状态。

4)续期锁 (renewLock)

  • 在锁接近过期时,延长锁的有效期。续期操作必须验证续期请求的合法性,即续期者确实是锁的持有者。

5)查询锁状态 (isLocked)

阿里菜鸟后端一面

对于给表创建索引,你会考虑什么?

  • 9805. MySQL 在设计表(建表)时需要注意什么?

  • 1479. 在什么情况下,不推荐为数据库建立索引?

哪些场景下索引是会失效的?

  • 598. MySQL 中使用索引一定有效吗?如何排查索引效果?

你有自己去用redis去实现一个限流器吗?

  • 1190. 什么是限流?限流算法有哪些?怎么实现的?

  • 34. Redisson 的 RateLimiter 是什么?如何在项目中实现分布式限流?你的限流策略是什么?

你有用过一些中间件吗?

详细介绍一下线程池的工作流程?说一下线程池的核心参数?如果核心线程、最大线程都在工作,队列也满了,这时候来了个任务,此时会发生什么?

  • 472. 你了解 Java 线程池的原理吗?

核心线程数在运行过程中能修改吗

  • 5931. Java 线程池核心线程数在运行过程中能修改吗?如何修改?

你平时用过哪些数据库?

数据库的隔离级别有哪些?

  • 606. MySQL 中的事务隔离级别有哪些?

可重复读是怎么实现的?

  • 604. MySQL 中的 MVCC 是什么?

你了解数据库层面的悲观锁与乐观锁吗?

  • 610. MySQL 的乐观锁和悲观锁是什么?

什么情况下会导致死锁?

  • 518. Java 中什么情况会导致死锁?如何避免?

说一下mysql的行锁

  • 609. MySQL 中有哪些锁类型?

说一下幻读

  • 608. 数据库的脏读、不可重复读和幻读分别是什么?

redis的主从复制是怎么实现的?

  • 651. Redis 主从复制的实现原理是什么?

HR 面题目参考

  1. 你现在还在xx实习吗?
  2. 在xx公司做了什么?选一个具体项目讲讲背景、你的做法和成果。
  3. 这个项目有量化指标吗?能提供数据说明结果吗?
  4. 复盘来看,哪些地方做得不错?是怎么做到的?
  5. 你有做过 ToB 业务的项目吗?
  6. 这两段实习中,遇到的最大困难是什么?
  7. 这两段实习带来了哪些收获?做得好的地方和需要提升的地方分别是什么?
  8. 生活中有没有经历过特别困难的时期?
  9. 选择公司时,你会考虑哪些因素?
  10. 反问环节。

更多面经及答案可以打开面试鸭阅读学习 ➡️ :www.mianshiya.com/

相关推荐
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
PAK向日葵5 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
舒一笑5 小时前
我的开源项目-PandaCoder迎来史诗级大更新啦
后端·程序员·intellij idea
@昵称不存在6 小时前
Flask input 和datalist结合
后端·python·flask
zhuyasen6 小时前
Go 分布式任务和定时任务太难?sasynq 让异步任务从未如此简单
后端·go
东林牧之6 小时前
Django+celery异步:拿来即用,可移植性高
后端·python·django
YuTaoShao7 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
源码_V_saaskw7 小时前
JAVA图文短视频交友+自营商城系统源码支持小程序+Android+IOS+H5
java·微信小程序·小程序·uni-app·音视频·交友
超浪的晨7 小时前
Java UDP 通信详解:从基础到实战,彻底掌握无连接网络编程
java·开发语言·后端·学习·个人开发