MiniMax - Agent后端 - 一面 5.23

1. 自我介绍
2. 我们简单聊一聊你这个apache seata分布式事务框架吧,简单介绍一下它一般用在什么业务场景中,另外就是它和其他的分布式事务框架有什么区别?(先讲业务场景,然后从四个模式分别讲seata的做法)
3. 我这里有个小问题啊,就是这里提到的AT模式他是怎么判断需要回滚还是提交的?(前后镜像,然后讲前后镜像怎么生成的)
4. 能举个例子简单说下什么是前后镜像吗?(拿具体的sql讲,从sql parser到读镜像数据记录log的完整过程)
5. 所以本质上所谓的前后镜像其实就是执行事务前后的表状态对吧?(对的)那我是不是可以理解它是一个快照,然后通过快照做后面的二阶段。(对)
6. 那么其实对于一个事务,我如果后面的操作覆盖了前面的操作你这里前后镜像是捕获不到这种变化的对吧?(讲了生成镜像的时机)
7. 你前面提到XA和AT都是基于sql的,那tcc其实是没有这个局限的对吧?(讲了tcc的实现,以及tm rm tc相关的)
8. okok,我明白你的意思了,我这边其实还有一个问题,就是你比如at的快照或者说saga的状态机定义也好,他是存在当前实例上吗?(这里at和saga有区别,讲了讲区别)
9. 我明白你意思了,那如果说你像at这种自动进行二阶段的模式,比如出错了之类的,这种情况我们的兜底策略是什么啊?
10. ok,顺着这个延伸下去其实我有个问题,假设现在我系统出了问题,比如出现了网络分区之类的,可能回滚的时候访问不通一些节点,那对整个系统是不是会有一些数据不一致的情况,这种情况下有什么解决办法吗?(没答出来)
11. 你这里优化锁键构造算法这个pr是做了什么,锁键是哪的锁键?
12. ok,那我们聊聊你这个存储的开源吧,你这里写他是一个增强版的redis,你觉得哪里是增强呢?(讲了大概架构,对比redis)
13. 那你觉得kiwi和redis应用场景有什么区别吗?(讲了这个项目的期望,最后期望是做到只替换ip和端口就可以无痛把已有业务的redis换到kiwi)
14. 了解,你们这里磁盘存储的话性能会不会有影响?(社区有过测试,延迟表现比redis差一些,qps表现比redis好一些)
15. 明白了,那我们先做到题吧。(数组全排列)
16. 讲讲思路。(递归)
17. ok,介绍下你自己的这个分布式存储项目吧。
18. 这里zset怎么实现的(skiplist + wal)
19. 你这里并发处理逻辑是什么样的(按照key分槽,每个key的所有操作一定按请求顺序在同一个槽内处理,可以不加锁,整体并行,槽内串行)
20. 最后一个问题,聊聊gc吧,为什么gc一定需要stw呢?
21. 反问:
1. 您觉得我需要继续提升的地方?
2. 一共几轮面试?
3. agent后端这边主要做什么?
全部评论
你什么时候卖课什么时候开源 我跪下来听😭😭全部放到我的简历上 拼开源
2 回复 分享
发布于 昨天 13:23 广东
大佬的面经真是一点参考价值都没有 那是一点不会
1 回复 分享
发布于 昨天 13:22 广东
佬,反问的agent后端主要做什么哇?
点赞 回复 分享
发布于 昨天 22:08 广东
开课吧
点赞 回复 分享
发布于 昨天 14:51 北京

相关推荐

昨天 09:42
门头沟学院 Java
点赞 评论 收藏
分享
昨天 20:53
Java
点赞 评论 收藏
分享
评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务