飞道的博客

面试了一个交大程序员,我被反怼了,场面极度尴尬,最怕空气突然安静 !!!...

287人阅读  评论(0)

扫码观看,我是如何被交大学霸怼的

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
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场