2021Java 常见面试题,牛客网中级项目异步队列,Java 高级面试题及答案整理
第一个暴击:Spring
上一份 Spring 的手绘思维脑图(就像是个知识大纲总结),预览一下 Spring 的知识点,心里有个谱。不过这边我是采用的截图方式,为了把全部的内容都截取出来,所以整个就比较小,可能不是很清晰。
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 页)
Spring 进阶学习笔记
Spring 高级源码笔记
Spring 实战(第 3 版)
第二个暴击:SpringCloud
思维脑图--SpringCloud 微服务实战思维脑图(xmind)
SpringCloud 面试真题
问题一:什么是 Spring Cloud?问题二:使用 Spring Cloud 有什么优势?问题三:服务注册和发现是什么意思?Spring Cloud 如何实现?问题四:负载平衡的意义什么?问题五:什么是 Hystrix?它如何实现容错?问题六:什么是 Hystrix 断路器?我们需要它吗?问题七:什么是 Spring Cloud Bus?我们需要它吗?问题八:什么是 Netflix Feign?它的优点是什么?
完整的答案解析如下(总共 6 页)
SpringCloud 进阶学习
SpringCloud Alibaba 微服务笔记
SpringCloud 参考指南
第三个暴击:SpringBoot
思维脑图--SpringBoot 思维脑图(xmind)
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 页)
SpringBoot 进阶学习
深入浅出 SpringBoot
Spring Boot 教程
最后一个:SpringMVC
思维脑图--SpringMVC 思维脑图
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 页)
如何快速更新自己的技术积累?
在现有的项目里,深挖技术,比如用到 netty 可以把相关底层代码和要点都看起来。
如果不知道目前的努力方向,就看自己的领导或公司里技术强的人在学什么。
知道努力方向后不知道该怎么学,就到处去找相关资料然后练习。
学习以后不知道有没有学成,则可以通过面试去检验。
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目
评论