1面

1.说说ArrayList,LinkedList的差别是什么?

2.链表既然查询性能不足,在保持链表的基本特性的基础上,有没有办法改造下链表它的查询速度?

3.快排、堆排和归并都是O(nlog n)的算法,为何JDK选择快速排序?

4.现在我有一个十万大小的数据集,要从中寻找选出最大的10个元素,怎么做呢?

5.JDK1.8中在数据结构上,对HashMap做了什么样的改进?为什么?

6.为什么HashMap不一直使用红黑树?

7.面向对象的特征有哪些方面?

8.String

和StringBuffer,StringBuilder的区别

9.说出Servlet的生命周期,并说出Servlet和CGI的区别。

10.abstract

class和interface有什么区别?

接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

2面

1.为什么TCP握手需要三次?

2.TCP的四次挥手中为什么要有TIME_WAIT状态?

3.TCP协议本身会导致什么样的安全问题?

4.对Java接口代理模式的实现原理的理解?

5.Mybatis打开调试模式之后,能打印sql语句等信息,这是怎么实现的?实现过程中使用了什么设计模式?

6.Spring在Bean创建过程中是如何解决循环依赖的?

7.Spring MVC 运行流程

8.BeanFactory和ApplicationContext有什么区别?

9.如何对数据库如何进行垂直拆分或水平拆分的?

10.什么是幂等性?

11.柔性事务是什么,分布式环境下为何要放弃传统事务?

12.实现分布式Session的过程是怎样的?

13.JVM中存在哪些引用?

14.请简单描述下双亲委派模型?为何Java推荐使用这种模型?Tomcat中是双亲委派模型吗?

15.HotSpot中的堆为什么要分为新生代和老年代?

16.CMS收集器有哪些特点?

3面

1.如何实现分布式锁

2.如何保证redis和mysql数据一致?

3.如何解决缓存击穿问题?

4.如何实现并发限流

5.请概述volatile关键字

6.synchronized的实现原理是什么?

7.说说 Dubbo 服务暴露的过程(发布订阅)

8.ZK分布式锁有几种实现方式?各自的优缺点是什么?

最后修改:2026 年 06 月 06 日
如果觉得我的文章对你有用,请随意赞赏