税友集团Java开发实习一面
自我介绍
是否可以实习到年底?
实习经历
Java的1.7到1.8的HashMap的优化,为什么做这些优化?
1.8的HashMap扩容为什么要变成红黑树?
安全的List集合的介绍?
介绍一下Java的CopyOnWrite容器,实现原理?
Java的CourrentHahMap的1.7到1.8的优化?
Java中的volatile关键字的作用和底层原理?
介绍一下Java中的CAS,底层是怎么实现的,底层使用的什么类等等?
介绍一下Java的unsafe类的相关方法和底层原理?
介绍一下Java中的synchronized的锁升级?
介绍一下你对Java的AQS的理解?
举例那些锁使用AQS实现的,这些锁的作用和底层原理?
Java中reentrantLock怎么实现公平锁和非公平锁,怎么体现它是可重入的,说一下对应的底层原理,相关代码是否看过?
Java中reentrantLock的非公平锁什么时间去强占这个锁?
AQS底层中的队列中的头节点保存的什么,这个头节点有什么作用?
Spring中Bean的生命周期?
Spring中的注解经过怎么样的过程加载到IOC容器内?
Spring有那些后置处理器,对应的有那些方法,在创建Bean初始化过程中执行的时机?
Spring初始化时候怎么解决循环引用问题?
Spring中的三级缓存干什么的,三层缓存对应都是存的什么?
SpringMVC一个请求打到dispatcherservlet里面,经过一系列处理,到目标方法,再从目标方法出来,这个流程的原理讲一遍?
SpringBoot的配置文件怎么自动装配到Bean中去,这个流程的原理说一下?
SpringBoot中注解底层一般都是是怎么实现的,通用的流程原理说一下?
SpringBoot的注解自动装配是怎么触发的?
你使用Java写了一个第三方的包,你引到包里面,你也没有任何的配置,它怎么直接就触发了,可以使用了?
JVM的内存划分?
JVM中栈放的是什么,详细展开说明?
假如新建一个方法,是直接放在栈里面还是我作为一个什么东西压到栈中
栈帧是什么,栈帧放什么东西,栈帧细分展开说说,?
JVM中创建对象的详细过程,在堆里面的申请过程,这个对象存在堆里面的那个位置?
JVM堆的内存划分?
新生代老年代空间分配的运行过程?
JVM的栈的分配、TLAB、PLAB展开说说?
JVM怎么确定对象引用了,是不是垃圾?
JVM的GCRoots根对象枚举的流程,那些对象会当作根对象?
垃圾回收器,有那些,之间是怎么相互组合的?
CMS垃圾回收器并发回收失败了怎么办?
Redis使用的场景,怎么保证缓存和数据库的一致性问题,有一般几种方法,把详细过程说明一下?
讲一下基于Redis的分布式锁的简单实现,要注意那些方面,如果分布式锁中间过期了,出现释放和获取锁混乱怎么办?
RabbitMQ使用过延迟消息吗?
RabbitMQ重复消费问题,展开说说?
Dobbo的大概整体流程,展开说说?
反问
一共几轮面试?
是否有转正?
具体进入公司负责什么业务?
既然是企业服务,会出现外派到别的公司的情况吗?
面试官建议
知识都能答上来,但是需要提炼,精简回答问题,知识太散,抓不到重点进行说明,上层的Dobbo框架和SpringBoot的底层源码有所欠缺
注: 一面过,进入二面