我相信很多人觉得自己的职称,是会随着工作年限的增长而相应的提升,一年左右初级开发,两到三年中级,三到四年中高级,五年以上高级开发,当然,如果规划好自己职业生涯的小伙伴,基本都能根据这个对号入座,但是,我相信大部分的人,可能以为自己的工作年限能达到对应的职称了,然而现实中并不是。

我曾经以为,能自己搭建项目框架,环境,部署集群来跑起一个微服务的项目,在线上能运行,运行中出了问题百度下能解决,这就是高级开发。然后在简历上列出一大堆,熟悉redis,mq,zookeeper,dubbo,springcloud,mongodb...等等等等,然而...

面试官问你:你知道Spring中的bean底层用什么数据结构存储的么...what?我知道怎么用就行了,我还需要知道底层怎么存的?

面试官问你:你知道tomcat配置每个端口号分别有什么作用?server配置的每个标签有什么作用...黑人问号,我只知道默认的8080和443,我咋知道有啥用呢,8080就是开放给外界访问的入口。

面试官:回家等通知吧。

上面只是很小的一个例子,还有很多,你知道线程之间怎么通信的么?你说hashmap优化了红黑树,你把红黑树画一下....

看到这里,可能你都能回答上,但是,大家有没有发现,java的技术栈,跟几年前来比已经庞大了很多,几年前,在微服务还没兴起的时候,你可能需要懂的东西不用很多,然而,微服务架构兴起之后,相应的很多技术随之而来从最基本的java基础,中间件,再到运维,容器技术等等等等,就像一个巨大的网一样,你会发现,当你学会了一个技术,说不定那个技术就已经过时了,被其他的代替了,技术更新频率,是几年前都比不了的。 你还在用zuul么?springcloud gateway比他效率高他不香么?

其实,技术虽然更新的快,但是万变不离其宗,只要你内功深厚,你修炼哪项技术都是事半功倍,先把内功练好了,再去学花里胡哨的,可以这么说,技术是学不完的,不要觉得,我会用XXX,能做到XXX,你就学会XXX技术了,你为什么要用xxx,底层怎么实现的。你会用,和你知道为什么这么用,和怎么才能用好,完全是不同的概念。

我之所以抽时间写这个,其实也是对自己的一种鞭策,也告诫各位,面试高级开发的小伙伴们,简历写的技术栈,都吃透了才写上去,起码要精通其中的一两门,还有,把补刀和走位学好了,等年纪大了,你起码还算最强王者,否则,高不成低不就的,补刀都没练好,就学什么eq闪,35岁之前估计还只是个钻石。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐