社招面试题目|阿里巴巴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、你认为你自己的优势是什么?和别人比起来,你觉得自己的水平如何?又欠缺些什么?
#社招##面经##Java工程师##阿里巴巴#