今天看到
/t/446353 这位小兄弟的帖子,颇为感慨。
他 96 年的,就已经有这种意识,经过各位大佬的指点,相信他后面的方向会更加正确。
而我,已经 30 出头,每天的工作,依旧还是敲各种业务代码,渐渐的成为了大家口中那种熟练的弱鸡。
这么多年,换过好几份工作,每家公司用的技术栈都略有差异,从 Servlet,Struts1,Struts2,Spring,Hibernate,iBatis,Jersey,JBPM,DWR,ExtJS,Redis,Freemarker,Velocity,ActiveMQ 等等,到现在的 SpringMVC,SpringBoot,Mybatis,Shiro,Memcache,Dubbo,Zookeeper,Hadoop,Hive,Spark,Flume,Hbase 等等(没有列全)。
各种前后端的框架一直在发展更新变化,虽然这些框架在工作中,用的都很溜,遇到问题,也都能找到办法解决。
以前说几大框架,看看源码,弄懂底层的原理,这都能理解。
但是经过这么多年的经验,用到某个框架,需要解决什么问题,通过官网,网上找资料,基本上都能搞定,更加注重的是使用,以及要达到的结果。如果要像各位大佬说的,要把这些东西的原理,细节研究的很透,基本上是做不到。
而且主要的问题是,像前面部分的技术,换份工作,就已经废弃,就算你之前踩过的坑,积累了很多经验(对各种出现过的问题记笔记),对新工作的帮助可以说忽略不计。所以这种没用的工作经验,不但不能成为加分项,因为工龄的增长,更可能会变成减分项。
所以针对工作中出现的那些框架,我现在的更关注的是会用,熟练的用,知道怎么用,变的不会去深研究为什么这样用,这样用的原理是啥(大部分原理也都知道)
当然,针对 java 的其他技术,比如并发,多线程,JVM,设计模式,这类知识,那肯定是研究的越深越好。
但是,像我这种情况,在简历上面,都会写上工作中用到的哪些技术和框架,然后面试官看你写这框架,就会针对这框架问的很深入,很细,正常情况下,框架用不上的配置,我就不会去研究。
例 1:比如我们用 dubbo,只是拿来做简单的服务框架,但是面试会问到:
怎么用 dubbo 限流?
dubbo 底层的序列化,怎么实现自己的序列化?
服务是怎么提供的,原理是啥?
真要去看 Dubbo 架构设计详解
图:
http://shiyanjuncn.b0.upaiyun.com/wp-content/uploads/2013/09/dubbo-architecture.png感觉是一脸懞逼。
例 2:再比如 Zookeeper,服务器上面的安装部署,都是相关人员处理,如果不是自己负责,正常就没有去了解它底层的原理,以及选举领导人的机制等等。但是,面试时,这类问题也会被问到,然后要是没看过别人的文章,基本上也是答不上来。
例 3:面试会问,Struts1 和 Struts2 有什么区别,优点和缺点?
例 4:Struts2 和 SpringMVC 有什么区别,优点和缺点?
例 5:SpringMVC 和 SpringBoot 有什么区别,优点和缺点?
说实话,上面这些例子,我以前都被问过,对于我这种一开始只管使用的人来说,根本就不懂这些区别,只知道哪个更好用,开发效率更高,都是怎么用的。只有面试过后,我才会去网上找资料看下,哦原来 Struts2 是类级别的拦截,SpringMVC 是方法级别的拦截,SpringMVC 的入口是 servlet,而 Struts2 是 filter 等等。而这些也仅仅是从别人的文章里面得到的结论,根本就不是我自己去看源码研究出的结果,这样对有我意义吗?想知道,这类的面试问题,是不是真能反映出面试者的水平?
各位大佬针对这类面试问题,是自己研究源码得出的结论,还是看网上别人的文章呢?
本人在工作中,各种疑难杂症,复杂的问题都能解决,自认为学习能力挺强,解决问题的能力和思路也都有。但是面试时,往往因为问各种框架类的理论( Java 工种,其他工种不知道是不是一样?),搞的很尴尬,以前找工作面试时,要是不做理论准备,基本上都要被问倒。就像大家说的,面试面的是造航母。
所以我的这种状况,工作中使用的这类技能,让我感觉很迷茫,对各种框架的掌握根本不能为自己提供相应有效的积累。
最后,请教各位大佬,像我这种 Java 老鸟还有得救吗?应该往什么方向(技术类)前进呢?
[顺便说下,现公司开发人员 150+(前后端,UE,美工等都算在内),负责框架架构的就五六个,大部分人都是参与各个系统的业务开发。]
看了那位小兄弟的帖子,由感而发,码了挺久的字,排版不是很好,如果各位看到这,道声辛苦了。
希望各位大佬能帮忙指点指点,各种批评也都能虚心接受。
主要是想能更好的了解下自己,从不同旁观者的角度审视我身上存在的这些问题。
谢谢大家。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/446696
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.