前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >阿里Java岗一面被问到对Spring的理解,懵了?这些你又了解多少

阿里Java岗一面被问到对Spring的理解,懵了?这些你又了解多少

作者头像
用户5546570
发布2019-06-06 10:58:15
5370
发布2019-06-06 10:58:15
举报

还在机械地打代码?我们很多开发者在开发 Spring 的程序的时候,很多的情况下,都是被动的接受了前辈们为我们做好的 Spring 特性案例。这样以来,确实在很大的程度上减少了我们开发的成本,但是也同时丧失了一个极好的学习机会,从而限制我们开发员的横向扩展能力。只知道如何使用,却不知道做了什么,那么你注定只能是一个码农。Spring 框架几乎集成一半 Javaweb 开发的江山,但是你只知道如何写,不知道为什么要这么写,也不知道要如何优化。

Spring 作为一个轻量级的 Java 开发框架,将面向接口的编程思想贯穿整个 Java 系统应用,因此在 Java 面试中常被提。本文通过Spring中的一些问题形式和面试题来聊一聊Spring框架中的重要知识点,下文的Xmind知识笔记文件可以在文末有免费领取方式!

Spring面试中有关问题

  1. BeanFactory和ApplicationContext有什么区别
  2. 解释Spring Bean的生命周期
  3. Spring Bean的作用域
  4. Spring框架中的单例Beans是线程安全的吗
  5. 构造方法注入和设值注入有什么区别
  6. Spring框架中有哪些不同类型的事件
  7. FileSystemResource和ClassPathResource有何区别
  8. Spring 框架中都用到了哪些设计模式
  9. Spring的优点

Spring AOP有关问题

  1. 什么是 AOP?
  2. point cut,advice,Join point是什么?
  3. join point 和 point cut 的区别?
  4. 怎么理解面向切面编程的切面?
  5. 谈谈对SpringAOP Weaving(织入)的理解?
  6. 谈谈SpringAOP Introduction(引入)的理解?
  7. 讲解OOP与AOP的简单对比?
  8. 讲解JDK 动态代理和 CGLIB 代理原理以及区别?
  9. 讲解Spring 框架中基于 Schema 的 AOP 实现原理?
  10. 讲解Spring 框架中如何基于 AOP 实现的事务管理?

阿里Java岗一面被问到对Spring的理解,懵了?这些你又了解多少

事务有关问题

  1. 在 XML 里面配置了一个 SqlSessionFactoryBean 后,其究竟做了什么?
  2. 在 XML 里面配置了一个 MapperScannerConfigurer 后,其究竟做了什么?
  3. 在执行 Mapper 接口的查询方法后,发生了什么?
  4. <tx:advice/>、<aop:config> 标签如何创建事务切面的?
  5. 标签添加后为何就可以使用注解式事务了?
  6. 为什么会报 Transaction rolled back because it has been marked as rollback-only 异常?
  7. Transactional 注解是否可以加在 private、protected 方法上?
  8. 事务的传播属性到底有什么用,嵌套事务到底又是怎么一回事?
  9. 为什么抛出了异常,事务却没有回滚?
  10. Spring 事务是如何保证线程安全的?

Spring IOC有关问题

  1. 什么是 IOC?
  2. 谈谈对控制反转的设计思想的理解?
  3. 怎么理解 Spring IOC 容器?
  4. Spring 中有多少种 IOC 容器?
  5. Spring IOC 怎么管理 Bean 之间的依赖关系,怎么避免循环依赖?
  6. 对Spring IOC 容器的依赖注入的理解?
  7. 说说对Spring IOC 的单例模式和高级特性?
  8. BeanFactory 和 FactoryBean 有什么区别,BeanFactory 和 ApplicationContext 又有什么不同?
  9. Spring 在 Bean 创建过程中是如何解决循环依赖的?
  10. 谈谈Spring Bean 创建过程中的设计模式?

阿里Java岗一面被问到对Spring的理解,懵了?这些你又了解多少

注解有关问题

  1. 注解是一种什么样的编程思想?
  2. 为何能够直接使用@Autowired进行依赖注入?是如何工作的?
  3. Spring 是如何通过@AutoWired 自动注入 Bean 属性和 Map,List 集合的?
  4. @Required 是如何起到检查xml里面属性有没有被配置的?
  5. Spring 框架是如何把标注@Component 的 Bean 注入到容器?
  6. @Configuration,@ComponentScan,@Import,@Bean 注解是是如何工作的?
  7. 使用@PropertySource 引入配置文件,那么配置文件里面的配置是如何被注册到 Spring 环境里面的?
  8. 讲解如何通过自定义注解实现一个简单的树形文档生成?

代理模式有关问题

  1. 为什么需要代理模式?
  2. 讲讲静态代理模式的优点及其瓶颈?
  3. 对Java 接口代理模式的实现原理的理解?
  4. 如何使用 Java 反射实现动态代理?
  5. Java 接口代理模式的指定增强?
  6. 谈谈对Cglib 类增强动态代理的实现?

阿里Java岗一面被问到对Spring的理解,懵了?这些你又了解多少

如何系统正确的学习

我认为有三个维度来说明:这个框架是为了解决什么问题而诞生的?这个框架的核心思想是什么?这个框架适合应用到哪些场景?说到思想,我觉得编程的灵魂就是思想,没有思想的编程和咸鱼没什么区别。“不要重复造轮子”,当时听了赶脚这句话挺高大上的,现在我认为这句话只能在某一方面是正确了。首先我来说一下为什么要学会造轮子--因为你会造轮子后,用别人的轮子时才会明白其原理,用的时候才会得心应手,如果你对一个框架的理解只是停留在用,用的多熟练的阶段的话,那么你就是一个“码畜”,别人随时可以替代你。

说这么多其实就是想告诉大家学习框架要理解框架的底层的原理,要掌握的就是最常用的原理。在这我分享一个开源框架的系统的思维学习树图给大家,希望能给有需要的朋友提供一些帮助,源文件可以在文末获取免费领取方式!

阿里Java岗一面被问到对Spring的理解,懵了?这些你又了解多少

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.05.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Spring面试中有关问题
  • Spring AOP有关问题
  • 事务有关问题
  • Spring IOC有关问题
  • 注解有关问题
  • 代理模式有关问题
  • 如何系统正确的学习
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档