面试官:看你简历上写了读过Spring源码,是吗?
面试官:读过哪些部分的?
我:读过Spring的启动过程源码,比如扫描包、执行Bean工厂后置处理器、Bean的生成过程等 (自信满满)
面试官:读得还挺多,那你可以说说一个Bean是怎么生成的吗?
我:Bean的生成过程就是Bean的生命周期,包括Bean的实例化、属性注入、初始化等等 (险过....)
面试官:嗯,那可以再详细一点说说实例化吗?比如,如果一个类有多个构造方法,Spring该选择哪个构造方法来进行实例化呢?
我: 这个...,我就不会了
面试官:好,那关于属性注入你了解多少,比如@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虚拟机》
一起进群学习打怪升级~
(如遇加群问题,复制A199xiaoxi直接添加助教)