面试了一波Java程序员,有好几位80后的。按理说,他们有将近十年的工作开发时间,无论经验还是技术都应该称得上老司机了。着重考察了Spring中bean的后置处理器相关问题,大概是这样问的:
我:简历上写了读过Spring源码,具体读过哪些部分?
面试者:比如Spring的启动过程源码,比如扫描包、执行Bean工厂后置处理器、Bean的生成过程等
我:你说说一个Bean是怎么生成的?
面试者:Bean的生成过程就是Bean的生命周期,包括Bean的实例化、属性注入、初始化等等
我:嗯,那可以再详细说说什么是Bean的后置处理器?什么是Bean工厂的后置处理器?
面试者: 这个...,我没认真深入过。
想着这个翻车了,就打算从实用性强以及和项目相关的技术点来下手,问了下数据库的事务,加个注解还是能答得上来,也知道是用AOP实现的。但是注解里面有什么样的参数,如何避免脏读、幻读、不可重复读?基本上回答得很糟糕。
然后感受到的是他们动手搭建一个ssm框架都异常艰难,追问下得到的回答是这些年从业的公司框架都是搭建好的,而自己只是写写读写删改的业务逻辑。
其中一个程序员跟我坦露,平时工作又忙,还要照顾老婆孩子,没有心思去学更多的技术呀!我感觉到一种说不上来的悲哀,自己或许也距离这种状态不远了。
因为Spring应用了很多优雅的设计理念,在学习Spring的同时,也同样是在加强Java基础知识的学习。掌握了Spring后,很多Java特性就能理解得更透彻。
不过要进入到实际项目的开发,Mysql、Springboot、JVM等等也绕不过。所以这几大主流技术作为Java开发一定要熟悉掌握。
这里就给大家分享这几大主流技术的一些学习进阶资料,希望对大家有所帮助。
一、Spring源码学习笔记(入门到进阶)
蘑菇街大牛总结整理的一份Spring源码学习笔记,适合Spring入门到进阶的朋友学习,还有知识脑图哟
- Spring入门]和I0C介绍
- 对象依赖
- AOP入门
- JDBCTemplate和Spring事务
- Spring事务原理
- Spring事务的一个线程安全问题
- I0C再回顾和面试题
- AOP再回顾
二、Spring Boot经典学习笔记 (进阶到高级)
京东大牛总结整理的一份Spring Boot学习笔记,适合中高级Java开发学习
- Spring Boot开发环境搭建和项目启动
- Spring Boot返回Json数据及数据封装
- Spring Boot使用s1f4j进行日志记录
- Spring Boot中的项目属性配置
- Spring Boot中的MVC支持
- Spring Boot集成Swagger2展现在线接口文档
- Spring Boot集成Thymeleaf模板引擎
- Spring Boot中的全局异常处理
- Spr ing Boot中的切面AOP处理
- Spring Boot集成MyBatis
- Spring Boot事务配置管理
- Spring Boot中使用监听器
- Spring Boot中使用拦截器
- Spring Boot中集成Redis
- Spring Boot中集成Active MQ
- Spring Boot中集成Shiro
- Spring Boot中集成Lucence
- Spring Boot搭建实际项目开发中的架构
三、《高性能MySql(第3版)》电子书资料(入门到高级)
MySql领域的巅峰之作,Java程序员一定要读一读
- MySQL架构与历史
- MySQL基准测试
- 服务器性能剖析
- Schema与数据类型优化
- 创建高性能的索引
- 查询性能优化
- MySQL高级特性
- 优化服务器设置
- 操作系统和硬件优化
- 复制
- 可扩展的MySQL
- 高可用性
- 云端的MySQL
- 应用层优化
- 备份与恢复
- MySQL用户工具
四、《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》
本文就是愿天堂没有BUG给大家分享的内容,大家有收获的话可以分享下,想学习更多的话可以到微信公众号里找我,我等你哦。