电话面试,30多分钟
挂了,惨烈得一批,问的都是基础,但是都是实践上的基础,基础实在是太差了…
下面问题没有按顺序问, 面试官dalao基本想到啥问啥,我按照类型整理了一下
1.自我介绍,项目介绍
请你自己选一个你参与的项目,介绍下项目的业务难点,技术栈,以及难点逻辑的实现思路
2.Java基础方面
- 说一下java类的加载流程
- 创建一个对象时,构造方法的调用顺序,比如一个类继承了String的情况下,是怎么调用的?
- 常见的陷阱,但是没反应过来,String是final修饰的,不能被继承
- JVM的内存模型了解吗,比如我new一个String对象,它被存在哪,static String呢?final String呢?
- JVM的收集器了解吗, 给我介绍一下
- 你项目上的垃圾收集器用的是什么?为什么?
- JVM的调优有参与过吗?具体是怎么去调优的,说下过程和调优的结果?
- ReentrantLock属于乐观锁还是悲观锁,它的实现原理是什么?它与synchronized本质上的区别是什么?
- 悲观锁和乐观锁是什么?一般在什么场景下使用?
3.中间件
- 你都用过哪些中间件?都在什么场景下使用它们?
- 介绍下缓存的淘汰策略有哪些?
- allkeys-lru的实现原理是什么?
- 队列只使用过RabbitMq,为什么选它,其他的消息队列中间件有了解过吗?
4.多线程相关
- 用过多线程吗,你是在什么场景下使用多线程的?
- 线程池有哪些参数?我如果想要设置一个阻塞的线程,需要考虑到哪些参数,它们都应该怎么去设置?
- 你在使用线程池时,各个参数是怎么选择的?
5.其他
- 你觉得你自身的优势在哪?
- 相较身边的人,你觉得你的水平怎么样?和他们相比你欠缺些什么?