想要做到年薪50万以上,首先毋庸置疑的是你必须是高水平的程序员!
能年薪50万以上的程序员至少自身有以下特征:
工作年限长,经验丰富
他们的共同特点是:10 年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术 leader,有过一两段不算成功的创业经历。
这样的程序员无论是去 BAT 还是去创业公司,都能拿到 50 万年薪以上的 offer。
虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪 offer 也是探囊取物!
另外,光你自己厉害,技术牛也不行。
程序员,在中国又被戏称为“程序猿”、“码农”,是一群有鲜明标签特色的人物。很多文章在描述程序员的时候,常常会给其画一幅肖像:一副黑框眼镜,身上格子衬衫,背后一个黑色双肩包,耳边戴着一副耳机。这就是典型的IT男,或者程序员在大众心目中的形象。
为何同样是程序员有些猿的工资那么高,他们的技术栈是什么样的呢、或者说他们又拥有什么样几技术能力?
一、Spring、MyBits源码
- IOC容器设计原理及高级特性
- AOP设计原理
- FactoryBean与BeanFactory
- Spring事务处理机制
- 基于SpringJDBC手写ORM框架
- SpringMVC九大组件
- 手写实现SpringMVC框架
- SpringMVC与Struts2对比分析
- Spring5新特性
- MyBatis关联查询、嵌套查询
- 缓存使用场景及选择策略
- Spring集成下的SqlSession与Mapper
- MyBatis的事务
- 分析MyBatis的动态代理的真正实现
- 手写实现Mini版的MyBatis
二、分布式
1、分布式架构原理
- 如何把应用从单机扩展到分布式
- CDN加速静态文件访问
- 系统监控、容灾、存储动态扩容
- 架构设计及业务驱动划分
- CAP、Base理论以及其应用
2、分布式架构策略
- 分布式架构网络通信原理剖析
- 通信协议中的序列化和反序列化
- 基于框架的RPC技术Webservice/RMI/Hessian
- 深入分析Zookeeper在disconf配置中心的应用
- 基于Zookeeper实现分布式服务器动态上下线感知
- 深入分析Zookeeper Zab协议及选举机制源码解读
- Dubbo管理中心及监控平台安装部署
- 基于Dubbo的分布式系统架构实战
- Dubbo容错机制及高扩展性分析
3、分布式中间件
- 分布式消息通信ActiveMQ/Kafka/RabbitMQ
- Redis主从复制原理及无磁盘复制分析
- Redis中AOF和RDB持久化策略的原理
- MongoDB企业级集群解决方案
- MongoDB数据分片、转存及恢复策略
- 基于OpenResty部署应用层Nginx以及Nginx+lua实践
- Nginx反向代理服务器及负载均衡服务配置实战
- 基于Netty实现高性能IM聊天
- 基于Netty实现Dubbo多协议通信支持
- Netty无锁化串行设计及高并发处理机制
4、分布式架构整合经验
- 分布式全局ID生成方案
- Session跨域共享及企业级单点登录解决方案实战
- 分布式事务解决方案实战
- 高并发下的服务降级、限流实战
- 基于分布式架构下分布式锁的解决方案实战
- 分布式架构下实现分布式定时调度
三、微服务架构
1、Spring Cloud
- Eureka注册中心
- Ribbon集成REST实现负载均衡
- Fegion声明式服务调用
- Hystrix服务熔断降级方式
- Zuul实现微服务网关
- Config分布式统一配置中心
- Sleuth调用链路跟踪
- BUS消息总线
- 基于Hystrix实现接口降级实战
- 集成Spring Cloud实现统一整合方案
2、Spring Boot
- Spring Boot热部署实战
- Spring Boot核心组件Starter、Actuator、AutoConfiguration、Cli
- Spring Boot集成Mybatis实现多数据源路由实战
- Spring Boot集成Dubbo 实战
- Spring Boot集成Redis缓存实战
- Spring Boot集成Swagger2构建API管理及测试体系
- Spring Boot实现多环境配置动态解析
3、Docker虚拟化
- Docker的镜像、仓库、容器
- Docker File构建LNMP环境部署个人博客Wordpress
- Docker Compose构建LNMP环境部署个人博客Wordpress
- Docker网络组成、路由互联、Openvswitch
- 基于Swarn构建Docker集群实战
- Kubernetes
四、性能优化
1、JVM调优
- 各垃圾回收器使用场景(ThroughputCMS)
- JVM内存模型 JMM
- JVM运行时数据区
- 各垃圾回收器使用场景(ThroughputCMS)
- 理解GC日志,从日志看端倪
- MAT分析dump文件
2、TomCat调优
- Tomcat的运行机制及框架
- Tomcat线程模型
- Tomcat系统参数认识及调优
- Tomcat基准测试
3、MySql调优
- MySQL底层B+ Tree机制
- SQL执行计划
- MySQL索引优化
- SQL语句优化
五、提升团队协作效率的开发工具
1、Maven
- 生成可执行jar、理解Scope生成最精确的jar
- 类冲突、包依赖 NoClassDefFoundError问题定位及解决
- Maven生成Archetype
- Maven流行插件实战、手写自己的插件
2、Jenkins
- 搭建Jenkins自动部署环境
- Jenkins集成maven、git实现自动部署
- testpreproduction 多环境发布
- Jenkins多环境配置、权限管理及插件使用
3、Sonar
- 使用Sonar进行代码质量管理
- 关于代码检查工具FindBugs/PMD的运用
- SonarQube代码质量管理平台安装及使用
- 使用Jenkins与Sonar集成对代码进行持续检测
- Idea与Sonar集合的使用
4、Git
- Git以及Git的工作原理
- Git常用命令Best practise
- Git冲突怎么引起的,如何解决
- Git flow规范团队git使用规程
最后
想要获得年薪50W以上的薪资大概的知识体系已经列出来了,其实这么多的知识不仅仅是掌握那么简单,还要熟悉这些知识的底层实现原理,更加要知其然,知其所以然。
针对知识体系我总结出了互联网公司java程序员面试涉及到的绝大部分面试题及答案做成了文档和架构视频资料免费分享给大家(包括Dubbo、Redis、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术资料),希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。
领取方式:点赞关注小编后私信【架构资料】获取海量资料领取方式! 也可以点击下面链接进入石墨文档获取海量资料!Java学习笔记,面试,文档以及视频领取shimo.im
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
更多学习资料分享