今年秋招比以往时候都来得早一些啊。
听了师兄了教导,早在春招的时候就投了实习简历,并不一定真会外出实习,而是体会和面试官交流的这个过程,知道面试的许多套路。秋招开始后就广投简历,这里面也踏了不少坑,该交的学费还是得交啊。本来想做个面经,但是面试完很多东西都忘得差不多了,再去回忆真是折磨,附上随想一篇把,也算是不枉秋招一场。
阿里篇
由于蜜汁自信,春招就内推了阿里的实习,以及参加了阿里的实习生考试,相当于春招就被阿里面了两轮,好惨,啥都不会,当时连spring都不知道是什么(因为自己还在用servlet),好在认真的记录了他们问的内容,无非就是框架,jvm和并发三大块,以及一个拿得出手的项目,自己后面有专门加强学习。所以阿里的秋招一开始就内推了牛客网上发内推贴子最多的,“据说”最好过的阿里菜鸟部门,事实证明这是一个极其错误的战略决策。因为这个部门叫的太凶了,导致大家的简历疯狂的往这里砸,相反一些其他的部门倒是门可罗雀(不恰当的比喻),然后造成的光简历上的筛选竞争就比以往大很多,我的简历过了,面试官给我打电话是在某个周六的晚上8点半,那会儿我TM居然在踢球,没错,鄙人严重的不运动浑身发痒症,错过电话后尝试着打回去,是公号,不好使还占线,尝试发邮件,内推人直接忽视,后面再也没来电话,官网流程0接拒绝。后来才明白人家真的不缺你一份简历。算是买了个教训把,当时一直特别懊悔,觉得自己都是成年人了还这么没头脑,知道两周之内会随时来电话面试还去玩。因为内推只能投一次,所以在得知自己挂了之后我马上又投了阿里正式秋招的校招,也是幸运,大概在10多天后终于有位好心人把我从简历池里捞了出来,给了我次电话面试,问的我很仓促,因为我始终都不觉得自己还有机会能直接被阿里电话面试?(正式校招是要统一刷题的),答得很不好,不是说我没答对,而是我太激动,面试官说一个问题,我回答了10个问题,简称拓展性回答,生怕他不知道我其实知道这么多,最后他直接打断我说:抱歉啊,感觉你好像一直在背书?OS:被你看出来了?额,本来就不抱希望的,所以这轮70多分钟的面试匆匆而过。没想到下午就接到了交叉面,另一个面试官上来就怼我算法,要我讲自己leetcode上刷到过最深刻的一道题,我不假思索的就说八皇后问题,f**k,其实那一题我压根没做出来,是看code ganker的博客,把他的答案炒上去AC的,我只是知道大概是用dfs去做,他要我面试一下解题思路,我回答的很不好,后面他跳过问我递归和循环,说了一个字符串递归反转如何实现,我想了很久也说不会,他问了点别的,别的倒是答了些,又是30分钟,我觉得自己肯定凉了,所以一点没放心上,都没和别人说起我简历被捞这件事。没想到2天后,大佬电话来了,说三面,要我做一个题,把实现代码发给他,然后说了一下需求,真的好难。我当天晚上没想明白(晚上10点我脑袋已经不清醒了),说明天再发行么,脑子已经不够用了?他说期待看到我的漂亮的代码。。。当天网上回宿舍想睡睡不着,一直在想应该怎么设计,和朋友讨论了下,于是就失眠了,早起把代码实现了,做个测试之后就把代码发走了,自己也真是心大,其实代码非常糙(我朋友吐槽),我后面就直接和我朋友说自己不想去阿里了,难度太大,都招神仙的那种,自己去了也是望尘莫及苦苦加班亚历山大,本就不抱希望,只求阿里快点挂了我好让我准备25号的头条面试。没想到这一次又让我失望了,第二天晚上4面大佬来了,要我拿纸和笔做一道题,农夫挣金币问题,动态规划题,贪心可解,但短时间内我脑子反应不过来,卡了半天,他的提示我都听不懂了,最后问了问我数学好不好,我就稍微吹捧了下自己以往数学成绩(吹嘘一下自己还是需要的),然后用一道最近自己看的面试题里的数学巧妙解法和面试官分享了一下,最后他说我要是把农夫的题做了把思路发代码给他,我回来后想虽然阿里肯定要凉我,但我要是得把这道题做了先,于是自己使出吃奶的劲儿,在10点多这个日常犯困的时间里把实现代码发过去了,嗯。隔天晚上真接到了HR的电话,然后说你最大的挑战怎么样,怎么解决的?HR面是很扎心的,因为她让我知道了我这个研究生项目科研实质上其实什么都没做,纯粹子啊编瞎话,我很难过。总之最后要我等通知,我觉得凉凉也是迟早的事,不过感觉自己已经可以了,能扛到5面,也是值得吹嘘的资本了把。头条篇
师兄就去的头条,而且也有同学在头条实习,听说待遇是真好。所以自己也在清醒的认识到大厂都是在招神仙之后,觉得能去头条也是非常幸运的了,于是找了内推进去,第一轮笔试就过了,好像身边的人都说非常难,我觉得是挺难的,但就像当时参加PAT考试一样,之前做的那么多次模拟也是一次比一次难,考试时候就觉得并没有那么难,而且肯定是可以做出来的,而且至少得做出一半来才可以,如果说有人可以做出一半来的话,自己一定是属于那一部分人。所以总共5道题,过了两道,还两道反复调试只各自过了.3,还一道一看不会就跳过。我想那些说难的,应该没亲自去考场经历过两个小时刷4道题的那种和时间赛跑的紧张感,在那种情况下反复锻炼自己临场调bug的能力很重要,所以多参加这样的比赛还是大有裨益的。
笔试通过,后面选择10天后电脑视频面试,自己想10天好久啊,可以不可以就明天,但是还是每天一点点的复习和准备。其实这10天的准备,我觉得是很有些东西讲的。第一,头条的面试,手撕代码很重要,很看重你对算法的理解和手写代码(指的类似文本单敲代码)的能力,于是我花了两三天把常见的算法都手写了一遍加深理解和熟练度,具体可以参见这个帖子https://www.jianshu.com/p/d2c5fe4c4d1c。第二,是把自己项目从头到脚梳理了一遍,毕竟都面了几趟下来了,对于面试官可能会问哪些问题都琢磨的差不太多了。第三就是把自己csdn收藏夹里的文章再过一遍,理解了的就删掉,减负+加深影响,以及微信收藏夹,极客时间里的课程,微博转发的收藏的,这些我认为很关键,因为是二次学习了,所以会理解的更透彻些。第四就是经常回去牛客网上看一些先面了头条的大神的经验之谈,让自己有充足的准备。这么一些做下来,最后25号的三面如期而至,问的东西和网上面经都大同小异,除了三面大佬问的比较难,尤其是场景题(在线交易撮合系统,核心是一个叫价主动权的交换)让我琢磨了半天外,首面的手写哈夫曼(其实我不太了解哈夫曼编码,只记得一个贪心构建二叉树,具体怎么利用字符解决编码的真不会),面试官提示下写出了构建树的过程,用到了最小堆,感觉已经不至于凉凉了,我很直白的说到自己对于编码这块不太会,于是面试官看到我前面对B-树和跳表底层的分析的比较清楚,让我轻松的过了。二面的大佬不写java,就没问我java的任何问题,说要我写一个数组蓄水池问题,我说这一题我做过,他就马上换了个题,换了个更简单的二叉树找每一层最大值,这一题更简单,正好用到之前写哈夫曼树的层次遍历的代码,轻松通过。面完就觉得比我想象的容易多了嘛,所有有点得意,觉得肯定稳了。不过后来和同学一交流,又感觉自己最后一面答得很不好,因为我连concurrenthashmap都底层都忘了,真的是一下子全忘了。从下午4点面到晚上8点半,中间休息了1个小时面试官吃饭,自己嫌麻烦就没去一个人呆在宿舍里激动的一直吹笛子唱歌(也许是感觉终于快解放了,莫名的胜利感...),不过考虑这些已经不重要了,重要的是终于结束了准备头条面试这个过程,尽人事听天命,换在我嘴里应该是人事已尽,天命不由。
3.后续篇
其实阿里五面是在准备头条的10天之内发生的,让我都非常仓促加慌乱,那几天我记得有一面阿里技术官让我做一个demo实现一个业务给他发过去,我左思右想失眠了一整夜,总之那些天真个人都变得非常憔悴和down,不过一路扛下来,体力和运气也基本都花光了。在结束了两个大厂的面试后,我乐观的认为这两个起码得让我过一个把,其实过一个是最好的,不用做任何选择,如果一个都没过的话,我也基本上会彻底死心的,i have already tried my best,从此对所谓的BATJMD都会丧失任何兴趣,让他们招神仙去把。所以后续就是在25号结束头条面试后,在8月月末的下午顺利接到了头条offer的电话,激动的为自己辛劳的8月画上了一个完美的句号。其实已经非常满足了,就觉得头条抖音这么好的平台,自己也非常想去上海。结果不知该说是好事成双,还是就是上天会故意刁难般的给你更多选择,4天后的阿里开奖了,顺利通过。其实做选择也不是什么难事,比那些没选择的人好太多,所以自己已经非常非常满足了。算上秋招投第一份简历开始,自己花了差不多两个月的时间,总共拿到3个offer,第一个offer是来自自己实习的部门广联达,虽然只在那里做了10天工作,但给部门主管留下了比较好的影响,所以8月底直接电话通知我offer到手,再两个就是头条和阿里。自己也不会再去投其他的简历了,所以offer收割机什么的从来都不会出现在我的世界里。
闲话篇
秋招找工作什么的,应该像流水一样的自然。一开始身边小伙伴有行动快的,很快就拿到了第一个offer,朝着offer收割机的路上狂奔,但内心也一直告诫自己,别人拿offer始终是别人,自己该干嘛干嘛:看书、做题、看面经,没有妄自菲薄比较带来的失落,也不会有盲目自大不自知的满足,我想这一点真的很重要把。你什么能力决定了你找到什么样的工作,所以去不到大厂,为什么难过?如果是我,我会很开心,因为自己能力不够,去了也是亚历山大,把自己强行拉高到一个自己能力不匹配的地方,天天加班和焦虑,这会是你想得到的结果么?我是不愿意的。任何事都是有一利也有一弊,你能力差一点,去一个要求不那么高的地方,不必那么高强度高要求的要求自己,活的可以更像个人,这样我认为非常可以接受,归结下来其实对自己能力的清楚认知。
秋招的话,自己始终抱着那句老话-笨鸟先飞。刷题什么的,应该是研一下春节过来后听了x哥建议就开始了,jvm这本书,研2开始看的,框架学的比较晚,研二下才开始看,自己刷的题比周围的小伙伴还是多一些的,leetcode刷到250左右,pat刷了100多道,还参加了2018春季考试,体验了一把临场发挥,剑指offer牛课上全刷通,对于很多题的解法已经有了高屋建瓴的视角。看过的书也都是这几方面的,算导,算法第四版,哼哈算法,剑指offer,深入理解jvm第二版,高并发编程实战,并发编程的艺术,别的就没看了。
幸运的结束秋招,感谢身边的陪伴的每一个小伙伴,着重感谢下x哥,去年年前在春台公园的那次面授机宜对于我来说是历史性的,包括这几次面试的无私助攻。还有付爷,每次和你交谈都加深了对很多不熟悉知识点的了解,学而不授难为师,我更加清楚的了解到表达对沟通和对知识掌握的重要性,而面试就是和技术官的沟通。感谢crossoverjie的那篇博客,让我重新燃起进阿里的信心;感谢cyc2018的github,他的剑指offer题解一级棒!以及柳神,她陪伴了我准备pat的整个春节,让我重新掌握c和很多巧妙的算法。
踩过的坑也很多,因为运动错过面试电话,瞎投建立,错过网易游戏的直通终面,还有一系列,让人头大。有太多太多要值得记录的面试细节,想到了再补充。现在只想多读几本书,多踢几场球,不再熬夜好好休息,好好准备毕业,有空回家几趟。其实最重要的是,放下喜悦的心情下来后,收起过去,重新起航。重新看博客,学技术,分布式-springcloud,netty,算法时空的讲解,耗子叔的课程,好好毕业写论文,而不该是一股脑的全放空。致最后
好像没啥要写的了。