米居两面面经 已offer

一面:
1、介绍项目   
2、线程池的运行全过程介绍一下   
3、线程池的提交执行方法除了有execute,还有个submit,了解吗?为什么不用这个?   
4、索引分别有哪几种?  
5、如何根据我们的业务建立合适的索引?   
6、使用唯一性索引和普通索引,修改数据命中索引时有什么区别?   
7、一条数据查询的全过程?  
8、BinLog和Redolog分别有什么作用?   
9、你提到了逻辑日和和物理日志,怎么理解?   
10、BinLog位于哪一层?RedoLog位于哪一层?   
11、比如对于HBase或者RocketMQ只需要一个日志文件即可,为啥MySQL是两个?  
12、只有BinLog,没有RedoLog可以吗?   
13、只有RedoLog,没有BinLog可以吗?  
14、为什么MySQL需要二阶段提交?   
15、主从同步的过程,存在什么问题?   
16、同步复制、异步复制、半同步复制有什么区别?为什么需要有半同步复制? 
二面:
1、了解SpringCloud吗? 
2、介绍一下Nacos和Apollo的区别?nacos不太了解。
3、Apollo如何实现配置的动态更新? 
4、什么是长轮询?为什么要使用长轮询去获取配置信息? 
5、Apollo自定义的BeanPostProcessor起到了什么作用? 
6、Apollo集群通常是一台节点还是多台节点部署,有什么区别? 
7、配置的动态更新是Apollo集群通过推模式给到服务端的还是服务端通过拉模式从Apollo集群获取的?我回答用拉模式。
8、为什么这时候需要使用拉模式,使用推模式的话当前场景有什么缺点? 
9、为什么Kafka消息消费的时候是拉模式,如果是推模式有什么问题吗? 
10、我们的应用服务端(作为客户端)连接Apollo集群的时候是连接其中的一个节点还是多个节点,为什么?我回答类似ZK集群,连接一个节点即可 
11、为什么连接一个节点即可,ZK的一致性怎么保证的? 
12、ZK可以保证读一致性还是写一致性?分别怎么保证的? 
13、既然ZK没有办法保证读一致性,那么如果当前有请求到节点上请求数据,正好这个节点上的数据发生了更新,没有同步到最新的结果, 我们需要得到最新的结果,有几种实现方案?我回答:1、同步等待一致后再读取,集群短暂时间不可用的方案 2、使用一个mapping表,记录所有的节点存在这个数据的版本信息,轮询后对请求进行转发请求最新数据的方案。 
14、面试官对我的回答不满意,问我还有没有方案。我回答暂时没有想到恳请提示。 
15、面试官提示读写分离有没有做过。回答有。有什么办法解决主从不一致呢,借鉴到ZK当前这个设计问题?
16、我回答了Mysql可以采用强制走主库、Sleep方案、show slave status命令查看主从延迟、对比位点、对比GTID方案。ZK的话也可以用这些思路去拓展 。
17、堆外内存的使用场景优缺点,有做过性能调优吗?
#上海米居网络#
全部评论
面试题有点难啊
点赞 回复 分享
发布于 2022-08-04 10:47

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
07-01 23:23
郑州大学 Java
否极泰来来来来:牛客迟早有高三的
点赞 评论 收藏
分享
评论
3
7
分享

创作者周榜

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