✅2年985硕,直播业务,redis,kafka,
面试者背景
:::warning 2年985硕,直播业务,JAVA技术,redis,kafka,
直播什么业务,哪部分复杂一点?点赞**&**连麦事件、spring消费事件,顺序消息,
Spring的事件和MQ****区别,各自有什么好处?Spring的事件默认是异步的吗?如何实现异步?
为什么用事件驱动的方案?好处是啥?异步通信、非阻塞,
Kafka****如果消费失败了怎么办?应用挂了怎么办?
如何能避免丢消息问题?落表,如何设计这张消息表?eventid、state、body、eventType,failReason、times、lastExTime
如果用了消息表了,有序如何保证?消息表如何设计索引?事件id唯一索引、状态索引,
状态区分度不高加索引有用吗?event执行会用什么设计模式?
策略模式好处是啥,公共的逻辑如何处理?模板方法模式。
点赞是每一次都会发个事件吗?靠kafka消息合并、
连麦有什么特别的难点吗?消息的严格有序是如何保障的?发送到同一分区、单线程消费、
如果发生了重平衡,有序还能保障吗?重平衡会带来什么问题?stw、消息堆积、重复消费、
Kafka****的渐进式重平衡知道吗?
你们的连麦支持同时连麦?如何支持优先连麦?最多同时可以连多少人?
如果避免并发操作连多?redis记录连麦人数?为啥用redis可以解决并发问题?单线程
工作中有封装过一些公共的组件吗?SimpleDateFormat做日期转换?
SDF****的线程安全问题知道吗。如何解决?
日志框架用的哪个?log4j,同步日志还是异步日志?你自己配置过log4j的配置文件吗?
看过哪些源码么?Spring、Spring的bean的初始化过程,实例化和初始化区别,
Bean****实例化的入口的方法和类名知道么。
有什么情况会导致一个bean无法被初始化么?构造器注入&循环依赖,@Lazy
Spring之前用的哪个版本?SpringBoot 3.0知道么?AOT编译,定义starter**,**
定义一个starter需要做什么?在starter里面如何做个开关控制bean的实例化?
**Spring的事务机制了解么?编程式&**声明式,你觉得声明式事务有啥缺点。
声明式事务,事务失效了,可能有哪些情况?private调用、this调用为啥不生效?AOP、final、rollbackFor、数据库不支持、多线程会导致事务失效吗?为什么?
Threadlocal****在哪些框架有应用?Spring、Mybatis有吗?全链路追踪框架
如何在线程池之间传递ThreadLocal?ITL、TTL,TTL的原理知道么?
**有最近看过哪些框架、技术的新版本么?****JDK **新版本有啥新特性?虚拟线程。用了虚拟线程后还有必要用线程池吗?守护线程、
堆上还有很大内存,但是还是有频繁的fullgc,可能是什么原因?system.gc被调用、CMS搞不定了要用G1?
:::
题目解析
:::color4 Spring的事件和MQ****区别,各自有什么好处?Spring的事件默认是异步的吗?如何实现异步?
为什么用事件驱动的方案?好处是啥?异步通信、非阻塞,
:::
✅Spring Event和MQ有什么区别?各自适用场景是什么?
✅在Spring中如何使用Spring Event做事件驱动
:::color4 Kafka****如果消费失败了怎么办?应用挂了怎么办?
如何能避免丢消息问题?落表,如何设计这张消息表?eventid、state、body、eventType,failReason、times、lastExTime
如果用了消息表了,有序如何保证?消息表如何设计索引?事件id唯一索引、状态索引,
:::
:::color4 状态区分度不高加索引有用吗?event执行会用什么设计模式?
:::
:::color4 策略模式好处是啥,公共的逻辑如何处理?模板方法模式。
点赞是每一次都会发个事件吗?靠kafka消息合并、
:::
:::color4 连麦有什么特别的难点吗?消息的严格有序是如何保障的?发送到同一分区、单线程消费、
如果发生了重平衡,有序还能保障吗?重平衡会带来什么问题?stw、消息堆积、重复消费、
Kafka的渐进式重平衡知道吗?
:::
:::color4 你们的连麦支持同时连麦?如何支持优先连麦?最多同时可以连多少人?
如果避免并发操作连多?redis记录连麦人数?为啥用redis可以解决并发问题?单线程
:::
:::color4 工作中有封装过一些公共的组件吗?SimpleDateFormat做日期转换?
SDF的线程安全问题知道吗。如何解决?
:::
✅SimpleDateFormat是线程安全的吗?使用时应该注意什么?
:::color4 看过哪些源码么?Spring、Spring的bean的初始化过程,实例化和初始化区别,
Bean****实例化的入口的方法和类名知道么。
有什么情况会导致一个bean无法被初始化么?构造器注入&循环依赖,@Lazy
:::
:::color4 Spring之前用的哪个版本?SpringBoot 3.0知道么?AOT编译,定义starter**,**
定义一个starter需要做什么?在starter里面如何做个开关控制bean的实例化?
:::
✅Spring 6.0和SpringBoot 3.0有什么新特性?
:::color4 **Spring的事务机制了解么?编程式&**声明式,你觉得声明式事务有啥缺点。
声明式事务,事务失效了,可能有哪些情况?private调用、this调用为啥不生效?AOP、final、rollbackFor、数据库不支持、多线程会导致事务失效吗?为什么?
:::
:::color4 Threadlocal****在哪些框架有应用?Spring、Mybatis有吗?全链路追踪框架
如何在线程池之间传递ThreadLocal?ITL、TTL,TTL的原理知道么?
:::
✅有了InheritableThreadLocal为啥还需要TransmittableThreadLocal?
:::color4 **有最近看过哪些框架、技术的新版本么?****JDK **新版本有啥新特性?虚拟线程。用了虚拟线程后还有必要用线程池吗?守护线程、
堆上还有很大内存,但是还是有频繁的fullgc,可能是什么原因?system.gc被调用、CMS搞不定了要用G1?
:::