当前位置: 首页 > 面试经验 >

微派-一面

优质
小牛编辑
131浏览
2023-04-21

微派-一面

NSQ 消息队列 生产者发消息是 http请求发的吗 还是TCP?

发消息有两种方式,http请求和通过tcp连接发送。java客户端nsq-j是通过tcp连接发送。curl工具是通过http请求发送。

优化了客户端,提供了故障转移和负载均衡,故障转移和负载均衡 怎么转移? 有重试吗?

在发消息之前 会先获取一个连接 故障转移就是如果当前这个连接不可用 那么使用备用的连接,负载均衡就是 每次获取连接 循环的获取下一个。

发送消息失败了 并且有连接可以用,那么会更换一个连接重试,如果获取连接的时候都失败了 没有可用的连接 就会抛异常。

你说你了解NSQ的实现,讲一下NSQ如何实现的?

Redis热点Key和大Key问题?是什么? Redis如何处理的?

MySQL宕机重启了,怎么知道哪些事务是需要回滚的哪些是需要提交的?(redo log 两阶段提交)

一个事务开启之后,进行操作就会写入redo log(prepare阶段),提交事务之后会写入bin log,然后在设置redo log(commit阶段)。 这样就算bin log 或者redo log出现错误(不能刷盘等等)。也不会影响事务的正常。因为mysql 在启动之后,恢复数据是判断事务是回滚还是提交,首先判断事务在redo log中是否commit,如果是 那么提交事务,如果不是判断是否存在对应的bin log,如果存在提交事务,如果不存在回滚事务,这样就可以保证bin log 和redo log 记录一致不会冲突。

#软件开发2023笔面经#

#软件开发2023 笔面经#
 类似资料: