扫码观看,我是如何被交大学霸怼的
1、下午好,你是来面试的吗?不好意思,刚刚有点事情。
没事,我也是刚到。
2、你先简单的做下自我介绍吧
面试官你好,我叫刘*,是一名大四的应届生,我有过一段实习经历,当时做的项目是一个cms系统,是基于Spring Boot构建的,采用SringCloud微服务框架,用的数据库是mysql,整合了jpa,redis,RabbitMQ,ZooKeeper,Dubbo,用到了Security做安全框架
3、好的,我问你答吧。我听你说你主要做的是电商方面的,你能说说RabbitMQ有什么优缺点?
优点有解耦,异步,削峰,缺点有系统的可用性降低,复杂度提高,和一致性的问题
5. 能说说你对RabbitMQ工作模式的理解吗?
好的,(这个时候掰着手指)第一种simple模式,是最简单是收发模式,第二种work工作模式,就是资源的竞争,在高并发的时候需要设置一个syncronize保证消息的唯一性,还有个路由模式和发布订阅模式,记不清了。
6. 还有个topic主题模式。你刚刚提到了消息,你能说说如何保证消息消费时的幂等性吗?
保证消息的唯一性,在写入消息队列的时候做唯一标识,消费消息的时候,根据唯一标识判断是否消费过。
7. 那你有没有想过怎么保证RabbitMQ消息的可靠传输?
消息丢失的话分为三种,生产者丢失消息、消息列表丢失消息、消费者丢失消息。从生产者弄丢数据这个角度来看,RabbitMQ提供了transaction和confirm模式来确保生产者不丢消息;消息队列的话,一般都是开启持久化磁盘的配置;消费者丢数据一般是因为采用了自动确认消息模式,将它改成手动确认消息即可!
8. 能说说SpringBoot启动流程吗?
先new一个springApplication对象,利用spi机制加载接口实例,调run方法准备Environment,加载应用上下文,发布事件,最后创建spring容器,实现starter自动化配置。
9. 那你说说自动配置的原理是什么?
@EnableAutoConfiguration找到配置文件,然后读取每个starter中的spring.factories文件。
10. 你之前说你那个项目用到了Security,那你应该知道还有个shiro,你能说说各自的优缺点吗?
就我感觉的话,Security概念复杂,配置繁琐,但是它的功能强大,shiro就相对来说简单了很多。
转载:https://blog.csdn.net/weixin_44747933/article/details/106774248