微派-一面-后端开发

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笔面经#
全部评论
佬!
点赞 回复 分享
发布于 2023-05-20 10:33 河南
面了多久
点赞 回复 分享
发布于 2023-04-25 13:00 浙江
什么岗位
点赞 回复 分享
发布于 2023-04-25 12:45 安徽

相关推荐

一面(5.30)45min自我介绍说说java中常用的集合linkedList 和 ArrayList的区别以及在什么时候会使用如果现在要自己实现一个hashmap,会怎么设计链表法和开放寻址有了解过吗?有哪些数据结构运用了开放寻址法说一下运行时数据区域里面有什么新实例化一个对象在堆上的一个分配流程是什么对gc的了解synchronized和juc包下面的工具类在日常开发中是怎么用的如何理解synchronized对性能有影响偏向锁是什么synchronized锁升级的流程threadlocal实现原理在开发中用到threadlocal中有没有什么坑为什么要在finally移除掉这个threadlocal强引用 弱引用 软引用 虚引用是什么concurrentHashMap的实现原理如何理解悲观锁和乐观锁,为什么认为乐观锁的性能会更好一次上下文切换大概要消耗多少性能,cpu空转又要消耗多少资源上下文切换的流程,上下文切换本质synchronized锁上了一个线程后,对于多核系统来说cpu资源可能会是什么状态spring的aop是基于什么实现的对cglib的了解,它是怎么去实现代理的在做项目的时候遇到特别有成就感的一件事在一个交易系统中,后端程序去调用微信支付接口,用户在使用微信支付时很久都没有支付,而后端程序并不知道支付成功还是支付失败,要怎么解决这种场景的发生为什么选择大二出来实习你以后是更希望成为一个更偏向业务的程序员还是更偏向技术的程序员校内的经历反问二面(6.5) 40min自我介绍讲一下mybatis拦截器的实现思路和应用场景数据隔离是怎么做的假如不限制时间不限制成本,实现数据隔离的方法threadLocal出现的bug怎么解决动态线程池是怎么设计的定时任务对动态线程池的作用假如说现在想要监控线程池的一些状态,你会想监控哪些属性讲一下双token机制探讨如何实现用户在token即将过期时无感的获取到新的token说一下对滑动窗口的理解想要实现随着时间变化的排行榜top100怎么实现问职业规划接不接受转go语言反问
点赞 评论 收藏
分享
评论
2
14
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务