从被踢出局到 5 个 30K+ 的 offer,一路坎坷走来,沉下心,何尝不是前程万里
先唠叨两句
刚毕业那会,工作经验短,招聘的要求同样也低,一般只看重逻辑思维能力和和一些用算法解决现实问题能力,对具体技术栈知识点的深度,掌握程度不强求,懂多少算多少,应届毕业生里面能够表现出中上水平就能被录用。我整体上感觉工作六七年后,并没有积累和年限相对应的技术储备,这一点如果是在稳定的岗位上也不会有太大问题。
直到 2016 年我的第二份工作,我在一家一线互联网公司内部孵化的直播产品,用了四年时间做到项目副手,而在被 HR 约谈到离职,前后不到四天。
我当时还在专心做规划,写东西、对业务需求、开发功能。应该还算是比较重要的,很多人等着的东西开展业务,我属于他们的上游模型。HR 邮件通知说业务调整,这边接下来考核压力挺大,我跟另一个工资最高的同事只能留一个。而最后确定了是我,整个流程不过半天时间,之所以用了四天是因为需要交接的东西比较多,说来也真是讽刺。
不过的确没什么好抱怨的,另外那个同事的确比我更努力,时常能看到工作之余还在不断的学习,而我则更像一条躺在老本上等死的咸鱼,这样的我凭什么被别人坚定选择呢。
被踢出局之后,我回到了长沙,颓废了一段时间,但日子还得继续不是。没辙,想再找到一份不错的工作,就得提升自己的核心竞争力。之后有相当长的一段时间在补短板,也看些感兴趣的东西,像 JVM 和并发相关的,那时候每天都有种醍醐灌顶的感觉。
不过面试的时候还是被打回原形了,准备的很多东西都没有被问到,我自认为很厉害的东西只是钻牛角尖了。我他喵裂开!!!
不过好在认识了一位很牛的行业老大哥,至于怎么认识的就不赘述了,总之在他的引导下我才能拿到今天这 5 个还算不错的 offer,不说废话了,先贴两个 offer 再给你们分享一下学习经验,不然你们还以为我吹牛皮。
这一年多不断的肝学习也整理了一些学习笔记和资料,是按照我下面要写的学习路线整理的,也都分享给大家,需要的朋友可以自行点击下方蓝字领取。
Java私人学习笔记和视频文档学习资料
面试22家公司后自己整理的面试题,点击直接领取
好了,开始正题。
为了拿到这 5 个 offer 我学了哪些东西?
一、性能调优
Jvm 性能调优
Mysql 性能调优
Tomcat 调优
Nginx 调优
二、并发编程
操作系统内核原理
JMM 内存模型
并发同步处理
并发包之 tools 限制
并发包之 atomic 原子操作
阻塞队列 BlockingQueue 详解
并发 Map、List 与 Set 详解
Executor 线程池详解及核心源码剖析
ForkJoin 框架详解
无锁并发框架 Disruptor 实战
三、框架源码
应用框架 Spring
Spring IOC 源码剖析
Spring Aop 源码剖析
Spring MVC 源码剖析
Spring 注解式开发
Spring 5 新特性
Spring Security 原理与源码剖析
Spring Webflux 详解
ORM 框架 MyBatis
MyBatis 快速掌握
Mybatis 源码分析
Mybatis 徒手实现
学习源码中的优秀设计模式
设计原则
创建型模式
结构型模式
行为型模式
设计模式对比及应用场景
当然了,只学不写是不行的,我自己是比较倾向学一段时间就自己动手写两个项目,不一定要多难,但一定得做,这一年多的时间项目也没少写,整理了20个比较有代表性的项目可以分享给大伙,源码跟笔记都有,应该挺好上手的。
四、分布式框架
分布式消息中间件
Rabbitmq
RocketMq
Kafka
分布式储存中间件
Redis
MongoDB
FastDFS
Elasticsearch
分布式框架
Zookeeper
Dubbo
ShardingSphere
Netty
五、微服务系列
微服务架构变迁史
Spring Boot 详解及源码剖析
Spring Cloud Alibaba 详解及源码剖析
Spring Cloud Netflix 详解及源码剖析
六、互联网工具
Git
整体认知 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 生产集群环境搭建与使用
七、拓展技术
算法与数据结构
算法复杂性分析
线性表、链表数据结构详解
队列、栈结数据结构详解
基础排序算法详解
数论 &枚举 &递归 &分治 &回溯思想详解
贪心算法与动态规划
快排与归并排序详解
二分搜索、哈希表详解
并查集算法详解
树,基本概念,二叉树(遍历),红黑树详解
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、有大数据开发经验等等。
总结
写到这里其实也差不多了,该发的牢骚也发了,经验也跟大家分享了,幸好通过自己的努力之后结果还算不错,也祝正在迷茫的兄弟们早日上岸。
准备实习或者跳槽但又心里没底的兄弟都可以拿我这份面试22家公司后自己整理的面试题自测一下。
版权声明: 本文为 InfoQ 作者【北游学Java】的原创文章。
原文链接:【http://xie.infoq.cn/article/0531d8ab74c6efe5cc515646f】。文章转载请联系作者。
评论