中通面经

简介: 中通面经

中通面经

1、Springboot的启动流程是怎么样的?

new SpringApplication():

在SpringApplication的构造函数中,调用了一个initialize方法,所以他的初始化逻辑直接看这个initialize方法就行了。

1、添加源:将提供的源(通常是配置类)添加到应用的源列表中

2、设置web环境:判断应用是否应该运行在web环境中,这会影响后续的web相关配置

3、加载初始化器:从spring.factories文件中加载所有列出的ApplicationContextInitializer实现,并将他们设置到SpringApplication实例中,以便在应用上下文的初始化阶段执行他们。

4、设置监听器:加载和设置ApplicationListener实例,以便应用能够响应不同的事件。

5、确定主应用类:确定主应用类,这个应用程序类通常是包含public static void main(String[] args)方法的类,是启动整个SpringBoot应用的入口点

这里的第三步,加载初始化器这一步是springboot的自动配置的核心,因为在这一步会从spring.factories文件中加载并实例化指定类型的类。

SpringApplication.run

这个方法是SpringApplication类的核心,用于启动Spring Boot应用。

  • 启动&停止计时器
  • 获取和启动监听器
  • 装配环境参数(application.properties文件中的属性,环境变量、系统属性等)
  • 打印Banner
  • 创建应用上下文(到这一步真的开始启动了,第一步就是先要创建一个Spring的上下文出来,只有有了这个上下文才能进行Bean的加载、配置等工作)
  • 准备上下文
  • 刷新上下文(Spring启动的核心步骤,实例化所有的bean、设置他们之间的依赖关系以及执行其他的初始化任务、创建BeanFactory实例化Bean、web容器的启动)

总体框架

2、项目中哪里使用到了线程池?

3、讲一下线程池的执行原理?

4、线程池参数的设置是如何设置的?

5、MySQL的隔离级别?

6、AOP?切点,表达式,自己怎么手写一个AOP?(X)

7、redis是如何删除数据的?

8、redis内存淘汰机制?

9、redis的持久化机制?

10、redis底层数据结构?(SDS+)

11、redis跳表?

12、双重判定锁?

13、用的lock?为什么不用tryLock?

14、redis的分布式锁的底层实现原理?(看门狗机制说一下)

15、你在场景中要不要设置这个等待时间?

16、超卖问题的解决方案?

17、超卖问题怎么保证一定不会出现问题?

18、开发工具?mybatisplus ? mybatis

19、不同MQ的区别,项目中用的哪个?rocketMQ和rabbitMQ的区别?为什么rocketMQ的吞吐量高与rabbitMQ?(rocketMQ基于集群的方式,rabbitMQ是基于单机)

20、缓存场景一致性?

21、用过哪些大模型吗?写代码的时候?

22、反问?

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
机器学习/深度学习 算法 C#
C# | 凸包算法之Andrew‘s,获取围绕一组点的凸多边形的轮廓点
这篇关于凸包算法的文章,本文使用C#和Andrew’s算法来实现凸包算法。 首先消除两个最基本的问题: 什么是凸包呢? 凸包是一个包围一组点的凸多边形。凸多边形是指多边形中的每个内角都小于180度的多边形。 凸包算法有什么用呢? 凸包算法的作用是找到这个凸多边形,并且使用最少的点来绘制出它的轮廓。凸包算法在计算机图形学、计算几何和机器学习等领域中有着广泛的应用。
422 0
|
Ubuntu 开发工具 Docker
在docker中配置apt工具与python的源均为国内源
在docker中配置apt工具与python的源均为国内源
810 1
|
JavaScript 安全
TypeScript中any unkown never的区别
TypeScript中any unkown never的区别
|
消息中间件 前端开发 NoSQL
秋招过半零Offer怎么办?
秋招过半零Offer怎么办?
183 0
|
JavaScript 前端开发 测试技术
【Vue】动态树与数据表格分页查询实现
【Vue】动态树与数据表格分页查询实现
308 0
|
消息中间件 Apache RocketMQ
《Apache RocketMQ 源码解析》电子版地址
本书围绕Apache RocketMQ 源码进行多方面分析,包含RocketMQ ACL、RocketMQ 消息轨迹、RocketMQ 多副本之Leader 选主等,带你深入了解Apache RocketMQ。
292 0
《Apache RocketMQ 源码解析》电子版地址
|
数据安全/隐私保护 Windows
win10如何取消密码登录
win10如何取消密码登录
|
前端开发
前端知识学习案例20vs code-格式化文档
前端知识学习案例20vs code-格式化文档
208 0
前端知识学习案例20vs code-格式化文档
|
人工智能 安全 NoSQL
|
机器学习/深度学习 机器人

热门文章

最新文章