美团面试官最新总结大厂高频“Spring boot面试文档”太全面了!

617 篇文章 0 订阅
445 篇文章 1 订阅

前言

Spring boot不单单在BAT这些一线大厂使用率极其的高,在中小企业中使用率也是非常高的,又赶上现在是跳槽面试的高峰期“金三银四”,企业的需求增大,当然对待面试者的要求也会随之提高,竞争也会随之增大。

相信现在的你之所以可以看到我的这篇文章,那肯定是因为最近在准备面试,到处搜刮面试题吧,今天给大家分享的这份“spring boot面试题集锦”,是美团面试官花了几个月的时间整理的,涵盖一线大厂所有常见的高频spring boot面试题,十分全面!现在分享给大家。

需要这份文档的完整版可以点击传送门即可获取!

点击卡片,免费领取完整版美团面试官“spring boot面试题文档”!

内容展示

因文章篇幅限制,只展示部分内容。

一、概述

什么是spring boot?

spring boot有哪些优点?

spring boot的核心注解是哪个?

二、配置

什么是JavaConfig?

spring boot自动配置原理是什么?

你如何理解spring boot配置加载顺序?

什么是YAML?

YAML配置的优势在哪里?

spring boot是否可以使用XML配置?

spring boot核心配置文件是什么? bootstrap. properties和application. properties有何区别?

什么是Spring Profiles?

如何在自定义客户端口上运行spring boot应用程序?

三、安全

如何实现spring boot应用程序的安全性?

比较一下Spring Security 和 Shiro各自的优缺点?

spring boot中如何解决跨越问题?

什么是CSRF攻击?

四、监视器

spring boot中的监视器是什么?

如何在 Spring Boot中禁用Actuator端点安全性?

我们如何监视所有Spring Boot微服务?

五、整合第三方项目

什么是 WebSockets?

什么是Spring Data ?

什么是Spring Batch?

什么是 FreeMarker模板?

如何集成Spring Boot 和 ActiveMQ?

什么是 Apache Kafka?

什么是Swagger?你用Spring Boot实现了它吗?

前后端分离,如何维护接口文档?

其他的一些问题

如何重新加载Spring Boot 上的更改,而无需重新启动服务器? Spring Boot 项目如何热部署?

您使用了哪些starter maven依赖项?

Spring Boot中的starter到底是什么?

spring -boot-starter-parent 有什么用?

Spring Boot打成的jar 和普通的jar有什么区别?

运行Spring Boot有哪几种方式?

Spring Boot需要独立的容器运行吗?

开启Spring Boot 特性有哪几种方式?

如何使用Spring Boot 实现异常处理?

如何使用Spring Boot实现分页和排序?

微服务中如何实现session共享?

Spring Boot 中如何实现定时任务?

结尾

一线大厂spring boot高频面试题都在这里面了,啃透了,在spring boot这块就没有什么问题了。

当然我知道单单这一块的面试题,在面试当中肯定是不够用的,所以我为大家整理了几乎包含所有技术块的面试题以及答案。

已经打包在我的网盘了(点击传送门即可分享给大家!)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
spring 的优点? 1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦 2.可以使用容易提供的众多服务,如事务管理,消息服务等 3.容器提供单例模式支持 4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 7.spring属于低侵入式设计,代码的污染极低 8.独立于各种应用服务器 9.spring的DI机制降低了业务对象替换的复杂性 10.Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部 什么是DI机制? 依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念,具体的讲:当某个角色 需要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在spring中 创建被调用者的工作不再由调用者来完成,因此称为控制反转。创建被调用者的工作由spring来完成,然后注入调用者 因此也称为依赖注入。 spring以动态灵活的方式来管理对象 , 注入的两种方式,设置注入和构造注入。 设置注入的优点:直观,自然 构造注入的优点:可以在构造器中决定依赖关系的顺序。 什么是AOP? 面向切面编程(AOP)完善spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面 1.面向切面编程提供声明式事务管理 2.spring支持用户自定义的切面 面向切面编程(aop)是对面向对象编程(oop)的补充, 面向对象编程将程序分解成各个层次的对象,面向切面编程将程序运行过程分解成各个切面。 AOP从程序运行角度考虑程序的结构,提取业务处理过程的切面,oop是静态的抽象,aop是动态的抽象, 是对应用执行过程中的步骤进行抽象,,从而获得步骤之间的逻辑划分。 aop框架具有的两个特征: 1.各个步骤之间的良好隔离性 2.源代码无关性 Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2. Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3.Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、 4. 说下Hibernate的缓存机制 1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据 c) 第三方缓存的实现 5. Hibernate的查询方式 Sql、Criteria,object comptosition Hql: 1、 属性查询 2、 参数查询、命名参数查询 3、 关联查询 4、 分页查询 5、 统计函数 6. 如何优化Hibernate? 1.使用双向一对多关联,不使用单向一对多 2.灵活使用单向一对多关联 3.不用一对一,用多对一取代 4.配置对象缓存,不使用集合缓存 5.一对多集合使用Bag,多对多集合使用Set 6. 继承类使用显式多态 7. 表字段要少,表关联不要

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值