今天介绍一位二本同学的学习、实习以及求职经历,他大三下学期开始学习,中间有过两段实习经历,秋招拿了B站、顺丰、百度、小米等后端开发的offer。
背景介绍
我是来自南京双非二本的大四学生,可以说学校不太好(和985,211相比)。由于高考失利,本来是想考研的,本来也准备了两个月,后来突然发现自己不知道除了学历还有什么是我考研的理由。
那时候也去问了我们老师,就是我们学校这个水平出去能工作吗?我们老师说其实可以的,所以就毅然准备找工作了。也就是那时候,2020年寒假,偶然加入了峰哥的群。最大的好处是,让我开了眼界,原来双非二本不仅仅能找到工作,还有机会去大厂!还有机会进外企!这给了我很大的信心,那时候我就很有目标,期间也是有过两段实习经历,不断积累学习,最终上岸百度。
学习过程
实话实说,像我们这种学校,很多课都是很水的。我还记得第一节操作系统的课,我本来满怀期待地做了第一排,想着就要学操作系统了,这么底层地知识一定要好好学。
可是后来我发现老师讲的也太生硬了,完全是照着PPT念啊,我听了几节课后就不再去了。整个大学生涯,就有两个质量比较好的课,分别是C语言和算发与数据结构,像java, 操作系统、计算机网络,我更多地是自己找资料去学习。
所以对于一些不喜欢的课,还是在保证可以过的情况下,空下时间来多多自学吧,毕竟网上的资源也挺多的,学校图书馆的书也不少。
这些是我2020年上半年看过的书,对于看书的话,我有一些想法就是,一本书最重要的是它的目录!!看一本书之前先浏览一遍它的目录是很重要的。
第二点就是一本书不要指望着一遍过,第一遍粗读的主要目的是让你对这本书建立一个概览的框架,后续的的阅读可以去丰富这个框架。
第一遍不要一个一个字的啃,可以略读、选读。陌生名词多的部分可以先跳过,因为陌生名词多,很大概率是因为你这块知识还很欠缺,如果硬去读的话,其实是很费劲的,效率不高。还有就是我觉得,解决一个问题,最直接的方法是直接去百度,其次是官网,最后是找相关的书籍或者论文去翻阅,因为越往后操作是越重的。还有就是找到好资料也是一个能力,有时候找到一个好资料可以让你接下来的学习很有效率。还有就是看视频其实效率是很低的,推荐能阅读文本优先文本。 学习一门语言的话,分两种情况吧。一是第一次学习,建议直接跟着学校的课本学,选那些好大学的,比如清华出版社的那种,那些教程其实是很利于新手学习的,因为人家就按那个上课啊,而且还有对应的编程题练习。还有就是这个可以看视频,因为是第一次学嘛。不建议刚一上来就抱着《java核心技术》来啃,我一般把他当字典来翻阅的
java的重点的话,峰哥也讲过很多了,比如java虚拟机,java集合,java线程及线程安全相关,不再往下赘述了。 操作系统、数据库、计算机网络建议先直接刷面试题,那都是好问题。然后带着这些问题去找好的书籍,好的博客再投入时间去学习。 最后是算法题了,这个是重点!!!按我的面试经历,算法题在整个面试的比重至少要有一半。百度,B站,头条,华为我都面过,而且只有头条面到hr,最后挂了。百度一面上来直接让我撸4道算法题,华为是先笔试,笔试过了,每轮面试还会让你手撕代码(难度大概是层序遍历二叉树的那种,还算常规),最狠的是头条,每轮都会让你笔试,而且难度最大,会考你动态规划(懂的都懂)。 关于算法题的学习,峰哥给了我很大的启发。
多练,重复刷,多总结,有规律的练。牛客网的经典编程题我前前后后刷了有三四遍的样子,第一遍最痛苦(然而也是艰难困苦,玉汝于成),因为没有思路,要去看别人的代码,厘清思路。第二遍就是大概率会有思路,但是尽量不要看别人的代码了,还有就是要给自己定时,比如超过了30分钟还没有a的话就再去翻别人的代码,而且一道题会有不同的解题思路,建议多看看有利于开阔眼界,学习更多的技巧。我最后的效果就是,对于链表类型的题目(举个例子哈),十几道题吧,我3个小时左右就能全ac。算法题刷多了,给我的感觉就是确实是有用的,不仅仅是为了应付面试,对于工作中写代码也是会体现出来的。
简历
简历我单独拉出来说,因为简历很重要!简历很重要!简历很重要!!(说三遍哈)它和编程题是不同维度的重要,算法题不过关,很有可能再多面试机会也拿不到offer,但是如果简历不好好写,就很有可能你连个面试机会都拿不到,更何况是我们这种二本双非学校了。可以将一些成果数字化,项目中揉入搜到的网上的一些难点。
有一个star原则,大家可以了解下。刚一开始的简历,往boss上一扔,预约面试的几乎寥寥无几。我的简历真的是是改了又改,找锋哥,找实习的主管,找老师帮忙看,紧紧抓住每次机会,一般情况下大家都是愿意帮你的。 一定要有项目,不然找实习都很难,而且光自己看视频学的项目还不够,还需要提炼出里面的重点内容。这部分也要感谢峰哥的耐心指导,让我能早早地通过实习并拿到大厂offer。
实习经历
2020.4-2020.7刚来第一家公司,心情跌跌起起,总之感觉不爽。我在这就事论事,不论是非。刚开始去那里时,就是感觉职位与我预期的不符,当天找了研发那边的老大,本来约好的下周两轮面试,过了就去研发。没想到第二天一早hr就把我和主管叫过去来了个小会,总之就是你是实习生,刚来就转岗,不行。我能理解,可是一个多月后,我再问hr什么时候能转岗,她不回我,我知道她肯定看到信息了,而且后来也证实了。这让我很不爽,我当时就想要不离职吧,好好准备再换一个公司。
后来开了窍,我告诉我自己,以后这种事多着呢,现在这种情况一定要谨慎处理,也算是为以后积累经验了,不然后面再遇到这种进退两难的情况,都这么随意处理肯定不太行。所以我就选了最稳妥的方案,接着待下去,同时抽时间继续刷题复习,直到拿到下一家offer再离职。后来的一个多月,基本每天都会抽出5个小时来刷题和看书,好在当时的主管人也很nice,所以中间过得也不错,只是一直在憋着一口气。中间还有一个插曲,我特别喜欢向研发的人请教问题,后来有一次问到研发那边的老大,我忘了缘由了,只记得他来了句,“要是像你这样,我们公司恐怕装不下你了,你怕是得去人家大厂”,当时周围很多人。
我就看着他说,“你是什么意思。”我知道我是实习生,他不能把我怎么样,所以就是生生回过去,你是老板我也不怕你。我性格有时候就是喜欢沿着边界线走。还有一件事,就明显感觉到对方有点看不起人,他妈的真的是很让人不爽,不详述了。那时候我也不知道自己能不能去大厂,我只是在不断往上爬,毕竟当时是大三暑假,还有时间。2020.7-2020.11再后来,来到了另外一家,7月份到11月份,基本上是我在杭州最开心的一段时间了。在这里真的是遇到了一群值得感谢的人。先是侯哥,去公司是他面试的我,最初加入的是他的团队,但是我不感冒,所以就申请离职了,我当时对hr实话实说,感觉这样对大家都好。没想到hr竟然主动帮我转岗了,这也是我特别感激那个hr的原因。
说回侯哥,我们经常一起打球,最蠢的时候是大夏天中午,喷防晒霜一起打球,再加上我学生气少一些,所以和他也比较熟络。我还记得离开公司的前一天晚上,我跟侯哥说,“我明天离职,想去大厂“。侯哥拍了拍我肩膀,说“你可以的”,那天我们聊了有40多分钟,大概就是如何找到符合工作意向的岗位等等。
hr帮我转到d团队里了,主管,然后是云哥,超哥。d团队很平等,我印象很深的是,我和我们主管,就一个问题,能和他有来有回地讨论半个小时,他也没显示出不耐烦。他人很好,属于那种平易近人的老师,我还记得,主管花了半天的时间和我讲solid设计原则,非常耐心。而且我平时问他问题,他也是那种一针见血回答到点子上的那种。我的性格不太适合太咄咄逼人的老师,遇到这样的主管,真的是非常幸运了。云哥健身,胸肌挺大的那种。最初是我和他一起去的,后来发展成了一大帮人,最后我们主管(41岁大概)也去了
云哥比较自律,而且不太care别人多有钱啥的。是最值得我去学习的。超哥身上最值得我去学习的,就是很踏实。后期我和超哥基本上不存在他带我这层关系了,就是关系很好的同事,时不时地给我来句骚话啥的,展示他闷骚的一面。
百度面试过程
面试时长90min: 介绍自己算法题1,数组a数据复制到另外一块内存(C++)算法题2,二分查找算法题3,层序遍历算法题4,最长公共前缀 计算机网络1, 说说tcp与udp计算机网络2,tcp流量控制的手段计算机网络3,tcp四次挥手中time-wait的意义计算机网络4,说说网页输入一个url到显示页面的流程(越详细越好) 操作系统1,说说进程与线程的区别操作系统2,说说虚拟内存操作系统3,malloc申请一段内存,操作系统做了什么(只到页表,分配数据再耗物理内存) 场景题,如果让你实现一个线程池,你会怎么实现(参照java线程池来,幸亏翻过线程池源码) 然后就是项目相关了。 总结:面试是在晚上,没想到面了这么久,面试官是写C++的,所以没有java相关的问题,有些C++问题。面试官人很好,会给你提示,听他口音很像我之前一个朋友哈哈哈。发挥不错,面试官最后主动说了句,"我感觉不错",稳!哈哈哈。
二面1小时 自我介绍介绍最近的项目项目中遇到过什么问题?如何处理?手撕一道算法题,题目我忘了,说是主要看看我的编码风格。 数据库1,说说数据库底层结构数据库2,为啥不直接用平衡树和hash,红黑树了解吗,说说说说AVL树的旋转键盘ctrl+c,操作系统发生了什么事(信号)系统调用的流程,为什么耗时? 然后好多就是项目相关了,比如结合项目设计缓存方案了等等 总结:面试官人依然很nice,会给你提示,感觉都好温和,不像某条的面试官,有的几个感觉很忙的样子(吐槽下)。 三面30分钟 面试官是那边的经理,百度那边应该是弱hr,所以那边的经理和阿里那边的hr应该有不少重叠(我猜哈哈)。先自我介绍。然后一个算法题,找到n以内的所有素数,分别是时间复杂度越小越好和空间复杂度越小越好,不用撸代码。
当时脑袋昏了,其实不复杂,但是没想出来哈哈。 然后就是考察你的软素质了。 经历的最大的挫折是什么?以后的职业规划是什么?性格中的优点是什么?缺点是什么?是如何学习一项技术的?可以接受写php吗?(不是很接受)其他的想不起来了hh 总结:算法题想不出来没有关系,主要考察你的学习能力,抗压能力,沟通能力吧。实话实说就好了,百度的文化是简单可依赖,面试官说我也还挺符合(咱也不知道是真是假,权且是真的吧哈),百度也好,字节也好,B站也好,面试下来我收到最多的评价就是沟通能力挺好的,我的特点就是尽量简洁,必要时归纳下面试官想表达的意思再和他对一下,最后就是礼貌周到了。
总结
我是20年3月份找的锋哥规划路线,找第一份实习花了一个月,拿到百度offer算下来,差不多刚好一年。从上家离职到今年3月中旬一直在面试,索幸还算比较满意的公司岗位,当然也有挑战,弄不好就做些边缘的工作,但是哪有那么十全十美的结果,我偏偏还就喜欢这种情形,还有就是钱多点少点对于职业初期来说问题不大。
--end--