一面(7.26 体验巨好,不会的面试官都会讲解引导)
1、介绍项目
2、bean生命周期
3、循环依赖怎么解决,一级缓存可以解决循环依赖问题吗
4、InitializingBean实现类的afterPropertiesSet方法在bean生命周期什么地方实现的
5、mybatis自身的多级缓存,二级缓存默认关闭的原因
6、mysql默认引擎,为什么用b+树
7、范围查询是否索引失效,聚簇索引和非聚簇索引,非聚簇索引查数据的过程
8、jvm内存模型;垃圾标记算法,可达性分析哪些可以作为gcboots;垃圾回收算法,年轻代和老年代用的哪种;垃圾回收器CMS和G1
9、redis缓存一致性,速度快的原因, HyperLogLogs,redis中hash扩容流程,持久化机制
10、算法:三数之和
二面(7.29)
1、jvm类加载过程,静态变量在哪个阶段附默认值和初始值,clinit方法的作用
2、jvm运行时数据区包含那几个部分,本地方法栈包括哪几个部分
3、synchronized关键字锁升级过程,具体哪几个阶段,轻量级锁和重量级锁的区别
4、aqs的原理,底层数据结构
5、现在有arraylist和hashmap线程非安全的集合类,有什么方法保证线程安全
6、concurrenthashmap线程安全和数据结构,分段锁怎么实现的,分多少段,每个段里多少个内容
7、mysql中b+树特点,叶子节点为什么有引用链,一般b+树高度,每层存多少数据
8、可重复读怎么实现的,mvcc
9、优化mysql的方式
10、项目中redis业务场景,String存的value数据量大概多少
11、设计题:浏览器前进后退功能如何实现(哪些数据结构)
12、算法题:合并k个有序链表
三面(8.9 主管没时间推迟了两天,面试官迟到忘记录音了,大概记得这么多,问的好多我简历上都没有根本不会)
1、redis缓存一致性,缓存击穿、雪崩、穿透处理方案
2、nacos选主原则、一致性协议
3、算法:(0,0)->(m,n)多少种走法
4、hashmap原理,concurrenthashmap的并发度和capacity的作用
5、线程timed-waiting和blocked的区别
6、查看dump的命令
7、redis中常用数据结构,zset底层
8、场景:校门进出查看时间段内进出的人,滑动窗口怎么实现
9、springcloud底层通信
10、netty(直接说没学过)
11、redis分布式锁,如何设置过期时间,setnx和setex两条命令满足原子性吗,zookeeper分布式锁
第二天给我挂了,流程结束