问题记录
一对一
1、Redis 五种数据类型底层是怎么存储的
2、redis分布式锁跟zookeeper分布式锁怎么选型
3、AQS底层原理,公平锁跟非公平锁区别
4、MVCC
5、B树跟B+树的区别
6、java.util.concurrent包下的类
7、spring-boot的starter的原理
8、spring IOC 循环依赖的解决方案
火辣辣
1、项目
2、redis 为什么这么快
3、select * from Xx where type = 1 limit a,b; a越大执行越慢为什么
4、lambada表达式:计算字符串中字符的个数
5、两个线程轮流输出A、B
6、new ThreadPoolExeutor 线程池参数
7、饿了么多活
SAP
1、concurrentHashMap转化成红黑树的条件,除了节点超过8,为什么是红黑树,二叉树行不行,为什么小于6要转换成链表
2、redis setNx结点宕机(哨兵模式),可能会有多个线程拿到锁,如果要保证只有一个线程拿到锁,怎么做,不局限在redis,可以用其他技术
3、volatile 伪共享,比如一个对象有多个属性,只有一个属性是volatile修饰的,如果多个属性在同一个内存块中,则会导致不是volatile修饰的变量也会马上回写内存,如果只想要volatile修饰的变量内存可见,有什么解决办法: 我给了一个追加字符的方式,问还有其他方式嘛
4、kafaka相关,docker k8s
5、rocketMq可以支持事务嘛,怎么实现的
6、spring-boot,如果想要别人引用你的jar包就直接可以使用你的功能,不需要什么另外的配置,你要怎么做(类似mybatis怎么做的)
7、应用开发测试阶段都没问题,压测也没问题,上线之后一段时间rt时间变长,你的排查思路,生产遇到的jvm调优案例
8、数据库索引,groupby能用到索引嘛?给你一个慢查询SQL,你的排查过程
9、可重复读隔离级别是怎么解决问题的
10、给一组对象放到容器中,要求不重复,用什么容器,我给的hashMap,如果重复了会覆盖之前的对象,再问:如果要求重复了不往里面加用什么,给了Set集合,这样对象需要重写equal跟hashCode,问为什么要重写这两个,重写一个行不行
小红薯
一、算法:
1、相交链表、
2、将二叉搜索树转化成一维结构(数组、链表都可以)、
3、要投资一排商铺,每个商铺有收益值,要求不能投资相邻的商铺,要求投资收益最大
4、给一个正整数,转换成中文,比如8765456,输出八百七十六万五千四百五十六
5、LRU
二、技术
1、redis client用的什么组件