现在看到网上有人说什么 面试拧造火箭,工作拧螺丝。可能大多数小伙伴们也是这么认为的,面试又问原理又问源码的,工作也用不上,所以问的都是sx,我也不用背。
我在没招聘之前也是这么认为,可是当我面试之后想法改变了。
1.为什么要问底层,算法
一个7k块3年经验的和一个8年经验14k的,肯定都能写接口(前后端项目),那能问一样问题吗(如果都是写接口我选择招两个7k的),如果问不一样的不问底层问什么,不问算法问什么,或者这就是内卷吧= =
2.底层,源码,算法是否无用
我认为是有用的,因为通过源码和底层,你可以了解这个技术的设计原理,为什么作者要这么设计,为什么要这么使用,同时还能快速查错,在使用时避免写错
如:如果你了解spring ioc底层 ,在注入错误时,你会通过ioc实现原理加日志会简单分析出哪里出错!
如果了解jvm原理和gc你会知道为什么使用static,同时在使用集合类时选择什么样的集合类,会注意集合使堆栈太大从而产生gc顿宕机(而不是瞎用各种集合类 造成不明的项目卡顿)
如果你了解算法,可能很简单的就判断出集合类的使用场景,如list,set,linkset,treeSet (而不是随意使用集合类 因为顺序等方面出现bug)
如果你了解jvm原理,就不会随便使用==,equals,或者判断空,null分不清。
如果你了解树和索引原理,也不会一问怎么优化sql就一句使用索引。。。。。你会了解为什么必须要使用索引,索引提高的速度有多少,什么情况索引会失效。 等
总之为了涨薪,还是背吧..............