我在35+的年纪用了一年时间入职阿里P8,从小公司搬砖,到担任国有银行CTO,从服务千万用户的金融系统到服务二十亿用户的互联网系统,10多年来,从未离开过开发一线。
凭借多年的面试官经验,我可以告诉你大厂的实际招聘潜规则就是能力要求升一级,职级评定降一级。
这里我们不谈企业内部所谓的末位淘汰和“优化”,仅从面试官的角度来看,比如一个组招人,我的标准一般是不能低于组内平均水平,不然招进来的人只会拉低整个团队的水平。
所以工业界对技术水平的要求往往会越来越高。你说竞争激烈也好,内卷也罢,事实就是如此。
再说Java,其实我刚从业那会儿用的不是Java,之前做过更长时间的C/C++,也做过前端、全栈,如果你真正达到一个门槛水平的话,其实不会care用什么技术栈。程序员要学会触类旁通,学一门新技术,查查资料看看文档,就可以很快上手,这一点很重要。
所谓的新技术、新名词,很多只是技术方法层面的差异,原理和底层其实是相通的,所以“扎实的基础”对于程序员来说并不是一句空话。
我以阿里P5-P7 Java工程师为例,大致的知识结构如下:
P5(校招):Java语言高级特性 + 关系数据库 + 面向对象/设计模式
Java语言高级特性简单来说就是教科书不怎么讲的东西,比如并发、算法线程、模板使用等等;
关系数据库,不是说知道个Oracle和Mysql就完了,它们的区别是什么?索引怎么建?索引算法是什么?怎么调优?从百万到亿级数据量之间要做些什么工作?
P6:Spring 框架 + Sharding + ORM + 高速缓存 + 并发/多线程编程 + 动态代理 + RPC框架 + 网络通讯。面试一般就是抓住简历中的项目,不断深挖技术,主要看你是不是真的做过和理解。
P7: 高可用架构 + JVM原理和优化 + 微服务架构和Spring Cloud,国内与国外差异比较大,国内非常重要所以是面试重点关注内容。用过Spring cloud的话,面试官会跟你深入沟通一番;如果能再懂点云计算,那么这个P7含金量就比较高了。
反映在招聘和面试,对P5-P7的要求:
- P5:对于技术栈有通透的理解,体系化思维完整,有强大的培养潜力。
- P6:对行业和技术趋势有着深刻的见解,技术知识熟知原理,能一竿子到底。
- P7:有独立完整的从业方法论,有良好的从业背景和成功的案例,有0-1,1-N裂变的成功经验分享。有带领中小型团队的成功经验。
总的来说,职级越高晋升只会越难,而大厂招聘要求也是越来越严苛。
更多关于Java工程师的求职和面试,可以来看我主讲的《Java 高级工程师 P6+》,现在就可以开始免费首节试听课了,内容涵盖技术栈的通透讲授、源码的分析导读、贴近实际的工程实践以及大厂思维的架构升级。有兴趣的同学,可以看看~
转载:https://blog.csdn.net/JiuZhang_ninechapter/article/details/108348885