前几天在网上冲浪的时候看到一篇一个本科应届毕业生写的关于他秋招的故事。
看完之后我觉得他真的太棒了,我说的棒不只是他秋招成功斩获了蚂蚁和携程的 SP offer,更棒的是他对于整个大学的比较清晰的规划,还有沿着自己的计划一步一步坚定的往下走的那种信念感。
我见过的更多的大学生,包括我自己还是大学生的时候,迷茫才是主旋律。
我前几天发布的视频下面,就有还在读大学的朋友提到了这样的迷茫:
作为一个大二学生......而如今的我还在迷茫,还没有清晰的目标,因此缺乏动力。未来的路该怎么走,希望十年后,我也能像up主一样,回答现在的我。
真的没事的,迷茫是很正常的,就像我的回答一样,迷茫的时候搞一搞学习总是没错的。
所以,我把这篇文章分享给你,希望这位同学的经历,能对正处在阶段性迷茫期间的你有点帮助。
但是我必须要强调的是,在我个人的观点里面,这种关乎于未来的问题,没有一个人能回答的清楚,只能是过来人表达他们的看法,让你聆听且借鉴。这些都不会是、也不可能是标准答案的。
如果说有一个人能回答迷茫时期的自己的问题,那么这个人,一定只能是亲自趟过这片迷茫的、若干年后的你自己。
所以,嘿,朋友,开心点,迷茫的时候就去码头整点薯条。
要相信自己,自己能规划清晰。也要相信时间,时间会给你答案。
(特么的,这味道怎么像是鸡汤了?不写了,收。)
以下是正文:
写在前面
最近签完了三方,大学前三年的生涯规划和努力最终还是得到了兑现,脑子里不断涌现这几年来的经历,一直想着写点什么东西记录一下,刚好大四空闲时间真的太多,心血来潮,不如还是写写吧,记录一下我这三年向目标前进走过的路。
同时,无论是在学校、实习、还是秋招的过程中,我遇到过许多对生涯规划缺乏思考,感到前途一片茫然的朋友们,也有许多人对我的经历感到好奇,在此将我的经历分享出来,在当下这个校招寒冬,希望能帮到被校招所困扰的朋友们。
个人情况
本科就读于中南大学人工智能专业,专业技能方向为互联网后端技术研发,目前从事于互联网金融业务领域。
本科期间参加过不少竞赛,几乎都取得了成绩,其中有高校联合创办的比赛例如湖南大学生计算机设计大赛、全国计算机设计大赛;还有不少是公司组织的商业性质竞赛,例如华为举办的软件精英挑战赛,腾讯举办的腾讯极客挑战赛,麒麟软件公司举办的“麒麟杯”全国开源应用软件开发大赛。
本科期间主要有两端实习经历,一是携程集团后端研发技术岗,二是蚂蚁集团后端研发技术岗,都顺利拿到转正sp offer。
校招最终是接了蚂蚁集团的转正offer,顺利结束大学求职生涯~
关于校招
校招是一场持久战,并不是一蹴而就的。
很多人存在一个误区,认为校招就是在秋招九十月,春招三四月那一两个月时间投一下简历,突击一下知识参加面试,就可以了。
如果你实力足够强,那确实可以,但是对于像我一样的普通大学生而言,就这样对待校招下场就只能是当一个炮灰,很难取得一个能让自己满意的结果。
要想校招顺利,就得站在一个更高的角度去理解校招——它不简简单单指的是校园招聘,而是贯穿整个大学的求职生涯。
理解了这一点,就能明白,从秋招九月、春招三月才开始起跑的人,如何与从大一大二、研一研二就开始起跑的人竞争?
更何况在内卷愈演愈烈的当下,就拿我最了解的互联网领域举例,在蚂蚁秋招的交流群中,除了实习转正的,几乎人手一段字节跳动实习,腾讯实习的实习经历,大家都是早早的就开始求职规划,才能在最后立于不败之地。
求职生涯规划
为了更好的展示如何做求职生涯规划,我在这里以我个人的求职规划和经历作为参考,但需要说明的是,每个人都有独属于自己的精彩,其他人的经历仅能提供参考作用,我也仅仅只是把我自己的经历与个人理解展现在这里而已。
我的求职生涯主要分为五个阶段:
- 职业方向发掘
- 职业技能积累
- 校园经历积累
- 实习经历积累
- 校招准备
职业方向发掘
无论是在本科还是研究生,对于志在求职的朋友,我觉得第一个需要明白也是最重要的道理就是:
发现自身优势,找准自身方向。
朝三暮四,反复想当然是大忌!越早确立自身目标,试错成本就越低,留给技能积累的时间就越多,竞争优势就越明显。
我的整个大一生涯都在进行自身职业方向发掘。在这个阶段,我所做的事情就是不断尝试新鲜的事物,找到自己的兴趣所在,同时保证自身成绩优势,为后续的专业分流拿下关键筹码。
最终,在大一的C++专业课,通过专业课设找到了自己的目标职业方向——软件编程。当我确立了自己的目标方向后,在大一暑假对该方向进行了全面的了解和初步学习试错,最后结合自身情况,找到了最适合自己的细化领域——Java后端技术领域。
庆幸的是,Java成为了我大学生涯第一个也是唯一一个职业学习方向,为我后来的发展铺平了道路。
职业技能积累
这个阶段是最枯燥的,也是最重要的,很多人忽视了这个阶段的重要性,导致接下来积累校园经历的阶段在竞赛中频频失败,也有很多人在这个阶段中选择放弃,在职业方向发掘,技能积累阶段反复横跳,蹉跎大学时光。
如果你选择的职业方向和大学课程学习方向重合,那么你是幸运的,好好上课,认真听讲就可以了。
如果不是,甚至毫无关联,那么你将面临求职生涯第一个重要决策,你相信你的未来能够掌握在你自己手里吗,如果你坚信这一点,那么做个“坏学生”吧,上课对你来说已经意义不大了,“及格万岁”是你大部分课程的宗旨,你的职业技能积累才是最重要的,这才是你的首要目标,其他都得靠边站。
对于我个人而言,不幸的是,我属于第二种情况,所以对于大部分与我职业方向无关的课程,及格就行,因为我有着明确的目标,明确知道自己需要做的究竟是什么。
但是对于少数几门与我职业方向紧密相关的课程,我还是会抱着认真的态度去对待,尤其是此类课程的课程设计实践部分,例如数据结构、数据库、操作系统,这三门课的课设,我都写了一个完整的网站。
技能积累阶段是最重要的,它决定了接下来两个阶段:校园经历积累、实习经历积累你能达到怎样的高度。而接下来的两个阶段,恰恰才是决定校招成败的关键。
整个大二上学期我都在职业技能积累的过程中度过,对于我职业方向知识体系的全面深入学习与广泛实践运用,为我后来的发展打下了坚实的基础,决定了我接下来竞赛经历的硕果累累,实习经历的一帆风顺。
校园经历积累
校园经历的积累是困难的。因为它太具有不确定性了,太广泛了,太具有迷惑性了。
不确定指的是你的投入产出比的不确定性。
广泛指的是校园经历的积累手段太多了,让人难以选择。
迷惑性指的是有些根本毫无用处的校园经历写上简历只能让你在面试官的眼里减分,例如投技术岗的你写上社团经历,学生会经历……
积累校园经历首要是找准自身优势,如果你擅长实践,那么就找优质应用型竞赛全身心参加;如果你擅长静心研究,那么就参加学术型竞赛,或者找个导师参与学术性课题。
找到积累校园经历的方向后,其次选择优质的比赛也是取胜的关键,要学会分辨什么比赛是含金量高的,同时获奖概率高的,具体的做法就是和有经验的人多进行交流,无论是老师还是学长,同时多搜寻比赛的周边信息,包括参赛人数、奖励设置、承办单位等等。
同时,时刻记住比赛的选择也要和你的职业方向相契合,否则无论比赛成就多么耀眼,在面试官的眼里都一文不值。
找寻队友,好的队友是得力的助手,想要获得理想的成绩离不开靠谱队友的鼎力相助。
最后,自身全身心的投入是起到决定性作用的一环,将上个阶段积累的职业技能运用出来,展现自身的实力,发挥自身优势。
对于我个人而言,校园经历的积累主要集中在大二下学期,大三上学期,在这期间参加的大大小小的比赛不计其数,无论是校级,省级,还是国家级都获得了不错的成绩,这些成绩是我在下个阶段——实习经历积累的垫脚石,没有这些校园成就,恐怕获得实习的机会都是困难重重的。
实习经历积累
实习经历的积累是校招利于不败之地的金钥匙,它不仅让你的实习简历更加的光鲜亮丽,而且实习经历也能给予你从容面对面试官的资本,职业技能积累甚至校园经历只能是纸上谈兵,实践出真知,实习给与你的实践经历是最为宝贵的。
“秀才遇到兵,有理说不清”,没有实习经历,你就是那个秀才,面试官就是兵,只有当你也通过实习成为“兵”了,才能和面试官“短兵相接”,你来我往,让他留下深刻印象。
对于实习而言,实习质量是最为重要的,想要获取高的实习质量,只有唯一一种方式,去顶尖top公司,在互联网领域就是字节、腾讯、阿里等一线大厂。而一步登天往往是困难的,最适合像我一样普通学生的做法就是循序渐进,将实习经历拆分成多段,通过跳槽向最终目标,top公司迈进。
我的实习经历从我老家的一家软件外包公司起步。大二暑假,为了让自己能够在大公司找正式实习时能够更有竞争力,我选择了在积累校园经验的同时在大二暑假找一份实习兼职工作。这家公司只是一家很小的软件外包公司,技术人员加上管理总共不到30人,而且这份兼职没有工资,但我明白工资不是我来这里的目的,我的目的是学习实践。在两个月的实习过程中,我同时还在校园竞赛上同步下功夫,实习竞赛两不误。
通过自己的校园经历积累以及第一份的实习兼职工作,找第一份实习的简历已经准备好了,剩下要解决的问题就是时间,如何才能学业生涯中“挤出”实习时间?在大三上学期,为了给大三下实习留足时间,我额外选修了很多门选修课,超额拿到的学分,为的就是将大三下学期的学分提前拿到,这样大三下我就几乎不需要上任何课,为实习准备了充分的时间。
简历有了,时间有了,第一份正式实习工作的得来几乎毫不费力。但我明白你只有在背后十分努力,才能看起来毫不费力。第一份实习工作的求职过程中,我拿到了两个offer,一个是华为,一个是携程,从个人职业方向、平台的角度考虑,我最后选择了携程。
在大三上学期结束之后,我几乎没有任何休息,在寒假之前就孤身一人飞到了上海开启了我的第一段实习之旅。第一份实习也不是完全的一帆风顺,毕竟经历了三个月的上海疫情,但从职业发展的角度上来说,在携程实习期间是我三年大学生涯成长最快的一段时间,其给我带来的收获是校园生活完全无法比拟的,在携程实习的尾声我甚至已经能够独当一面,设计方案,成为项目owner。
在携程实习期间,我抓住了春招机会,参与了阿里春招,最后也是成功拿到了蚂蚁的暑期实习offer。在携程经过半年的实习后,我通过了转正答辩,拿到了职业生涯的第一个校招offer,随后前往了蚂蚁进行了暑期实习。
有了携程的实习经验,在蚂蚁的实习我才能够得心应手,游刃有余。在两个月的实习期间,得到了师兄、同事、上司的一致好评,也是在最后成功通过了转正答辩。
关于秋招
两份实习转正在手,秋招可以说已经毫无压力了。最后携程和蚂蚁都给我开出了sp offer,最后从平台的角度考虑,我选择了蚂蚁。
经验总结
清晰的求职规划才能让你的求职毫不费力,这是决定你求职成败的关键要素所在。
那么大学生如何做求职规划呢,从我的角度出发一共分为四大步:
- 求职方向选择
- 求职技能积累
- 职业实践(校园经历、企业实习)
- 校招面试准备。
只要前三步你做的足够好,第四步是不会给你造成太大的困难的。
以上经验总结仅仅是站在本科生的角度去看待这个求职问题,所以注重于实践。也许研究生阶段有所不同,但我认为关键的——方向、技能、实践、面试,这四大步依然可供参考的。
蚂蚁面试
这一部分附上面试题,仅供大家参考。
一面
由于我简历里面项目比较多,主要项目也和RPC、Netty相关,面试官就没问啥Java基础了,主要和我交流了一下Netty、RPC相关的东西。
- Netty的线程模型是怎样的
- 谈谈你对Netty的全部了解
- Netty里面的EventLoop是什么?工作原理是怎样的?可以执行哪些任务?
- EventLoop为什么实现了ScheduleExecutorService的功能,有什么好处?
- 讲讲你项目里提到的RPC分布式框架
- 使用zookeeper作为注册中心,当server端服务下线了,如何让client端感知到?
- 分布式体系中zookeeper崩溃了有哪些解决方案?
- 看你使用过protobuf,使用protobuf的过程中遇到过哪些坑吗?
- IDL在你的RPC框架中有实现吗,讲讲IDL的作用
整个流程也就半个小时多一点,基本也都答上来了,面试官最后也直说没啥问题,能通过。反问环节也就简单问了下部门相关情况、岗位相关情况之类的常规问题。
算法面
可能是校招笔试题做的一般,补了一轮算法面,阿里的算法面早就有耳闻不走寻常路,这次看到题目直接实锤了……
算法题目:有五个文件,每个文件里面有n行,请以最快的速度读取所有文件中的数字并输出top50.
题目本身思路不难,就是细节量爆炸,首先需要以最快的速度读取多个文件,肯定就得用到多线程,所有文件读完后还要统一读取所有数字的top50,也就代表着主线程在子线程读完文件之前必须阻塞,然后才能输出,这就得用到CountDownLatch,输出top50使用的是PriorityQueue,但这是个共享变量,就代表着PriorityQueue得加锁,最后就是在I/O时也需要考虑用什么I/O类能更快……
最后也是半个小时写了出来,面试官也说没啥问题,可以通过。
终面
终面直接就是部门的大boss。
上来就是一道非常规算法题:不能用 if else,实现石头剪刀布。我很快写出来一种用数据结构的,但面试官叫我再想一种用上设计模式的,在面试官得疯狂提示下才勉强搞出来。算法写完后,问的问题也十分非常规(不愧是大boss)。
- 请介绍一下你自己,不能说简历上有的(我回答了一下在携程实习期间搞过的限流器相关的东西)
- 既然限流器有两种模型,一种是时间窗,一种是令牌桶,那么这两种限流模型的应用场景各是怎样的,各有什么优势?
- 在携程实习期间遇到的最大困难是什么?
- 为什么来蚂蚁,携程不好吗?未来的职业规划,想好将来的目标了吗?
反问环节先问了问部门情况,然后问了问面试结果咋样(面试官说部门规定不能透露,反倒问我自我感觉咋样,我当然回答自我感觉良好……)
HR面
HR面就没啥好说的了,反正就是扣你简历的细节,问问学校,学业,过往的经历,未来规划什么的。
总结
总的来说阿里面试还是不走寻常路,偏重于应用,这就得看临场发挥了。
算法也是千奇百怪,但总的来说出的还是挺有趣的,比做纯leetcode算法题感受要好。还有就是面试不面则已,一面就是各种坐火箭,一周就把流程拉完了。
写在最后
只要掌握了正确的方法,求职并不是什么难事,关键是你的方向对不对,有没有清晰的求职规划。
我的求职生涯一共持续的两年多的时间,在这期间我一步一个脚印,稳扎稳打,才在最后以本科生的身份拿到了top级的公司sp offer。
我很喜欢蚂蚁的校招宣传标语:让理想,有回响。
以此作为结尾吧,也许这又是一个新的起点,新的挑战也许才刚刚开始。
让理想,有回响!
·············· END ··············