先唠叨两句

刚毕业那会,工作经验短,招聘的要求同样也低,一般只看重逻辑思维能力和和一些用算法解决现实问题能力,对具体技术栈知识点的深度,掌握程度不强求,懂多少算多少,应届毕业生里面能够表现出中上水平就能被录用。我整体上感觉工作六七年后,并没有积累和年限相对应的技术储备,这一点如果是在稳定的岗位上也不会有太大问题。

直到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家公司后自己整理的面试题自测一下。