在北京拿40K的Java程序员,需要掌握哪些技术栈才能匹配阿里P7?

现在 Java 相关岗位薪资越来越高、涨幅越来越大。

通过职友集数据可以查看,以北京 Java 相关岗位为例,其中 【20k-30k】 薪酬的 Java 工程师,占到了整体从业者的 30.8%!

北京 Java 工程师「工资收入水平 」

在北京拿40K的Java程序员,需要掌握哪些技术栈才能匹配阿里P7?_第1张图片

 

如果你在中小型公司,其实 20K 左右,几乎已经是个极限,薪资想继续提升很困难。而在阿里巴巴 P7 级别的 Java 技术人员,薪资可以轻松达到 30K - 50K,这还不算股份和年终奖。

在北京拿40K的Java程序员,需要掌握哪些技术栈才能匹配阿里P7?_第2张图片

 

但成为阿里 P7 级别的程序员,真的难么?其实也未必。

Java构架师需要掌握的技术:

1、熟练使用各种框架,并知道它们实现的原理。

2、jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;

3、池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,遇到有严重的性能问题,替代方案java字节码技术;

4、nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题,比如hashmap的实现原理,好多五年以上经验的人都弄不清楚,还有为什扩容时有性能问题?不弄清楚这些原理,就写不出高效的代码,还会认为自己做的很对;

总之一句话,越基础的东西越重要,很多人认为自己会用它们写代码了,其实仅仅是知道如何调用api而已,离会用还差的远。

5、熟练使用各种数据结构和算法,数组、哈希、链表、排序树…,一句话要么是时间换空间要么是空间换时间,这里展开可以说一大堆,需要有一定的应用经验,用于解决各种性能或业务上的问题。

6、熟练使用linux操作系统,必备,没什么好说的 。

7、熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议,尤其是http头,我发现好多工作五年以上的都弄不清session和cookie的生命周期以及它们之间的关联。

7、系统集群、负载均衡、反向代理、动静分离,网站静态化。分布式存储系统nfs,fastdfs,tfs,Hadoop了解他们的优缺点,适用场景。分布式缓存技术memcached,redis,提高系统性能必备,一句话,把硬盘上的内容放到内存里来提速,顺便提个算法一致性hash。

8、工具nginx必备技能超级好用,高性能,基本不会挂掉的服务器,功能多多,解决各种问题。

9、数据库的设计能力,mysql必备,基础的数据库工具,免费好用,对它基本的参数优化,慢查询日志分析,主从复制的配置,至少要成为半个mysql dba。其他nosql数据库如mongodb。

10、还有队列中间件。如消息推送,可以先把消息写入数据库,推送放队列服务器上,由推送服务器去队列获取处理,这样就可以将消息放数据库和队列里后直接给用户反馈,推送过程则由推送服务器和队列服务器完成,好处异步处理、缓解服务器压力,解藕系统。

以上纯粹是常用的技术,还有很多自己慢慢去摸索吧;因为要知道的东西很多,所以要成为一名合格的架构师,必须要有强大的自学能力,没有人会手把手的教给你所有的东西。

想成为架构师不是懂得一大堆技术就可以了,这些是解决问题的基础、是工具,不懂这些怎么去提解决方案呢?这是成为架构师的必要条件。

架构师要针对业务特点、系统的性能要求提出、能解决问题、成本低的设计方案才合格,人家一个几百人用户的系统,访问量不大,数据量小,你给人家上集群、上分布式存储、上高端服务器,为了架构而架构,这是很扯淡的,架构师的作用就是要满足业务需求,用低的硬件网络成本和技术维护成本。

架构师还要根据业务发展阶段,提前预见发展到下一个阶段系统架构的解决方案,并且设计当前架构时将架构的升级扩展考虑进去,做到易于升级;否则等系统瓶颈来了,出问题了再去出方案,或现有架构无法扩展直接扔掉重做,或扩展麻烦问题一大堆,这会对企业造成损失。

阿里P7对应学习技术栈

  1. 多线程与高并发编程
  2. spring,ioc入门与详解
  3. maven的简单构建、spring AOP
  4. spring中的循环依赖、代理方式讲解
  5. springBoot mvc项目结构 开发 热部署
  6. springBoot web项目整合数据源、Thymeleaf
  7. 项目开发-Thymeleaf、Jpa、Bootstrap
  8. mybatis整合SpringBoot、mybatis-generator
  9. 企业项目开发中的角色、流程、任务分配
  10. pageHelper、翻页、Example使用、异步表单
  11. 开发-RBAC、表设计、YAML、项目配置
  12. 开发-RBAC前后端、mybatis多表、thymeleaf
  13. 开发-Odata、Restful、SpringBoot文件上传
  14. 开发-权限认证、Icheck、Mybatis plus
  15. Tengine原理、对比、部署、配置、虚拟主机
  16. Tengine 反向代理、负载均衡、 session共享 等
  17. Tengine 动静分离 https SSL 非对称加密
  18. Nginx OpenSSL 自签名证书 xca FastDFS介绍
  19. FastDFS 部署 原理 整合Nginx JavaAPI
  20. 高并发负载均衡:网络协议原理
  21. 高并发负载均衡:LVS的DR,TUN,NAT模型推导
  22. 高并发负载均衡:LVS的DR模型试验搭建
  23. Spring Environment原理
  24. 高并发负载均衡:基于keepalived的LVS高可用搭建
  25. Spring监听器
  26. FastDFS keepalived 高可用 zookeeper
  27. dubbo demo、角色、 RPC、原理 、RMI
  28. 项目微服务拆分 注册中心、dubbo admin
  29. dubbo下的微信公众号项目
  30. Spring AOP原理
  31. dubbo核心配置 聚合项目构建
  32. 亿级流量多级缓存架构方案、openresty Lua
  33. 多线程与高并发编程一
  34. redis的string类型&bitmap
  35. redis的list、set、hash、sorted_set、skiplist
  36. redis消息订阅、pipeline、事务、modules、布隆过滤器、缓存LRU
  37. redis的持久化RDB、fork、copyonwrite、AOF、RDB&AOF混合使用
  38. redis的集群:主从复制、CAP、PAXOS、cluster分片集群01
  39. redis的集群:主从复制、CAP、PAXOS、cluster分片集群02
  40. redis开发:spring.data.redis、连接、序列化、high/low api
  41. zookeeper介绍、安装、shell cli 使用,基本概念验证
  42. zookeeper原理知识,paxos、zab、角色功能、API开发基础
  43. zookeeper案例:分布式配置注册发现、分布式锁、ractive模式编程
  44. 亿级流量多级缓存高并发系统架构实战
  45. Spring Cloud微服务概况及注册中心搭建
  46. 多线程与高并发编程 六
  47. 亿级流量多级缓存高并发系统架构实战四
  48. 微服务间调用和熔断降级
  49. 微服务网关、链路追踪、配置中心的使用
  50. 亿级流量多级缓存高并发系统架构实战五
  51. 多线程与高并发编程七
  52. 亿级流量多级缓存高并发系统架构实战六
  53. Spring源码总结
  54. 网约车项目实战一:乘客用户功能
  55. 亿级流量系统架构之限流
  56. 网约车项目实战二:接口安全设计和分布式锁
  57. 亿级流量系统架构之扩容
  58. 亿级流量系统架构之降级
  59. JVM入门及class文件格式
  60. Java NIO
  61. 亿级流量系统架构之分布式事务原理
  62. 亿级流量系统架构之实战流量分发层
  63. 网约车项目实战三:消息队列应用
  64. 详解Class加载过程
  65. 亿级流量系统架构之实战域名与https
  66. 电商系统详情页PLAN A
  67. 静态文件生成-rsync
  68. NIO之ByteBuffer
  69. 网约车项目实战四:项目小结
  70. Java内存模型
  71. 静态化文件生成业务流程及技术选型解决方案
  72. Arica开发实战 CRUD
  73. Netty 之NIO selector
  74. 内存屏障与JVM指令
  75. 静态文件生成
  76. html同步,生成首页,批量生成,健康检查
  77. 单机事务,并发锁,压力测试
  78. Netty之内存管理
  79. Java运行时数据区和常用指令
  80. html架构的应用场景,扩容,静态分页实现
  81. 分页逻辑2,动态加静态,lua访问mysql
  82. resty_template,静态文件补偿机制实现
  83. 亿级流量高并发项目总结
  84. 精通mysql调优大师班
  85. JVM调优必备理论知识-GC Collector-三色标记
  86. PS+PO调优实战
  87. Netty课程小结
  88. JVM调优实战
  89. 区块链-比特币、挖矿、炒币原理
  90. 区块链-以太坊原理
  91. 区块链-幽灵协议,pow,pos
  92. JVM实战调优2
  93. 区块链-DPOS共识协议,solidity智能合约开发
  94. 区块链-solidity手写加密货币
  95. 消息中间件-ActiveMQ
  96. 垃圾回收算法串讲
  97. apache dubbo
  98. spring cloud
  99. service mesh微服务设计的学与思
  100. JIRA和findbugs
  101. jenkins+代码检查

你可能感兴趣的:(java)