社招:中通一面简要总结
面试岗位:Java开发工程师
面试时间:2021年10月12日,采用电话面试的方式,过程一共持续50+分钟
主要涉及领域:Java多线程,并发,JVM,MySQL,Redis以及大数据相关。
面试总结:
1、自我介绍。
2、MySQL的索引有哪些?
3、Hash索引和B+树索引有什么区别?如何解决哈希冲突(有哪些算法)?
4、B+树和B树的区别?为什么不用B树作为索引实现?
5、讲事务的隔离级别?
6、MySQL如何实现可重复读或者说可重复读实现原理?
7、乐观锁的应用场景?乐观锁存在哪些问题?CAS算法自旋是怎么回事啊?是CPU空转么?
8、如何确认一个对象会否存活?
9、有哪些可作为GC ROOT对象?
10、讲讲线程池常用的构造器?
11、讲讲线程池的常用参数?等待队列是无界还是有界?
12、设计一个生产者消费者系统,可能会用到哪些类和方法?提醒一下,除了wait和notify方法外
13、sleep方法是否释放锁?
14、讲讲公平锁和非公平锁实现原理?
15、Synchronizeed和ReetrantLock的区别?
16、ReetrantLock为什么是可重入锁?
17、Redis应用场景。
18、你有什么想问我的?
过程还算顺利,上午面试,下午收到现场面邀请(二面)。