【性能优化实战】2021年一起努力应对互联网寒冬吧
作者:互联网
# 第一个暴击:Spring
上一份Spring的手绘思维脑图(就像是个知识大纲总结),预览一下Spring的知识点,心里有个谱。不过这边我是采用的截图方式,为了把全部的内容都截取出来,所以整个就比较小,可能不是很清晰。
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098054989055.jpg)
### Spring面试真题(七大模块:一般问题+IOC+Beans+注解+数据访问+AOP+MVC)
* 一般问题
> 1\. 不同版本的 Spring Framework 有哪些主要功能?
> 2\. 什么是 Spring Framework?
> 3\. 列举 Spring Framework 的优点
> 4\. Spring Framework 有哪些不同的功能?
> 5\. Spring Framework 中有多少个模块,它们分别是什么?
> 6\. 什么是 Spring 配置文件?
> 7\. Spring 应用程序有哪些不同组件?
> 8\. 使用 Spring 有哪些方式?
* IOC
> 9\. 什么是 Spring IOC 容器?
> 10\. 什么是依赖注入?
> 11\. 可以通过多少种方式完成依赖注入?
> 12\. 区分构造函数注入和 setter 注入。
> 13\. spring 中有多少种 IOC 容器?
> 14\. 区分 BeanFactory 和 ApplicationContext。
> 15\. 列举 IoC 的一些好处。
> 16\. Spring IoC 的实现机制。
* Beans
> 17\. 什么是 spring bean?
> 18\. spring 提供了哪些配置方式?
> 19\. spring 支持集中 bean scope?
> 20\. spring bean 容器的生命周期是什么样的?
> 21\. 什么是 spring 的内部 bean?
> 22\. 什么是 spring 装配?
> 23\. 自动装配有哪些方式?
> 24\. 自动装配有什么局限?
* 注解
> 25\. 什么是基于注解的容器配置?
> 26\. 如何在 spring 中启动注解装配?
> 27\. @Component, @Controller, @Repository, @Service 有何区别?
> 28\. @Required 注解有什么用?
> 29\. @Autowired 注解有什么用?
> 30\. @Qualifier 注解有什么用?
> 31\. @RequestMapping 注解有什么用?
* 数据访问
> 32\. spring DAO 有什么用?
> 33\. 列举 Spring DAO 抛出的异常。
> 34\. spring JDBC API 中存在哪些类?
> 35\. 使用 Spring 访问 Hibernate 的方法有哪些?
> 36\. 列举 spring 支持的事务管理类型
> 37\. spring 支持哪些 ORM 框架?
* AOP
> 38\. 什么是 AOP?
> 39\. 什么是 Aspect?
> 40\. 什么是切点(JoinPoint)
> 41\. 什么是通知(Advice)?
> 42\. 有哪些类型的通知(Advice)?
> 43\. 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处
> 44\. AOP 有哪些实现方式
> 45\. Spring AOP and AspectJ AOP 有什么区别?
> 46\. 如何理解 Spring 中的代理?
> 47\. 什么是编织(Weaving)?
* MVC
> 48\. Spring MVC 框架有什么用?
> 49\. 描述一下 DispatcherServlet 的工作流程
> 50\. 介绍一下 WebApplicationContext
完整的答案解析如下(总共有18页)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098054128317.jpg)
### Spring进阶学习笔记
* Spring高级源码笔记
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098054195852.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098055330914.jpg)
* Spring实战(第3版)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098055548061.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098055926280.jpg)
# 第二个暴击:SpringCloud
### 思维脑图--SpringCloud微服务实战思维脑图(xmind)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098056817193.jpg)
### SpringCloud面试真题
> 问题一:什么是 Spring Cloud?
> 问题二:使用 Spring Cloud 有什么优势?
> 问题三:服务注册和发现是什么意思?Spring Cloud 如何实现?
> 问题四:负载平衡的意义什么?
> 问题五:什么是 Hystrix?它如何实现容错?
> 问题六:什么是 Hystrix 断路器?我们需要它吗?
> 问题七:什么是 Spring Cloud Bus?我们需要它吗?
> 问题八:什么是 Netflix Feign?它的优点是什么?
完整的答案解析如下(总共6页)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098056279475.jpg)
## SpringCloud进阶学习
* SpringCloud Alibaba微服务笔记
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098056742199.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098056389048.jpg)
* SpringCloud参考指南
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098056196087.jpg)
# 第三个暴击:SpringBoot
### 思维脑图--SpringBoot思维脑图(xmind)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098057567729.jpg)
### SpringBoot面试真题
> 问题一:Spring Boot、Spring MVC 和 Spring 有什么区别?
> 问题二:什么是自动配置?
> 问题三:什么是 Spring Boot Stater ?
> 问题四:你能否举一个例子来解释更多 Staters 的内容?
> 问题五:Spring Boot 还提供了其它的哪些 Starter Project Options?
> 问题六:Spring 是如何快速创建产品就绪应用程序的?
> 问题七:创建一个 Spring Boot Project 的最简单的方法是什么?
> 问题八:Spring Initializr 是创建 Spring Boot Projects 的唯一方法吗?
> 问题九:为什么我们需要 spring-boot-maven-plugin? 问题十:如何使用 SpringBoot 自动重装我的应用程序?
> 问题十一 :什么是嵌入式服务器?我们为什么要使用嵌入式服务器呢?
> 问题十二:如何在 Spring Boot 中添加通用的 JS 代码?
> 问题十三:什么是 Spring Data?
> 问题十四:什么是 Spring Data REST?
> 问题十五:path=”users”, collectionResourceRel=”users” 如何与 Spring Data Rest 一起使用?
> 问题十六:当 Spring Boot 应用程序作为 Java 应用程序运行时,后台会发生什么?
> 问题十七:我们能否在 spring-boot-starter-web 中用 jetty 代替 tomcat?
> 问题十八:如何使用 Spring Boot 生成一个 WAR 文件?
> 问题十九:如何使用 Spring Boot 部署到不同的服务器?
> 问题二十:RequestMapping 和 GetMapping 的不同之处在哪里?
> 问题二十一:为什么我们不建议在实际的应用程序中使用 Spring Data Rest?
> 问题二十二:在 Spring Initializer 中,如何改变一个项目的包名字?
> 问题二十三:可以配置 application.propertierde 的完整的属性列表在哪里可以找到?
> 问题二十四:JPA 和 Hibernate 有哪些区别?
> 问题二十五:业务边界应该从哪一层开始?
> 问题二十六:使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?
> 问题二十七:如何不通过任何配置来选择 Hibernate 作为 JPA 的默认实现?
> 问题二十八:指定的数据库连接信息在哪里?它是如何知道自动连接至 H2 的?
> 问题二十九:我们如何连接一个像 MySQL 或者Orcale 一样的外部数据库?
> 问题三十:Spring Boot 配置的默认 H2 数据库的名字是上面?为什么默认的数据库名字是 testdb?
> 问题三十一:如果 H2 不在类路径里面,会出现上面情况?
> 问题三十二:你能否举一个以 ReadOnly 为事务管理的例子?
> 问题三十三:发布 Spring Boot 用户应用程序自定义配置的最好方法是什么?
> 问题三十四:配置文件的需求是什么?
> 问题三十五:如何使用配置文件通过 Spring Boot 配置特定环境的配置?
答案解析如下(21页)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098057664674.jpg)
### SpringBoot进阶学习
* 深入浅出SpringBoot
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098057395443.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098058748635.jpg)
* Spring Boot教程
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098058943364.jpg)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098058602840.jpg)
# 最后一个:SpringMVC
### 思维脑图--SpringMVC思维脑图
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098058694405.jpg)
### SpringMVC面试真题
> 1\. 什么是 SpringMvc?
> 2\. Spring MVC 的优点:
> 3\. SpringMVC 工作原理?
> 4\. SpringMVC 流程?
> 5\. SpringMvc 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
> 6\. 如果你也用过 struts2.简单介绍下 springMVC 和 struts2 的区别有哪些?
> 7\. SpingMvc 中的控制器的注解一般用哪个,有没有别的注解可以替代?
> 8\. @RequestMapping 注解用在类上面有什么作用?
> 9\. 怎么样把某个请求映射到特定的方法上面?
> 10\. 如果在拦截请求中,我想拦截 get 方式提交的方法,怎么配置?
> 11\. 怎么样在方法里面得到 Request,或者 Session?
> 12\. 我想在拦截的方法里面得到从前台传入的参数,怎么得到?
> 13\. 如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?
> 14\. SpringMvc 中函数的返回值是什么?
> 15\. SpringMVC 怎么样设定重定向和转发的?
> 16\. SpringMvc 用什么对象从后台向前台传递数据的?
> 17\. SpringMvc 中有个类把视图和数据都合并的一起的,叫什么?
> 18\. 怎么样把 ModelMap 里面的数据放入 Session 里面?
> 19\. SpringMvc 怎么和 AJAX 相互调用的?
> 20\. 讲下 SpringMvc 的执行流
答案解析如下(4页)
![image](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098059544764.jpg)
###
# 文末java面试题,进阶技术大纲,架构资料分享
我将这三次阿里面试的题目全部分专题整理出来,并附带上详细的答案解析,生成了一份**PDF文档**,有兴趣的朋友们[可以点击这里即可免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)
* **第一个要分享给大家的就是算法和数据结构**
![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098059137539.jpg)
* **第二个就是数据库的高频知识点与性能优化**
![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098059884505.jpg)
* **第三个则是并发编程(72个知识点学习)**
![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098059937998.jpg)
* **最后一个是各大JAVA架构专题的面试点+解析+我的一些学习的书籍资料**
![网易严选Java开发三面面经:HashMap+JVM+索引+消息队列](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625098059664061.jpg)
还有更多的Redis、MySQL、JVM、Kafka、微服务、Spring全家桶等学习笔记这里就不一一列举出来
标签:实战,Spring,jpg,2021,https,寒冬,cto,com,s2.51 来源: https://blog.51cto.com/u_15288756/2962038