美文网首页Java
985材料研究生转行Java,收割一众大厂,拿到54w的巨额高薪

985材料研究生转行Java,收割一众大厂,拿到54w的巨额高薪

作者: 笃学私教 | 来源:发表于2020-11-09 10:39 被阅读0次

下面,我分享一个材料专业的朋友,转换Java,2020毕业拿了 50W+ 的 offer,他的转换经历,值得大家学习和参考,绝对是 0 基础转行的。

转行之路

背景介绍

本人本硕985材料专业,学了六年材料,从我本科舍友转行,到我硕士师兄转行,到认识越来越多转行的人,终于,也带动了我这颗躁动的心,明白了什么叫及时止损,最后一年醒悟,自学计算机,怒转码农。我选择的是java开发入手学习,一是因为java的生态比较成熟,学习资料也比较多;二是因为java的市场需求特别大,更加容易上岸一点。

春招:

阿里,腾讯,快手

秋招:

腾讯,字节跳动,快手,百度,网易,猿辅导,华为

转行之路

在没开始面试前,我是从来不敢想自己能进入大厂的,一开始的目标只是进一个三线互联网或者硬件公司,只能说闷头只管努力,当你抬起头来的时候发现自己已经到了曾经不敢想的地方。

去年4月开始,认识到科研做不下去的时候,就准备开始转程序员。我选择了当下最热门的人工智能开始学习(再一次盲目跟风),瞎学了一个月python,深度学习,tensorflow,感觉就是闭门造车,东学一下,西学一下,完全找不到方向,而且毫无成就感,也不知道在做什么方向。直到认识了yq同学,yq告诉我,我这样学算法,明年找工作只能成为失业大军中的一员,给我讲了很多算法的现状,什么诸神黄昏,天地寂灭等。告诉我及时换方向,虽然有点不舍,但是这个时候我已经明白了及时止损的道理,于是放弃了一个月的算法学习,开始走java后端的路线(这个时候是5月15)。

Java学习过程

Java基础,mysql基础,servlet,spring框架,mybatis框架,springmvc框架

第一阶段就冲的很快,完全不理解原理,只知道照写代码,甚至觉得短短一两个月学这么多感觉计算机也不是那么难(太年轻==)。学了点java,html,sql语法就急于找一个实习证明自己,于是去学校旁边的一家外包公司面试,面试啥都不会。问我JAVA的三大特性我都不知道,当时就感觉自己忽略了很多细节,在外包公司干了几天,啥都不会,代码也看不懂。于是就辞职了,当时有个小哥告诉我,去学一下spring。(这个时候应该是6月底)

于是就一头扎进了ssm的学习,用了how2j的学习教程照着学一遍,似懂非懂,又照着w3school学一遍还是似懂非懂,后来在b站看的黑马视频课程,总算是大概明白了ssm怎么操作和基本原理。当时趁着,暑假出去玩了一趟,这个时候已经8月中旬了,在boss直聘上收到来自一个公司的一条消息,问我愿不愿意去实习,随后就去参加了面试,这个时候已经能答出来一点基础东西了,包括synchronized的用法,事务的ACID这些,答得一般般,可能看到我学校不错,还是让我过了面试。

第二阶段:

springboot,springcloud, redis(中间穿插着阅读了JVM和并发编程的艺术)

真正入职实习得时候,已经是9月初了,这个时候已经能开发点基本的网页了,期间做的也就是这个事情,做了一些基本的CRUD。这个时间段是比较辛苦的一个时间段,因为距离学校比较远,早出晚归。不过辛苦总会有回报,这个时间段,我认识了一个重要的同学lzy,,在这之后,我终于不再是闭门造车,有人给我讲就业行情,有人给我讲大厂招聘消息,有人帮我改简历。lzy给我提供了很多有用的资料,还教我如何去描述项目,并且让我少走了很多弯路,也是在他的建议下,我在实习期间自己实现了一个不错的功能,算是实习项目中为数不多的点之一了 == 。

springcloud,zookeeper,rabbitMQ

11月底十二月初,快三个月了,我就实习离职,学了点中间件,准备自己做一个项目(当时不知道做什么,后面发现同学没做的都是rpc等),我从网上找了一个十次方的项目,是一个微服务项目,用的技术栈是,springboot,springcloud,rabbitmq,redis等,之后我再自己加入了一个秒杀微服务(后来才知道秒杀项目烂大街),这也成为了我春招能吹的一些微服务,分布式的一些东西。不过后面事实证明,这种项目漏洞还是很多,幸运的是面试官都没有深究。

第三阶段:

基础阶段,也是java的同学的面试重点

基础课:操作系统,网络,数据结构

元旦过后(1月1日),就开始背背书,搞搞学校的事情,一月底就回家了,刚好疫情爆发。就在家背背书(后面才觉得我这个学习方法是错误的,基础应该放在前面学习),主要内容是这些:

Java基础:缓冲池,String,hashcode和equals,抽象类和接口,static,final,多态;

集合:ArrayList, LinkedList,HashMap,HashSet,ConcurrentHashMap,CopyOnWriteArrayList,Queue,PrriorityQueue

JVM:JVM内存区域,垃圾收集算法,垃圾收集器,类加载机制,JVM调优

多线程:Synchronized,volatile, CAS,ReentrantLock,Countdownlatch, Semaphore

Mysql:B+树索引,存储引擎的区别,覆盖索引,联合索引,最左匹配原则,三大范式,四大隔离级别,MVCC,锁

Redis:优点,单线程,事件模型,持久化,主从复制,redis集群,缓存一致性,键删除策略,淘汰策略,分布式锁,缓存击穿,缓存雪崩,缓存无底洞

Zookeeper:zab协议(加分),结构模型,功能和优点,分布式锁

分布式相关:CAP,BASE,Paxos,分布式事务解决方案,ZAB,分布式锁,消息队列

当然,还没完全复习完的时候,春招就开始了

第四阶段:源码阶段 + 面经阶段:

因为一开始就没想着去大厂实习(导师不可能同意),听说阿里可以直通车,2月底,投了阿里巴巴试试,也没打算过,就想着练习练习,结果很顺利的面的两个部门通过了,当时想多试试,又投了腾讯和快手,结果也够过了,后续秋招开启就没什么太多惊喜的了,因为无非就是重复春招的流程,很幸运的时候,面过的公司都拿到了offer。那么在这半年面试期间,其实也是穿插有一个学习和复习的过程的,主要是针对源码和面经主要如下:

需要了解的源码:

集合:ArrayList, LinkedList,HashMap,HashSet,ConcurrentHashMap,CopyOnWriteArrayList,Queue,PrriorityQueue

QS:AQS的原理,ReentrantLock,Countdownlatch, Semaphore

线程池的源码

Spring源码:初始化流程,循环依赖

上面只是一些常问的源码,
一些更细节的就不提出来了。
包括春秋招期间
跟同学们讨论的很多面经细节知识。
当然算法的话,应该是整个学习过程中都要刷的,
一般leecode 前200+剑指就够用,
但是运气不好也有几率碰到难点的算法题,
比如手撕跳表,比如手撕前缀树等。

总之~,感谢这一年的自己,可能比不上很多速成的大佬,不过还是很满意了,尤其是在毫无计算机基础还要跟导师斗智斗勇的基础上…,也希望大家都能够得偿所愿,不负坚持

最后,如果你刚好看见这篇文章,也在学习Java,在整个Java的学习过程当中,有遇见任何关于学习方法,学习路线,学习效率等方面的问题,都可以随时来一起交流分享探讨,这是我的Java学习交流群:537864251,这里面聚集了很多正在学习Java技术的初学者,其中不乏也有正在学习Java技术才大佬,有任何不懂的地方都可以咨询,不忙的时候我也会抽出一定的时间给大家进行解答。

相关文章

网友评论

    本文标题:985材料研究生转行Java,收割一众大厂,拿到54w的巨额高薪

    本文链接:https://www.haomeiwen.com/subject/nuklbktx.html