今天给大家分享一篇 社招面试题目|阿里巴巴java工程师, 希望大家在面试中能够斩获Offer, 找到自己满意的工作。 一起来看看吧~
最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题。
点击下载完整PDF☞ 2022年最新Java面试题集
一、面试题
1、自我介绍
首先是自我介绍,这个是每一个面试都要做的事情。
2、项目介绍
项目的话就挑选一个你自己参与的项目,详细的介绍一下这个项目,包括了项目的业务难点、技术栈和难点逻辑的实现思路等等。
3、类的加载流程具体的讲一下
例:new一个String对象,它被存在哪?static String呢?final String呢?
5、了解JVM的收集器吗?请详细的介绍一下
6、创建一个对象的时候,构造方法的调用顺序
例:一个类继承了String的情况下,是怎么调用的?
7、在你的项目当中,你所使用的垃圾收集器是什么?为什么用这个垃圾收集器?
8、参与过JVM调优吗?
9、JVM如何调优?将一下你调优的过程以及结果
10、ReentrantLock属于乐观锁还是悲观锁?
12、ReentrantLock和synchronized本质上区别是什么?(sychronized和reentrantlock区别在哪里)
13、什么是悲观锁和乐观锁?(乐观锁是什么?)什么场景下会使用?
14、中间件你都使用过哪些?在什么样的场景下使用它们?
15、缓存的淘汰策略有哪些?
16、allkeys-lru的实现原理
17、队列只使用过RabbitMq吗?为什么选择RabbitMq?
18、了解过其他的消息队列中间件吗?
19、多线程用过吗?在什么场景下使用多线程的?
20、线程池参数有哪些?(线程池的核心参数有哪些?)
21、设置一个阻塞的线程要考虑到哪些参数?应该如何去设置?
22、使用线程池的时候,你是如何选择参数的?
23、你认为你自己的优势是什么?和别人比起来,你觉得自己的水平如何?又欠缺些什么?