最近有一位华科的学弟找到我,说自己有点迷茫,希望我能帮忙解答疑惑。我相信很多人在不同阶段或多或少都会遇到迷茫,希望大家看完这个事例能有一点点感悟,最终都能找到属于自己的方向。

为什么会迷茫?

学弟:因为自己感觉时间已经不充足了,而且目前的个人状态也不是很好。学校的事情也导致学习时间的不足,同时学校的事情很耗费精力,导致最近状态很焦虑,对未来很迷茫。

你是不是因为给自己设立了很高的要求,导致现在非常焦虑?

学弟:我给自己设立的目标就是要去大厂,周围认识的师兄很多都已经签约大厂。但是我的基础比较差,这些大厂我不知道能不能面过,不知道有没有大厂会要我。

要是进不去互联网大厂,OPPO、VIVO、华为这些我也想进。所谓的中型互联网公司会要一个没什么技术能力的人么?就靠我华科的硕士学历?这是我的幻想吧。那我该何去何从?我是不是真的应该去大城市去打拼?我还是回老家做传统机械重工业?还是继续从事互联网行业?

你刚说到从事传统机械行业,那从你内心来讲,互联网和传统行业你到底偏向哪个方向?

学弟:从我的角度看还是想从事互联网行业 

1、机械这个行业自己也不是很感兴趣 

2、自己在机械领域做的东西其实也不多,说实话就是不太行 

3、未来必然是互联网的天下,我利用自己应届生的身份找一个it工作,比较理想 

4、互联网的高工资也是自己最大的追求之一

简单介绍一下你个人的背景情况

学弟:我是农村孩子,需要靠自己挣钱才能在城市里扎根生活,互联网行业让我看到了更大的希望,单指金钱方面。

学历方面:本科是xxx大学,末流的985院校,机械工程专业。大一读完后去部队当了两年兵,然后回来继续读的大二。但是由于生活散漫,学习不认真,导致大四毕业时无路可去,所以才选择考研。结果毫无意外没有考上,只能选择二战。也在二战这个过程中重新思考人生,认真准备,终于在去年考上了华科的研究生,可以说本科机械素养对我只有潜移默化的影响,并没有形成专业素养,但是在二战的时候懂得好好学习了。

自我感觉的话,学习能力是绝对没有问题的,就是大家嘴里的小镇做题家的类型吧,不说优秀但是要比大多数人会准备考试。

我现在在华中科技大学机械工程专业读研一(全日制专硕两年学制),科研方向,导师工作繁忙,让自己找方向。我目前在做机器人教育(在我看来这项任务没啥价值,就是把人家的机器人的使用教程拿过来,自己看看然后编成课卖给技校)。

看来你是准备跨专业转行了,我身边也有很多机械专业毕业从事 IT 互联网行业的,你对这个互联网行业是怎么看的?

学弟:未来一定是互联网行业的时代(其实现在就是了),互联网行业有好的薪水,很大的就业需求,顺应时代的发展。

我个人认为,如果从事机械这个行业,自己的水平并不是拔尖的,专业科研能力不高,以后发展不一定好,很容易就进坑了(大概率)。网上那么多跑路转行的也把原因说的很清楚,把很多领域的工作拿来与互联网行业一对比,也都是很累,工资还不高,天花板估计自己也很难摸到了。

看来你对传统机械行业和互联网行业都有一点了解,如果你打算转行到互联网行业,你选好后面研究的方向了吗?

学弟:如果转行成程序员,目前我的选择是想成为后端开发工程师。当初做选择的时候在前端和后端两个方向上纠结了一段时间,最后看网络上面的一些说法,后端的天花板高(技术更复杂?我在网络上看的,不知道对不对),就选择后端开发了。当然前端技术也是更新迭代很快,要学透学专需要花费很多心思,只是从自己的认知来看,后端可能挑战更大,带给我更多的兴趣。

那你对后端方向了解多吗?学习了多少东西?

学弟:目前只是初学了一点计算机的知识。

2020年 9 月听师兄建议先学一下 C 语言,然后我就花了两个月时间飞快的看完C语言的课程,代码就跟着敲了一点,但学的结果并不是很理想,只是知道简单的语法,这种水平我认为仅仅算入门吧。

接下来的10月到12月份学习了​​《大话数据结构》​​和​​《算法图解》​​,但是看的很快,也就是个囫囵吞枣(目前来说也没留下太多的知识要点,只剩下一点概念简单的理解了)。

2020年12月到2021年2月份忙于导师公司的事情(现在应该不止是华科导师,包括武大、武汉理工大,课余时间导师会把学生安排到一些公司工作,相当于人才外包,就是给导师挣钱。或者是导师自己开公司,承接一些项目,学生来做项目)。其实从导师的安排来讲,很多硕博朋友都应该知道这种导师的学术能力也很一般,能教给学生的更是有限,所以在校时我也很少把导师讲的一些编程无用的道理放在心上,坚持做自己认为对的事情。

另外我还自学了 ​​C#​​ 脚本语言,不过还没来得及深入研究,就被导师安排的工作给挤占了时间,迫不得已暂停了学习。

2021年2月到3月份,也就是过年期间,节日的气氛让我丧失了学习热情,使得本就不牢固的知识点,包括之前有关编程的东西忘记很多。

3月回到学校自己摸索一些方法,然后开始学习Java,但经常会被实验室的琐事烦扰。学习时间不充足,学习过程也总是断断续续,掌握的知识点不牢固,多方原因交织在一起,使得自己心态有点崩(自己身边基本没人学习Java,但是看到其它实验室同学不仅可以专心学习软开,还有项目可以参与,我想和人家一起学习,却又怕自己的诸多琐事耽误进展,无法保持同步,所以还是选择网络上学习)。

2021年4月到5月份,这期间我自己制定了学习计划,然后执行了差不多半个月,又被导师安排了其它工作,不停的开无意义的会,不停的安排任务,不停的催促进度......不停的打断我的学习计划,真的很影响我的学习效率,制定好的计划一再搁浅。

这里我说一下自己原本的计划:重点刷一些面经,把面经上面的知识点分类整理,再根据自己的分类着重掌握并练习。因为根据我的日常节奏来看,没有时间去系统学习。但当我开始刷题时,又被导师安排的工作给暂停了,一直到今天我才刷了一道算法题(你们应该能理解我的崩溃)。

所以目前我的情况就是有一些计算机思维,也了解一点学习路线,但是由于学的东西不系统,所以就和没有一样。既没有项目经历,也没有基础知识,但仍然觉得去互联网当程序员是最符合自己预期的职业道路(就是为了进大厂,拿相对高薪,以后的发展也会不错)。

你眼前最大的问题就是时间问题,因为六七月份就开始提前批的招聘了

学弟:我自己心里十分清楚,以我目前的水平还存在不足。我现在就想先完整的做一个项目,期间结合面经学习,整合出一个结合项目的可以自圆其说的技术栈,但是这。。。我还是很慌,主要还是因为学习时间不足。我想着用夜里的时间堆积,但是明显第二天状态不对,所以这个方法行不通。那就只能提高效率,目前也是正在思考这个问题,怎么能提高效率?

如果你现在没有准备好,提前批快要到了,你会以怎么样的心态去面试?呈现给面试官什么样的状态?

学弟:招聘开始的话,那我还是要去参加的,不知道面试太差,会不会进入黑 名 单?也就是会不会影响以后第二次被捞?

那就算不成功我怎么样合理的利用面试打怪升级呢?我这种水平怎么准备面试呢?我是真想去互联网公司!所以硬着头皮学习,但也实在是被实验室占用太多时间了,实验室的科研任务和计算机学习之间的矛盾目前来看在研究生阶段是基本不可调和的了。希望未来能进入互联网公司然后一心一意的干活,而不是现在东一榔头西一棒子,事事都没做到令自己满意的程度。

网上有很多学习路线和面经你看到过吗?

学弟:网上的系统学习路线我看过,但是那个需要花费大量的时间进行系统的学习,我的个人时间是不允许的,所以我才有面向面经学习的想法,现在想请教您一下,我的做法对么?我知道学习上的速成是不可取的,但是对于我自己来讲,学习时间不多的情况下如何快速进阶,掌握面试要点,斩获大厂offer的(例如BAT,美团,pdd,京东等等)。

我的想法,抓紧做一个项目(目前找到一个电商),面向面经进行主题法学习,问啥学啥,像准备考试一样复习重点,刷LeetCode的高频100题。

希望您能给点建议,如何高效的学习斩获offer,拿到offer之后我会在技术上加强系统学习。当今确实没时间系统学习,唉,兼顾实验室的事情,时间是个大难题,要是您,您有什么破局之法呢?

招聘是一个比较长时间的战线,提前批、秋招、春招等,你需要好好把握每个阶段,保持好的心态

学弟:招聘是一个动态的过程,就是说六月份开始,不同企业开始招聘,提前批,秋招,春招;在这个动态的过程中,按照以往我接触到的学长(具体技术实力不知道)但是利用华科这个牌子,找到的工作其实并不差好像,在转码这个大军中,我目前也算是比较差得水平吧,但是我还是想在最后的时候,拼一拼,然后找个好的起点。

希望早点上大厂的车,拖到最后(最后指的是明年的春招了),心态上有点害怕绷不住,也是有点在意周围那些平时就做java项目的同学的目光(不过我知道别人并不会多想,不过我挺害怕落后的滋味,就是大家校招都很理想,而我在互联网公司招聘中颗粒无收)。我不太能接受自己失败,我希望和我的同学一起成功,不过自己确实已经落后他们很多了,挺难受。

总结:

与学弟聊天发现,主要有三个问题困扰着他。

(1)目前研究生时间精力被消耗的破局方法? 

(2)时间紧迫的问题,面试该怎样成功率更高? 

(3)适用于目前情况的学习的方法是什么?

给学弟的几点建议

(1)确定方向

学弟由于非科班出身,对于 IT 互联网这个行业不是太了解。我给出的第一条建议是『尽快确认方向』,鉴于学弟基础稍薄弱,机器学习、大数据、nlp、视觉、算法这些方向需要一定时间积累,我直接劝退了。经过思考后,学弟最终确定了走 Java 后端这条路。

(2)刷LeetCode

现在应届校招越来越卷了,算法题是笔试和面试必考的,因为离提前批和秋招时间不多了,建议直接刷企业高频题,保持手感,最少​​200+​

(3)刷大厂面经

现在从头开始进行系统学习肯定来不及了,可以直接去牛客等网站找大厂的面经,面经基本就是面试高频题了,每一道题都要吃透,面试喜欢问源码和底层原理,一定要搞懂。

一定要多看多总结,最好写笔记。

(4)重视基础

数据库、计网和操作系统有很多经典的问题,也是考察应届生基本功的手段,一定要重视。

Java 语言特性要熟悉,​​《深入理解 Java 虚拟机》​​这本书必看。

(5)简历和软实力

简历不能作假,只要写上的东西就一定要非常熟悉,不熟悉的东西不要写以免画蛇添足。

有牛逼的项目是亮点,没有也没关系。不要过多迷恋项目经历,校招面试主要考察面试者的基本功。

面试遇到不会的问题,要诚实要虚心接受,让面试官觉得你热爱技术,是一个对技术有追求的人。

希望能拿到心仪的 offer,加油~