工作太安逸,面试就是个“死”~
本人java开发不到4年,一直在传统公司做面向政府的项目,平时工作技术难度不是很大,只要求项目正常运行,不追求性能,活的很安逸。自己极少对技术点、所用的知识进行过总结,也很少关注技术博客,没有研究过开源项目。自以为在公司混的游刃有余,跳槽找工作也是很easy的事。(PS:兄弟,如果你也是此状态,那么你离 “死” 已经不远了....)
直到真正离职后,才忽然发现自己真的菜的抠脚,目光短浅、井底之蛙!!
自己的知识储备根本不能应对面试,问啥啥不会。原公司使用 ssh、ssm框架,入门级mysql、Nginx、Linux、Redis、Maven,就这些了吧,我已经想不到其他说的出口的技术了,因为连入门级都谈不上。而目前大多数公司(尤其是互联网公司)需要的是:
1> 对底层原理有更深的了解,读过源码(如JDK底层);
2> 有高可用、高并发、高性能开发经验;
3> 有对SQL、NoSQL、缓存、tomcat、JVM性能优化经验;
4> 有多线程编程、并发编程经验;
5> 深入理解并使用过SpringMVC、SpringBoot、SpringCloud、dubbo、zokeerper等经验;
6> 对分布式、集群、微服务等有过实际经验;
7> 还需要有git、svn、jenkins、docker项目管理及自动化部署的经验.....
(PS:还有其他要求,多看几家面试要求就知道了~(╥╯^╰╥)~)
凡此种种,自己已经要崩溃了,虽然一边面试,一边恶补,但欠账太多,洞太大,完全补不上。一想到要去面试就心颤,甚至有了面试恐惧症,好几家约好的面试都被推掉了,这感觉简直要疯了!!!
写此博客,为了提醒自己不要安于现状,当自己感到满足时,就意味着已经落后了;此时自己依然走在渡劫的路上,自己挖的坑,含着泪也要填上啊~
根据个人经历,在此为各位同仁提点不成熟的建议,只对普通人,大牛就算了:
1> 如果你是一名刚刚踏入职场的新人,请找一家百人左右的公司,2年内不要跳槽,因为新人正常产出需要18月时间;平时注意问题积累(有一个好的leader很重要!)
2> 入职1~2年,请抽时间巩固一轮基础(java、数据库,看优秀的博客),看一些优秀开源项目(各大平台都有),平时注意问题积累;请关注一下自己所做的工作,是不是只是简单重复,如果是,考虑要不要跳槽。(有一个好的leader很重要!)
3> 工作2年多,请注意技术深度(JVM-->数据结构-->并发/多线程编程-->设计模式等,仅供参考),不管实际工作有没有用到。(有一个好的leader很重要!)
4> 工作3年多,如果你跟我状态一样,兄弟,你真的离“死”不远了,趁还在公司,赶紧恶补吧(JVM-->java基础 / 框架、数据库-->并发、多线程编程-->数据结构-->设计模式--->底层源码等,仅供参考);
ps:4年以上的咋办我就不晓得了~
勤懒终有报,天道有轮回,不信抬头看,苍天饶过谁!