最近和朋友聚会的时候问了一个问题,Java程序员如何才能月薪3万,技术水平需要达到什么水平?人们回答说,这只能由大公司或互联网公司的工程师获得。或许是的,拿到2万元的小公司或者非互联网公司不太可能是码农,应该转管理了。还有就是地域问题,这个不在我的考虑范围之内,因为除了北上广深杭州,其他地方很难到达。也有人提到这个等级3w多。其实薪资跟面试成绩等综合水平有关。比如你985,top10,或者研究生学历,或者对node,大数据等略懂,或者表达能力强,戳到面试官的痛点都会加分。如果你达到我说的水平,起薪3~4w,如果你有其他突出表现,会在此基础上加分。但是纯JAVA处理比较一致。而且SSH真的不是我想破解的。3w级面试很少问SSH知识。他们还询问架构级别、设计模式和基本原则。比如mybatis是如何管理session和缓存的。spring中你熟悉的设计模式有哪些,又是如何理解和应用的。其实,互联网相关的知识,去了互联网公司之后很容易获得,也不难。如果你在一线业务部门,我说的这几点几乎会一直伴随着你,不用担心不会。很多刚到我们公司的大学生,半年就能搞懂一些中间件系统。不是难,而是接触少,对未知的事物感到害怕和迷茫。我在这里为那些想达到这个高度甚至更高的程序员提供一个进阶路线图,主要是针对2到5年及以上工作经验的Java开发人员。从广度到深度,东西都比较全面。技术包括Java高并发、微服务、源码分析、高性能、分布式等技术。其实大家肯定都接触过这些技术,下面我们就来详细了解一下。分布式题目高并发/高性能性能优化题目源码分析题目首先,3万元月薪在BAT太常见了,一般都是高工、高级工程师的职位。在阿里是p6~p7左右,在百度是t5左右。腾讯在t2-3左右,京东在t3-1左右,美团在p6左右。我不知道其他人。这个级别是他们coder的主要级别。他们加班很多,可以解决大部分问题。但系统的整体架构能力和深入分析瓶颈的能力仍需培养。其次,技能树需要掌握的主要有三个方面:第一是基础。例如,如果对集合类、并发契约、IO/NIO、JVM、内存模型、泛型、异常、反射等有深入了解,最好阅读源码了解底层设计。比如一般面试都会问ConcurrentHashMap、CopyOnWrite、线程池、CAS、AQS、虚拟机优化等知识点,因为这些对于互联网公司来说绝对重要。而这关一般人都过不了,还闹着没用,何必面试。举个例子,在使用线程池的时候,因为使用了无界队列,远程服务异常时,内层飙升。如何解决?连线程池都不知道,那怎么玩?再举个例子,由于对ThreadLocal的错误理解,用它来做线程安全的控制,并没有达到真正的线程安全。所以作为一个2万块钱的JAVA程序员,这个基础还是很有必要的。其次,你需要对互联网技术有全面的了解。从底层开始,你至少要对mysql、redis、mongodb、nginx、tomcat、rpc、jms等有深入的了解,如果你要问你需要知道多少,我可以告诉你很多。首先,对于MySQL,你需要知道常用的参数设置,如何选择存储引擎,还需要知道常用的索引引擎,以及如何选择。知道如何设计表,如何优化sql,如何根据执行计划进行调优。对于高级用户,需要对分库分表进行设计和优化。一般互联网公司的数据库都是读写分离的,会纵横拆分,所以这个也是有经验的。然后redis和mongodb需要了解原理和调参,而nginx和tomcat几乎都是JAVA上网需要的。其实跟阿里的技术栈选择有关系。至于rpc相关的东西,需要对各种网络协议、序列化技术、SOA等有深入的了解,现在国内广泛使用的rpc框架是dubbo,大家可以自行搜索。至于jms相关的,起码要了解原理。一般不专门从事中间件系统和支撑系统开发的,不需要了解太多细节。ActiveMQ和kafka主要是国内企业用的。你能对我说的话我已经深入研究过了。阿里p7问题不大。当然,这也取决于你在架构能力方面的面试表现。三是编程能力、编程思维、算法能力、架构能力。首先,我觉得2W程序员对算法的要求还是比较低的,再高深的也顶多红黑树,但是排序查询的基础算法一定要好。编程思维是必须的。如果问你AOP和IOC,你至少应该清楚。别说每个设计模式你都用过,但你能理解其中的几个。我觉得评价编程能力不是一件容易的事,但是把一个2000W的用户按姓名年龄排序也很容易。最后是架构能力。这并不意味着您需要设计一个功能强大且高度并发的系统。至少可以让你搭建一个秒杀系统,抗重请求的设计可以快速完成,不会有坑。你不一定要掌握里面所有的技术,但是有很多东西是面试官必须问的,所以你必须要知道,希望能帮助到需要这些信息的人。怀疑我的人,面试过后就会明白我说的对不对。有机会可以再share一下。下面说说网上的JAVA面试题。我可以为你列出90%的问题。我其实不怀疑我说的这些技能树能拿到25K或者30K+的可能性,但是现在网上比较泡沫。以上就是我说的2W级别。如果运气好,面试表现好,4W+也是可以的!
