扫码观看,我是如何被交大学霸怼的
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就相对来说简单了很多。
关于面试面试我还通过一些渠道整理了需要大厂真实面试主要有:蚂蚁金服、拼多多、阿里云、百度、唯品会、携程、丰巢科技、乐信、软通动力、OPPO、银盛支付、中国平安等初,中级,高级Java面试题集合,附带超详细答案,希望能帮助到大家。
还有专门针对JVM、SPringBoot、SpringCloud、数据库、Linux、缓存、消息中间件、源码等相关面试题。
领取步骤
1.加微信获取
来源:oschina
链接:https://my.oschina.net/u/4349287/blog/4313381