1、kafka和什么场景下快,什么时候用其他mq?什么场景比rocketmq快,从设计原理上分析?
https://www.jianshu.com/p/c9c4279164ed
https://www.jianshu.com/p/ef212ea15520
2、0 copy的优势在哪? 减少系统io
几次系统io? 内核直接到nic,原来4次,现在3次
为什么要从硬盘copy过来,发送的消息?还是文件? 文件
sendfile是操作系统还是jvm提供的能力? 系统,linux2.1之后引入
操作系统在做这件事的时候,线程有哪些变化?用户太,内核态
讲一下mmap,主要什么做什么,mmap什么时候刷硬盘?怎么和0copy结合(和sendfile一样)?
https://www.jianshu.com/p/81ca0d45d57f
4、kafka的topic和消费者有什么关系?1个topic10个patiton,5个消费者
5、kafka元数据存在哪里?https://www.jianshu.com/p/6e814e7a8233
6、g1原理,为什么cms碎片比G1多?算法 https://www.jianshu.com/p/e37789a2916c
7、mysql游标了解么 和 b树在一起为什么搜索快
https://www.jianshu.com/p/b598c915366f
8、批量拉数据,要把所有都遍历一遍,这时b+tree优点
https://www.jianshu.com/p/d14a6757e76a
-----------------挂了的二面-------------------
1、为什么加上spring事务注解,就可以实现事务?https://www.jianshu.com/p/3617dc4142b1
2、kafka ack默认是多少,多follower时,怎么判断?所有都要应答
3、kafka集群里分三个角色,broker,消费,生产,broker什么阶段返回元数据
https://www.jianshu.com/p/4ead9ecee237
4、qps 10000,tps多少?
5、mongo 更新成功,mysql失败,异构数据源
6、两个事务,事务1:两个count,同sql执行两遍,事务2:一个update,在两次count中发生,两次count拿到结果一样么?不一样,不可重复读
7、5个联合索引,第二个是null,如何匹配的?怎么解决
8、创建索引时mysql都做了什么?磁盘要存索引,要写文件,具体原理
9、行式存储和列式存储、查找数据结构有什么区别,具体都用什么场景?https://www.jianshu.com/p/949997b54d8e
10、threadlocal数据结构 ,1)什么时候创建map,2)map中的key存的是什么,value呢,3)怎么做到线程间的隔离,4)有线程就 class里定义,不同类加载器加载,同一个类中,只有一个线程,现在几个threadlocal?两个
https://www.jianshu.com/p/97f3fc440e68
11、cms gc过程,第一次stop world为了什么?第二次呢,第二次怎么标记,如何知道要回收哪些?第一次标记都stop了,为什么要有新的?什么是初始状态?二次标记后再有新的要gc怎么办?中间为什么还要有个并发标记?
12、怎么知道老年代引用了年轻代?什么时候年轻代会gc(触发young gc,不是晋升)
https://www.jianshu.com/p/e37789a2916c
13、后端服务交互原理
14、cas锁原理:https://www.jianshu.com/p/6d1f3b2a3ac0
15、怎么避免死锁?
java层面: 同步少依赖:https://www.jianshu.com/p/2589baa3e67c
加超时,可重入:https://www.jianshu.com/p/d9fa1ef31445
分布式锁:https://www.jianshu.com/p/914c738d29f3