新鲜热乎的菜鸟一面面经,面试官真的好!
45分钟:(忘记录音了,全凭记忆记得一些问题,不太全,有些可能有点错,见谅了。)
hashmap和concurrenthashmap底层实现,put原理。
hashcode和equals区别联系?红黑树和平衡二叉树的区别?
为什么用红黑树不用其他的树?
ArrayList和linkedList区别,插入元素会咋样?
jvm内存分区?
堆上的元素满了会发生什么?
发生了OOM,应该怎么去分析解决?jvm调优
new一个对象,引用放在哪?基本数据类型的数据会放在哪?
堆,再具体点堆上的分区是什么?
为什么两个Survivor 区?
线程执行的时候遇到IO会不会挂起?
线程池的参数?
corepoolsize和maximumPoolSize 的区别?
为什么用线程池?
线程的几个状态?
线程池的工作队列?
线程池的拒绝策略?
什么时候发生线程的上下文切换?
CPU什么时候交出自己的时间片?
如果一个页面迟迟不响应,一直在创建线程,线程池满了。怎么办?
数据库的乐观锁悲观锁咋实现?
聚簇索引和非聚簇索引区别?
哈希索引了解吗?为啥不用这个。
索引是用什么建立的?
非聚簇索引怎么查数据的?存放的是什么?
mysql的存储引擎?
四种隔离级别,解决什么问题?咋实现的。
什么是幻读?
如果有一个联合索引A->B->C,那我能不能锁住B?能不能锁A?(最左匹配原则,面试的时候忘了)。
synchronized和ReentrantLock 区别?
公平锁和非公平锁哪个效率高?
java锁,锁升级,锁对象的对象头?
偏向锁的id放在哪?
分布式:了解吗?用过没?讲讲。
RDP协议
远程方法调用。
如何实现分布式服务器之间的通信?
spring是啥?
spring的原理?三大核心?
AOP实现是啥?
讲一下动态代理。
注解:Autowired与啥啥啥的区别,没听清都。不会。
mybatis:(不会了)
是个啥?
sql如何与代码整合?
xml文件如何被使用的?
#面经##校招##Java工程师##阿里巴巴#