蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!
路其实一直都在那里,只是我们看不到而已!
以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话。
一、BAT等公司考察侧重点
不同的互联网公司关于 Spring 考察的侧重点不一样,有点甚至基本不考察。这里分别说一下不同公司的考察情况,大家可以针对不同公司做的有的放矢。
**面试常问的内容大致上有:**IOC、AOP、AOP原理动态代理和cglib原理与二者之间的区别、Bean 生命周期、ThreadLocal 保证线程安全、事务传播、Spring MVC、设计模式,除了这些面试题经常出现的,还有就是需要看一些Spring源码解读,因为一些面试官会问你,有没有看过源码,这时候把自己看过的看懂的说一下就OK了。下面分享一些我在复习Spring的面试复习资料和学习笔记!
注意注意:以上分享的这些Spring笔记:面试锦集解析+学习笔记+学习导图+Spring源码视频,可以在文末获取!
01.Spring 高频面试锦集
一、基本篇( Spring 相关概念问题)
- 谈谈对 Spring IoC 的理解?
- 谈谈对 Spring DI 的理解?
- BeanFactory 接口和 ApplicationContext 接口不同点是什么?
- 请介绍你熟悉的 Spring 核心类,并说明有什么作用?
- 介绍一下 Spring 的事务的了解?
- 介绍一下 Spring 的事务实现方式?
- 解释 AOP 模块
- Spring 的通知类型有哪些,请简单介绍一下?
- Spring 通知类型使用场景分别有哪些?
- 请介绍一下你对 Spring Beans 的理解?
- Spring 有哪些优点?
- 在Spring中使用hibernate的方法步骤
- Spring 和 Struts 的区别?
- Spring 框架由那几部分组成?
- 谈谈你对 BeanFactory的理解,BeanFactory 实现举例
- 谈谈对 Spring 中的 Web 模块的理解
- BeanFactory 和 Application contexts 有什么区别?
- 谈谈你对 Spring 依赖注入的理解?
- 什么是 Bean 装配?
- 什么是 Bean 的自动装配?
- 介绍一下自动装配有几种方式?
- 什么是基于注解的容器配置?
- 简述 JdbcTemplate 类的作用
- 解释 AOP
- 解释 Aspect 切面
- 简述 Spring AOP 中的通知
- Spring AOP 中的织入你怎样理解?
- 请详细介绍一下 Spring MVC 的流程?
- Spring 配置文件?
- @RequestMapping 注解用在类上面有什么作用
- 怎么样把某个请求映射到特定的方法上面
- 谈谈 Spring 对 DAO 的支持
二、应用篇
三、底层源码篇
- IoC 控制反转设计原理?
- Spring 的生命周期?
- Spring 如何处理线程并发问题?
- 核心容器(应用上下文)模块的理解?
- 为什么说 Spring 是一个容器?
- Spring 的优点?
- Spring 框架中的单例 Beans 是线程安全的么?
- Spring 框架中有哪些不同类型的事件?
- IoC 的优点是什么?
- 解释 Spring 框架中 Bean 的生命周期
- 什么是 Spring 的内部 Bean?
- 自动装配有哪些局限性 ?
- Spring 框架的事务管理有哪些优点?
- 在 Spring AOP 中,关注点和横切关注的区别是什么?
- 说说 Spring AOP 的底层实现原理?
- 如何给 Spring 容器提供配置元数据?
- 哪些是重要的 Bean 生命周期方法? 你能重载它们吗?
- 讲下 Spring MVC 的执行流程
- Spring MVC 的控制器是不是单例模式,如果是,有什么问题,怎么解决?
- Spring 中循环注入的方式?
- Spring MVC 比较 Struts2
02.我的Spring学习笔记
(1)Spring核心笔记整理
- Spring特点
- Spring核心组件
- Spring常用模块
- Spring主要包
- Spring常用注解
- Spring 第三方结合
- Spring 10C.原理
- Spring APO原理
- Spring MVC原理
- Sping Boot项理
- JPA原理
- Mybatis缓存
- Tomcat架构
(2)Spring源码深入解析
第一部分 核心实现
- 第1章 Spring整体架构和环境搭建
- 第2章 容器的基本实现
- 第3章 默认标签的解析
- 第4章 自定义标签的解析
- 第5章 bean的加载
- 第6章 容器的功能扩展
- 第7章 AOP
第二部分 企业应用
- 第8章 数据库连接JDBC
- 第9章 整合MyBatis
- 第10章 事务
- 第11章 Spring MVC
- 第12章 远程服务
- 第13章 Spring消息
spring源码深入解析
(3)Spring实战
第一部分 Spring的核心
- 第1章 Spring之旅
- 第2章 装配Bean
- 第3章 最小化Spring XML配置
- 第4章 面向切面的Spring
第二部分 Spring应用程序的核心组件
- 第5章 征服数据库
- 第6章 事务管理
- 第7章 使用 SpringMVC 构建
- 第8章 使用Spring Web Flow
- 第9章 保护Spring应用
第三部分 Spring集成
- 第10章 使用远程服务
- 第11章 为Spring添加REST功能
- 第12章 Spring消息
Spring实战