能拿月薪60K,就拿腾讯T5高级技术专家做比喻(相当于阿里的P8级别),他们是一线Team leader或者二级域架构师,需要对一个领域的业务非常熟悉并且能够将影响力辐射到其他合作团队。
一般来说一些业务架构、应用架构、产品功能决策、技术选型、协作分工等问题应该在T5层次终结,T5是一线作战的小队长,向下提供决策,向上提供有效的信息。
能达到月入60K的T5 Java技术专家级别,不仅要具备优秀的编程能力和系统设计能力,在技术视野和业务洞察力方面,也要有很深的积淀。
今天刚好有此机会,经过半年多的时间我整理一份架构图谱,主要是针对2-5年左右的Java开发程序员提升的,不管是传统行业还是互联网行业,掌握这些技术基本都能拿到一个不错的薪资,希望对大家有所帮助。
腾讯是Java大厂,所以可以参考腾讯的标准,而对T5的要求是什么呢,以下4个小结可以作为参考。
1.代码能力
代码能力是基本功,Java语言本身,包括语言的各个方面包括对并发的理解,对内存使用对理解,对Java运维的理解等等,语言本身外,社区里常用的框架是否可以十分清晰的了解,包括spring,包括他实现的ioc,aop,orm,web机制是否有清楚的认识,有丰富的经验等等。
2.对常用中间件的理解
毕竟在一个大系统中,各种中间件是是否常见的,缓存中间件,消息中间件,例如 redis、memcache、rmq这些,要理解常用中间件使用场景,使用姿势(例如redis的常用命令),甚至包括他的一些运维,一旦出了问题,除了专门的运维人员,也需要你参与问题的排查,因为有时候这些中间件出现问题,是不当的使用姿势引起的。
3.架构、业务落地能力
前面提到了语言本身,各种中间件,如果你有很好的业务抽象能力和架构思维,就可以把一款部门内部产品很好的设计并实施了,这点蛮难的,想必都有过接手现有项目的经历吧,有时候真恨不得把之前的设计者拿出来批斗,作为一个设计者,你能否做到当下一个接手它的人会说一句,这个系统设计的真好,稳定又可拓展,理解起来也很容易。
4.沟通协作
毕竟一个部门内部产品,是不可能由一个人完成的,所以需要沟通协作,把设计好的方案,要和2-3个小伙伴一起实施,包括同样身份的后端人员,前端人员,产品等角色,这个级别的人可能会参与带2-3个人,例如应届毕业等,所以你自己对知识的把握,分享精神,leadership都是很好的加分项。
针对技术这一块,我自己除了整理了一份架构图谱,还找朋友录了一些视频,和自己收集了一些视频,讲解的都是一线大牛,里面包括了一些Java分布式、微服务架构、源码分析、性能优化、并发编程等技术视频,这段时间面试跳槽的朋友比较多,还有一套BAT面试题合集,我都分享在网盘里了,欢迎前来下载。
第一阶段
第一阶段主要从 svn/git 版本控制、Java高并发、JVM虚拟机、RPC架构实战、Redis、Hadoop、高并发分布式项目实战、Nginx、Tomcat负载均衡和调优的角度来学习。
第二阶段
第二阶段主要从架构设计、分布式、Niginx负载均衡、ActiveMQ集群、高可用MySQL、Storm流、Mycat分布式架构、分布式系统案例实战等方面来学习。
第三阶段
第三阶段主要注重架构实践:从高并发高级群分布式、高可用可扩展、Java高并发系统架构实例、高并发数据库设计、MySQL主从复制和高可用集群、海量数据库架构设计等方面学习。
第四阶段
第四阶段主要从互联网高并发解决方案、Java高级架构师、大数据、大数据底层算法、分布式数据库架构详解、等方面来学习。
面试资料大全
珍藏多年的最全面的Java面试解答视频,今天忍痛割爱分享出来。
Java电子书