先唠叨两句
刚毕业那会,工作经验短,招聘的要求同样也低,一般只看重逻辑思维能力和和一些用算法解决现实问题能力,对具体技术栈知识点的深度,掌握程度不强求,懂多少算多少,应届毕业生里面能够表现出中上水平就能被录用。我整体上感觉工作六七年后,并没有积累和年限相对应的技术储备,这一点如果是在稳定的岗位上也不会有太大问题。
直到2016年我的第二份工作,我在一家一线互联网公司内部孵化的直播产品,用了四年时间做到项目副手,而在被HR约谈到离职,前后不到四天。
我当时还在专心做规划,写东西、对业务需求、开发功能。应该还算是比较重要的,很多人等着的东西开展业务,我属于他们的上游模型。HR邮件通知说业务调整,这边接下来考核压力挺大,我跟另一个工资最高的同事只能留一个。而最后确定了是我,整个流程不过半天时间,之所以用了四天是因为需要交接的东西比较多,说来也真是讽刺。
不过的确没什么好抱怨的,另外那个同事的确比我更努力,时常能看到工作之余还在不断的学习,而我则更像一条躺在老本上等死的咸鱼,这样的我凭什么被别人坚定选择呢。
被踢出局之后,我回到了长沙,颓废了一段时间,但日子还得继续不是。没辙,想再找到一份不错的工作,就得提升自己的核心竞争力。之后有相当长的一段时间在补短板,也看些感兴趣的东西,像JVM和并发相关的,那时候每天都有种醍醐灌顶的感觉。
不过面试的时候还是被打回原形了,准备的很多东西都没有被问到,我自认为很厉害的东西只是钻牛角尖了。我他喵裂开!!!
  不过好在认识了一位很牛的行业老大哥,至于怎么认识的就不赘述了,总之在他的引导下我才能拿到今天这5个还算不错的offer,不说废话了,先贴两个offer再给你们分享一下学习经验,不然你们还以为我吹牛皮。 

 这一年多不断的肝学习也整理了一些学习笔记和资料,是按照我下面要写的学习路线整理的,也都分享给大家,需要的朋友可以自行点击下方蓝字领取。 
好了,开始正题。
为了拿到这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家公司后自己整理的面试题自测一下。

京公网安备 11010502036488号