阅读 5335

死磕阿里,记录一个双非研究生的前端成长之路,最终幸运收获淘系offer

前言

写这篇文章之前首先简单介绍一下自己,本人目前就读于杭州电子科技大学,马爸爸毕业后第一个工作的地方,是一名计算机学院的研二学生。本科就读于马爸爸的母校,杭州师范大学,目前已收获网易雷火,趣头条,爱奇艺,淘系等offer。写这篇文章的目的是记录下自己的成长经历和面试之路,给目前找工作的或以后准备找工作的同学分享点经验,和当前就业环境下是否选择考研和研究生生涯如何度过提出一些建议。

个人成长经历

起初个人是做客户端开发的,后续由于实验室的业务诉求,加上听闻市场上培训班鱼龙混杂,移动端开发人员呈现批量化产出趋势,因此,逐渐转向了web端和大前端开发,在当时做的项目基本上是api的调用,没有系统的学习过前端。在大三时由于自己技术不佳和向往人工智能,选择了考研继续深造自己(立了个小目标在研二期间找工作时能够进阿里),哪知现在算法工作及其难找,因此,通过半年多时间好好沉淀自己,重新系统学习前端。最终幸运收获淘系offer。

选择考研还是就业

当前每年的考研人数呈逐年快速增长的趋势,首先考研不是逃避就业的选择, 因为3年后你依然要面临着就业,可能3年后你面临的就业压力会更大。因此,我个人认为你想走开发这条路,并且对自己的技术有信心,可以在大三或者大二的时候开始寻找实习的工作,看看自己的技术能力是否达到大厂的要求,若能够拿到大厂实习的offer,便可以选择不用考研,因为大厂的3个月实习经历要远高于你3年的学生生涯(对于大部分研究生而言,不排除科研大佬) 所获得的的经验。 若你想通过学历改变自己(我当时的确不想拿个本科学历,想能够在读书的年龄尽量提升自己,想在研究生毕业找工作时有更大的就业平台),不满足自己当前的工作和就业平台(只能去中小公司打打杂什么的),或者对科研很有兴趣,便可以选择考研来深造自己。通过自己半年至一年的专心准备初试,能够冲一下985或者好的211高校(因为有的部门依然会卡你的学历,甚至你的第一学历,前端也不例外,我就读的马爸爸母校和马爸爸第一个工作的地方并没有带给我任何的优势)。在复习阶段的经历对于你以后的成长也是非常有帮助的,这点我体会非常深刻,当时和考同济的大佬天天在一起学习,极大的锻炼了自己长期坚持做一件事的能力。并且这和高三压迫式的学习方式完全不一样,你需要自己来合理规划安排这段漫长的复习生活,熬过去了你都将成为王者。对于做人做事的方式也会有不同的看法。在读研期间,可能研一的时候还会有课业的压力,研二的时间是完全属于自己的。因此,个人的规划,自律和坚持意识都将决定毕业后达到的高度。所以,研究生的学习生活还是要靠自己,要想清楚自己以后究竟找一份怎样的工作,合理的计划每天的生活,充实的度过每一天。当然有一个优秀的导师帮你把关论文和教你社会上待人处事的道理也会让你的研究生生活变得顺畅许多!

如何系统性学习前端及资料分享

在研究生将近2年的学习当中,大部分的时间都是跟随着导师做实验室项目和相关论文课题,发现深度学习这玩意儿及其搞脑,国内学术圈又相当浮夸,基本上的研究生都是为了发论文而发论文,根本不能实际落地应用到工程之中。因此,个人觉得以后不能靠算法吃饭,加上现在算法岗位又非常少,所以又重新投入到了前端的怀抱中,从0开始学起,好好沉淀自己的技术。这个过程可以理解为一个武侠迷修炼内功和学习招式的过程。

首先肯定是基础的学习,html,css,js三板斧,可以根据网上流行的知识图谱或者一个面试宝典,来进行一个初步的学习。想要深刻理解掌握的话,便要通过阅读大量相关的专业书籍来修炼内功。其次便是框架,现如今国内vue,react大行其道,但我们也不能忘了当年的jquery,对于框架的学习大致可以分为这3个步骤,第一步是你要学会怎么用它,学会招式的使用,知道这个框架究竟解决了哪些问题,这些资料最好的获取方式便是官网,例如vuejs官网,便清楚的说明了vuejs的用途,在开发中大多数遇到的问题也能在vuejs官网上找到解决方法。第二步便是用框架做一个项目,在项目中加深对框架的理解。第三步要做到知其然知其所以然,在学会用框架的同时,去学习他的源码,去看一些源码解析或者大佬的直播课,最好是自己手动实现一个类似于vue的双向绑定原理。在实践中锻炼自己的架构思维能力。在框架的学习过程当中你会接触到非常多的知识,这时难免会处在恐慌区之中,这时候要做的便是对自己定义一个边界,做到对另一个知识的探索适可而止。例如在用vue脚手架工具做项目的过程当中你会使用到webpack,我可以先学习下webpack的大致应用是怎么样的,对于以前的打包方式究竟有怎样的改进,如何利用webpack来对自己的项目做到一个优化。后续再去理解webpack的原理,例如loader,plugin怎么实现的,打包输出的文件架构是怎么样的,来加深自己对于webpack的理解等。通过一个面试宝典或知识点的总结来系统的学习前端,随后其余教程和专业书籍加深你对知识点的理解,根据人类的遗忘周期,大概会在第二至第三天会忘掉大部分第一天学习的知识,因此,通过反复学习,反复理解,达到内功和招式的相互影响,最终修炼成功! 下面是我个人推荐的较好的学习资料,既有书籍也有博客等。

准备面试

我个人认为面试实际上是一个相亲的过程,相亲前你要做好十足的准备,给面试官留下良好的印象,相亲过程中你要引导面试官到你擅长的知识上去,相亲结束后要善于总结,为下一次相亲做好准备。如果你和面试官到最后变成谈笑风生了,聊得时间较长并且面试官乐于和你分享。那么你这次的相亲经历无疑是成功的。

充足的准备

首先肯定是简历的编写,第一你要保证在简历上写的技术点都是会的,可以自己模拟下,你写下这个知识点时,你猜想一下面试官会问些什么,自己口述一遍。做到胸有成竹的面试。第二要知道精通,熟悉,了解等一些名词间的区别,我个人的经验是最多对一个知识点用熟悉或者熟练掌握,因为一旦写精通,面试官刚好是这块知识的专家,你很有可能被怼到怀疑人生。。如何编写简历可以查看我们公众号的一篇相关文章,附在这里,我个人很推荐牛客网的简历排版风格,大家可以去牛客网的个人中心查看,其次便是基础和项目的准备,在面试前最好可以照着上面罗列的知识宝典,快速的再过一遍知识点,以免遗漏。对自己的项目按照star原则口述一遍,在这里不做具体展开。最后是准备好自己的自我介绍和最后要问的问题。面试流程大概分为3个模块,其中第一块和最后一块相对是你占主导权的模块,因此,对于自己的大概情况的介绍和想提问的问题,要做好充足的准备,高质量的提问也是打动面试官的方式之一。

善于引导面试官

在面试过程中,要做到淡然处之,可能刚开始的时候会因为紧张而语速过快,这时候便要静下心来,在面试前可以喝几口水等压压惊。在面试过程中要做到合理的挖坑,比如面试官提问,浏览器中输入URL究竟发生了什么,你回答了相关步骤中有一步为浏览器根据返回的状态码进行判断再进行后续操作。那么接下来面试官可能会问你你了解到的状态码有哪些。就又是一通回答。准备自己的杀手锏和引导面试官也是一个非常重要的技能,让面试官了解你知识的广度和深度。在面试过程中遇到不会的问题时,如果有大致的思路可以说自己先思考1-2分钟,或者可以直接说不会,避免面试官对你不熟悉知识点的深度追究。

善于总结

每次的面试都是一个相互学习的过程,面试官可以了解你对该技术的掌握程度,你也可以从面试官的反馈中知道自己还有哪些不足。所以在面试后需要进行快速的记录题目,对于自己答得不是很好的点做好标记,重点复习,以防下次面试时再次遇到。

面试流程

阿里的面试基本是在2月份就开始提前接触了,有些部门更加厉害,在去年的12月底便开始收集简历和开始面试。阿里的面试流程相对来说算是比较长的,会有素质测评+大概4轮的技术面+1轮HR面。我们一个个来讲,素质测评是类似于公务员行测的考试题目,也不能乱写,因为这是HR评判一个人价值观的标准,所以你可以在做测评前去刷粉笔App上类似的题目和在b站上查看有关解题方法,较高的测评分数对于后续的HR面试和审批流程都有较大的帮助。对于面试环节,我个人的体会是,你要对每一轮都做好100%的准备,包括HR面,技术面自然不用说,很多人可能会忽略HR面试,但是阿里的HR具有一票否决制,你如果HR面发挥不佳,并且被该团队拖得流程较长的话,那基本宣告你和阿里拜拜了,所以要认真对待每一轮面试。

4轮技术面主要包括如下:

  • 第一轮面试基本是你的简历面和基础面,面试官会根据你的简历从各个方面对你的基础知识进行考察,这时候你的基础就要打的非常的扎实。稍微不知道一两个没有关系,但是常规的面试题依然要知道,并且对简历上你提到的要熟知。
  • 第二轮面试为灵魂拷问篇和项目篇,面试官会根据你的项目深挖你的点,探索你的深度究竟在哪,例如你在项目中用到了vue,那vue的diff算法是怎么样的,大致流程的描述,虚拟dom是什么,diff算法的时间复杂度,子节点是如何比较的等。基本会问到你不会为止。所以,有时候我们的项目会比较简单,那么我们可以去对项目中的某个点,去进行深挖,将单一元素最大化,例如上段时间较火热的面试题,大文件上传的流程就是对普通文件上传的一个深挖和扩展,在这里分享一篇在知乎上看到的对单一元素最大化比较好的思考,附在这里
  • 第三轮和第四轮面试为本部门的大老板面和交叉部门的大老板面,基本会围绕你的项目对你展开提问。充足准备自己的项目亮点和想好面试官可能会问到的项目问题,就能够在这方面回答出色。有些面试官可能会出场景题,例如最近的健康码方案,叫你来做你会怎么做,面试官是想了解你拿到一个问题后解决的思路,是否有产出,这时你可以自己出一个解决思路,一个流程,随后能和面试官进行愉快的讨论技术方案,说明白你的思路就可以过关。

选择团队

将选择团队的经验单独拿出来讲是因为这也是一个非常重要的一步!现如今大家肯定可以在牛客网上和各个校招群中看见阿里漫天的招聘信息,我当时投递了很多的部门,这对于我的面试技能和后续的选择都有非常大的帮助。我们如何来选择适合自己和比较稳妥的团队呢?首先是你对你的内推人以及他所在的部门是否有足够的了解,有些部门面试接触的安排开的较早,意味着他简历收集的非常多,可能会在开流程前想方设法把你拉进去,我觉得对于该部门内推人的话你最多相信50%,因为你选择了以后基本会进入他的备胎池,在该部门做了横向选择后,万一把你刷了,连拒绝的理由都不会告诉你。而此时该部门不释放你的简历的话,别的部门都没有办法捞起你。因此,在流程开启前,可以投比较多的部门,一来增加自己的面试经验,二来为自己留后手,往往面试官和你聊得较好的话,会添加你的微信联系方式,从与他的交谈中便可以知道部门大致的人数,从而可以推断出部门此次招聘的大致hc(名额)人数(大概团队人数10%左右),判断自己的竞争压力是否较大,和该部门的业务是否是适合自己的,另外是线下的广泛交流,从其余同学中得知该部门的大概情况,和自己掌握的是否有出入,做一个横向判断。来达到自己利益的最大化!万一在该部门被挂后,即时联系其余部门的主管,在其余部门还未招满的情况下赶紧转流程。防止春招的失败!

结语

我要特别感谢淘系的元泉师兄阿里云的王朗师兄,因为我就是那位选择团队时出现了偏差,未搞清楚团队情况,最后被拖了一礼拜才通知hr面挂掉的那位同学,是这2位师兄,尤其是元泉师兄为我的转流程忙进忙出,才让我幸运的加入了东半球最大的前端团队。如果你也遇到了较坑的内推人和面试一直拖着你的团队,欢迎联系元泉师兄:wuxiaorui86,亲身经历,淘系的流程真的非常快,非常快!一个礼拜全部走完!

欢迎加入东半球实力最强的前端团队,我和另外三位同学,王家祺,罗霁鑫,谢铠联一起等着你,如果已经有幸加入了东半球实力最强的前端团队,师兄还会辅导你的转正答辩,转正率几乎 100%。

如果你也想跟我一样进入阿里这样的大厂,欢迎关注我们的公众号:Hello FE,我们会定期在公众号发一些自己的学习心得~

若你是准备明年春招的同学(现在是大二或者研一),或是以后准备找工作的,欢迎添加我的微信联系方式,我拉你进入22届淘系春招群,群内有不定期资料分享和问题发放,更有淘系前端p8大佬驻守群内在线答疑。麻烦在添加时备注"学校-姓名,22届同学春招准备"。希望通过一年的努力,在明年看到你的身影!!!