从被优化到5个30K的offer,沉下心来,你我皆是前程万里
背景
今天这篇文章的灵感来自一个粉丝的亲身经历,想必也是金三银四浪潮中很多朋友的经历,内卷大环境找不到满意工作的人太多了,之前也有很多人问过我怎么才能找到不错的工作,甚至是进大厂,所以今天就借这位粉丝的经历来聊聊怎么系统的提升自己的核心竞争力。
其实随便打开一个招聘网站,看看对高级Java工程师的技能要求你就会发现。
dd047c18be908e768b2bc9f570abc4f1_551bfa9e43bc4b32b9693b8bf8fcb9da_from=pc.png
抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方。
- Java基础
- 计算机基础
- 数据库,SQL/NoSQL
- 常用开源框架
- 分布式/微服务
- 中间件,缓存、消息中间件
所以,我们今天就从这几个方面来谈谈拿到一个高薪offer需要具备哪些能力
现在,先来看一下这份粉丝的经历
粉丝经历
image.png刚毕业那会,工作经验短,招聘的要求同样也低,一般只看重逻辑思维能力和和一些用算法解决现实问题能力,对具体技术栈知识点的深度,掌握程度不强求,懂多少算多少,应届毕业生里面能够表现出中上水平就能被录用。我整体上感觉工作六七年后,并没有积累和年限相对应的技术储备,这一点如果是在稳定的岗位上也不会有太大问题。
直到2016年我的第二份工作,我在一家一线互联网公司内部孵化的直播产品,用了四年时间做到项目副手,而在被HR约谈到离职,前后不到四天。
我当时还在专心做规划,写东西、对业务需求、开发功能。应该还算是比较重要的,很多人等着的东西开展业务,我属于他们的上游模型。HR邮件通知说业务调整,这边接下来考核压力挺大,我跟另一个工资最高的同事只能留一个。而最后确定了是我,整个流程不过半天时间,之所以用了四天是因为需要交接的东西比较多,说来也真是讽刺。
不过的确没什么好抱怨的,另外那个同事的确比我更努力,时常能看到工作之余还在不断的学习,而我则更像一条躺在老本上等死的咸鱼,这样的我凭什么被别人坚定选择呢。
被踢出局之后,我回到了长沙,颓废了一段时间,但日子还得继续不是。没辙,想再找到一份不错的工作,就得提升自己的核心竞争力。之后有相当长的一段时间在补短板,也看些感兴趣的东西,像JVM和并发相关的,那时候每天都有种醍醐灌顶的感觉。
不过面试的时候还是被打回原形了,准备的很多东西都没有被问到,我自认为很厉害的东西只是钻牛角尖了。我他喵裂开!!!
不过好在认识了一位很牛的行业老大哥,至于怎么认识的就不赘述了,总之在他的引导下我才能拿到今天这5个还算不错的offer,不说废话了,先贴个offer再给你们分享一下学习经验,不然你们还以为我吹牛皮。
image.png其实这位粉丝的经历很有代表性,是无数程序员的缩影,也许不止程序员,所有行业都是如此,不持续学习就会被时代淘汰,那问题又来了,该怎么学习?
虽然现在是信息大爆炸时代,但依然有很多同学不知道该怎么利用网络进行学习,因为网上知识实在是太多太杂了,而且良莠不齐,很多人根本没有辨别的能力。
所以这里也给大家整理了一些不错的学习笔记和资料给大家
- Java基础知识大全
- 2021金三银四最新面试题合集
- 22本Java架构师核心书籍
需要具备哪些能力才能拿36K offer?
一、性能调优
image.png- Jvm性能调优
- Mysql性能调优
- Tomcat调优
- Nginx调优
二、并发编程
image.png- 操作系统内核原理
- JMM内存模型
- 并发同步处理
- 并发包之tools限制
- 并发包之atomic原子操作
- 阻塞队列BlockingQueue详解
- 并发Map、List与Set详解
- Executor线程池详解及核心源码剖析
- ForkJoin框架详解
- 无锁并发框架Disruptor实战
三、框架源码
应用框架Spring
image.png- Spring IOC源码剖析
- Spring Aop源码剖析
- Spring MVC源码剖析
- Spring注解式开发
- Spring 5新特性
- Spring Security原理与源码剖析
- Spring Webflux详解
ORM框架MyBatis
- MyBatis快速掌握
- Mybatis 源码分析
- Mybatis徒手实现
学习源码中的优秀设计模式
- 设计原则
- 创建型模式
- 结构型模式
- 行为型模式
- 设计模式对比及应用场景
当然了,只学不写是不行的,我自己是比较倾向学一段时间就自己动手写两个项目,不一定要多难,但一定得做,这一年多的时间项目也没少写,整理了20个比较有代表性的项目可以分享给大伙,源码跟笔记都有,应该挺好上手的,至于怎么领取你知道的,私信发送“BY”即可领取。
四、分布式框架
image.png分布式消息中间件
- Rabbitmq
- RocketMq
- Kafka
分布式储存中间件
- Redis
- MongoDB
- FastDFS
- Elasticsearch
分布式框架
- Zookeeper
- Dubbo
- ShardingSphere
- Netty
五、微服务系列
image.png微服务架构变迁史
- Spring Boot详解及源码剖析
- Spring Cloud Alibaba详解及源码剖析
- Spring Cloud Netflix详解及源码剖析
六、互联网工具
image.pngGit
- 整体认知GIT体系结构
- Git客户端与服务端快速搭建
- Git的核心命令详解
- Git企业应用最佳实践
Maven
- Maven生命周期详解
- Maven插件体系详解
- Maven核心命令详解
- Maven的pom配置体系详解
- Nexus私服搭建实战
Jenkins
- 整体认知Jenkins体系结构
- Jenkins如何做持续集成
- Jenkins搭建及使用详解
- Jenkins插件体系详解
Linux
- Linux原理、启动、整体架构讲解
- Linux运维常用命令实战
- Linux用户与权限讲解
- Shell脚本编程实战
虚拟容器
Docker
- Docker的镜像,仓库,容器详解
- 快速开始搭建Docker环境
- DockerFile使用详解
- DockerCompose集成式应用组合
- Docker服务编排实现
Kubernetes
- Kubernetes介绍与快速开始
- Kubernetes对象&Master组件&Node节点详解
- Kubernetes生产集群环境搭建与使用
七、拓展技术
image.png算法与数据结构
- 算法复杂性分析
- 线性表、链表数据结构详解
- 队列、栈结数据结构详解
- 基础排序算法详解
- 数论&枚举&递归&分治&回溯思想详解
- 贪心算法与动态规划
- 快排与归并排序详解
- 二分搜索、哈希表详解
- 并查集算法详解
- 树,基本概念,二叉树(遍历),红黑树详解
- B树,Trie树,赫夫曼树,堆树详解
- 图论、深度优先遍历、广度优先遍历详解
- 最小生成树、最短路径详解
- 布隆过滤器与位图详解
区块链技术(Java版)
- 项目架构与技术点讲解
- 区块链原理整体介绍
- 区块链整体结构设计与实现
- 密码学
- 比特币钱包的设计与实现
- 比特币交易的设计与实现
- P2P去中心化网络设计与实现
大数据技术
- 第一阶段--开发环境构建
- 第二阶段--HADOOP核心
- 第三阶段--大数据通用生态圈组件
- 第四阶段--Spark及生态圈
- 第五阶段--基于spark的数据挖掘算法
人工智能技术
- 用一台电脑搭建一个机器人开发环境
- Python编程入门和应用范例
- ROS客户端库和应用范例
- 开发你的第一个机器人应用
- 如何协调一个机器人内部的行为
- 计算机视觉基础与应用
- 机器人建图和导航
- 开发一个智能安保机器人
- 神经网络基础与应用
- 基于ROS开发多机器人应用
- 群体智能
- 人工智能前沿探讨 类脑计算
- 人工智能前沿探讨深度强化学习(DRL)
应届生怎么提升自己的核心竞争力?
之前也有朋友问应届生面试有哪些需要注意的,我说注意的地方太多了,我就在这提一下怎么提升自己的竞争力吧。结合了我面试22家公司的面试官所问的问题我总结了下面几点,也许对应届生有一些帮助:
1、参加过竞赛( 含金量超高的是 ACM );
2、对数据结构与算法非常熟练;
3、参与过实际项目(比如学校网站)
4、熟悉 Python、Shell、Perl 其中一门脚本语言;
5、熟悉如何优化 Java 代码、有写出质量更高的代码的意识;
6、熟悉 SOA 分布式相关的知识尤其是理论知识;
7、熟悉自己所用框架的底层知识比如 Spring;
8、有高并发开发经验;
9、有大数据开发经验等等。