面试3年java程序员说精通spring源码 听完后觉得还是劝退好
面试官:看你简历上写了读过Spring源码,是吗?
我: 是的
面试官:读过哪些部分的?
我:读过Spring的启动过程源码,比如扫描包、执行Bean工厂后置处理器、Bean的生成过程等(自信满满)
面试官:读得还挺多,那你可以说说一个Bean是怎么生成的吗?
我:Bean的生成过程就是Bean的生命周期,包括Bean的实例化、属性注入、初始化等等(险过....)
我: 这个...,我就不会了
面试官: 好,那关于属性注入你了解多少,比如@Autowire注解的工作原理,这个注解加在属性上和加在方法上,在底层原理上有什么区别?
我: 我不知道,只知道byname和bytype
面试官: 好,那Spring我们就先到这,我来问问你Mysql,Mysql中有哪些存储引擎?
我: 我就知道Innodb和MyISAM, 有其他的,但是记不起来了
面试官: 那Innodb和MyISAM的区别是什么?
我:Innodb支持事务
面试官:还有吗?
我: 我只了解过这一点,其他的...不知道了
面试官: 他们在索引的底层实现上有区别吗?
我: 噢...好像是有,但是我不记得了
面试官: 那Innodb中的索引底层是如何实现的?
我:B+树
面试官: 那为什么B+树适合来作为索引?
我: ...不知道
面试官: 好吧,是不是平时Mysql用的也不多?
我: 是是是(赶紧跳过这个话题吧)
面试官: 那我问问JVM相关的,JVM中各种垃圾回收器的区别是什么? 如何对JVM进行调优?调优的思路是什么?
我:...
面试官: 那对于Redis呢?平时工作中都使用Redis来做什么?
我: 主要用来缓存一些经常用到的数据,比如商品的一些信息
面试官: 那你有了解过对于热点数据的解决方案吗?
我: 我们就是把一些常用的商品信息放到Redis中的。
面试官: 嗯,那你们Redis中缓存的商品信息是如何更新的,淘汰机制是什么?
我: 这块..我接触不多,没怎么研究过
面试官: 哦,那行吧,今天就先到这吧
也许这只是一次普通的面试经历,但由此暴露的问题却不少。在工作中,产品不断写业务需求,他们也许只要加班一天,而开发就得工作一周才能完成。
当业务领域达到一定地步后,日常编写业务代码已经很难带来突破性的进步,此时就要警惕自己是否变成了业务代码生产机器,还能否从容应对新技术和适应大环境变化。
另一方面,“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。在经历过成千上百万行代码的锤炼后,通过架构来领略不同角度的程序语言之美。
为了让大家更加深刻理解Spring源码及Mysql、Redis、JVM技术点,摆脱面试官的穷追猛打,4月27日-4月30日每晚八点,四位讲师轮流指点技术迷津,教你不踩面试雷点,掌握架构进阶指南。即刻入群获取免费听课链接~
☟☟☟
更多详情戳海报
训练营福利一:技术资料+脑图+面试视频详解+大厂面试题库
训练营福利二:听课打卡+作业满勤即可获得包邮书籍《深入理解JAVA虚拟机》
一起进群学习打怪升级~
(如遇加群问题,复制lubanxishi直接添加助教)