研一期间大部分时间在搞科研,每天抽出很少的时间来学习一些技术方面的知识,在研二上学期完成了小论文的撰写及投稿。投稿结束后大部分时间用来学习、复习技术方面的知识(大概有一个多月的时间)。收到审稿意见后又用了大概一个多的时间来修改论文。修改再次投稿后开始找后端开发方面的实习(此时距离寒假仅剩十多天)。在招聘软件投递了几份简历,接到两个面试通知,第一家是一个金融类的投资银行后端开发工程师岗位,(由于之前一直在写论文,面试之前只用了两天时间匆匆复习了下基础知识)面试时真是一问三不知,问啥啥不会。面试官拿了一张笔试题,里面有三道题,其中有两道是数据库方面的,我说:“我已经好久没有用过数据库了,对数据库不太熟悉”,面试官说:“没关系,那你可以不写这个,写下剩下的那道算法题吧!”,我看了一下是二叉树的后序遍历,心想:好简单啊!于是拿起笔来就开始写,可是刚写了个函数的定义就傻了,咦,二叉树传递的参数是什么来着?我怎么想不起来了呢?想了半天终于想起来了,然后写了个递归版的二叉树遍历,写好了给面试官看,面试官什么也没说(后来回去我才意识到我把后序遍历写成前序遍历了),又接着问了一些基础知识,基本上都没答上来。面试官看我也没有后端方面的项目经验,也就没再继续问下去。我解释说一直在搞科研。面试官说:那就介绍一下你做的科研工作吧!吧啦吧啦我讲了一通儿,然后面试官问了里面很多技术细节,有个基本的概念的定义问题我还是没有答上来。面试官说:“你有什么想问我的吗?”我问了下实习生人数工作内容等,聊完后面试官说今天面试就到这儿吧,回去等通知吧!然后我还不知廉耻的在招聘软件询问面试结果,结果可想而知,没有得到任何回复。
接下来继续复习准备第二家公司的面试,第二家面试公司是实习薪资非常诱人的字节跳动,我面试的是懂车帝部门,这下又多准备了几天。之前就听说字节跳动很看重算法,所以用了十来天的时间刷算法题,看面经,面试时间约到了腊月二十六(腊月二十七八是周六日),最后两天同学们都放假回家了我还在苦逼的刷题,准备面试,每天自己一个人在实验室学习。面试到来了,信心满满的去参加面试,进入公司,看到字节跳动那几个字,很是激动,在前台签了个到,拿个号码牌等待面试官的到来,等了许久,面试官终于抱着电脑走来了。“你好”,“您好”,面试开始了,面试官:“先做个自我介绍吧”,我吧啦吧啦开始自我介绍。接下来就是简历上面的项目一个个的问,然后开始提问基础知识,基本上都是简历上写到的,面试官问“用mysql做过什么项目吗?”我说“没有,都是学习的时候练习使用过”。面试官问:“用python写过服务端项目吗?”我:“没有,都是学习的时候做过一些练习”,接下来又问了一些基础知识,基本上都答上来了,面试官说:“好,那我考你两道算法吧!”我说:“好”。面试官:“链表熟悉吗?”我:“还行吧”接下来面试官说了一下题目描述,正好是我之前准备的,信手拈来,思考了一会儿开始动笔写,写完后给面试官看,面试官说:“没什么问题,再写一个数组的题目吧!”面试官描述后我也感觉题目很熟悉(回去后发现也是自己很久之前做过的题),但就是想不起来了,然后开始用最基础的方法解决这个题目,写完了之后给面试官讲了一下思路,面试官貌似不太满意,说:“你有没有什么更好的办法?时间复杂度更低的”。我:“我想一想”。结果想了老半天也没想出来。然后面试官说:“你有什么想问我的吗?”问了两个问题面试官回答后说:“好,今天就到这儿吧!回去等通知吧!”听完这句话之后其实我感觉很诧异。因为我之前了解到一般字节跳动的面试如果通过都是连续三面,让回去等消息基本就是凉凉了,但是这次面试总体来说自我感觉还不错,因为基础知识基本都答上来了,两道算法题也都写对了,只不过其中一道时间复杂度不是最优的,至于实习经验项目经验我觉得找个实习应该不会那么看重吧。回去之后也很纠结,快过年了,我是继续在学校复习准备下一面呢还是直接回家休息呢?让我回去等消息,具体啥时候有消息也没说,最后决定还是回家吧!如果接到下一面的面试消息再回来。可是谁知道,这一等,就是一万年…后来找了其他认识的hr查了下结果才知道果然凉凉了,主要原因大概就是缺乏项目经验,算法一般。
接下来面试了一家800多人的医疗大数据公司,这家公司在国内医学AI方面做的还是比较领先的,一面面试官很和蔼,考察了我几乎学过的所有知识,考察范围可以说是非常全面了,从语言到算法到网络数据库项目等都问了一遍,语言方面问的比较多一些,面试官还准备好了一张打印好的面试题让我做,A4纸整整两面给了我20分钟的时间,我做的也不太好,做出来一大部分,不过面试官总体来说还算满意吧。大概面试了一个小时二十分钟,问的差不多了,面试官让我稍等一儿,然后他抱着电脑走了。当时我还挺开心,以为要见到HR了,没想到是我太天真,又来了个技术总监开始面试,这个面试官可以说是非常严厉了,上来以后就一痛怼我的论文,科研项目,连续抛出n个问题来质疑我的项目,然后我就一痛回答和解释,(后来才发现可能是压力面),大概问了有二十多分钟的样子,面试官说:好,今天就到这儿吧!回去等消息吧!结果后来也是凉凉…虽然凉凉,但是这是我第一次进入了二面,感觉还是有一点小小的进步。
紧接着又面试了一家几十人的小公司,公司也就像一个教室那样小,里面的布局也很像大学里的机房,座位非常紧密,我被带到一个小会议室进行面试,面试官的问题都是一些细节上的,招聘要求上写的注重网络分布式什么的我特地重点复习了一下结果都没有问,还问了一些linux很底层的知识,几乎都不会,其中有一个问题就是复制cp和剪切mv哪个速度更快,以我的经验回答和解释了一下,结果还是错误的,然后面试官给出了正确的答案和解释。问完我也知道凉凉了,开始向面试官问问题,和面试官聊了好一会儿,我问他像我这种没有web后端开发经验的该如何去面试,是不是就找不到工作了。面试官说也不是,给我分享了一些经验和学习方法,让我先找个项目做然后再找工作,或者边学习边做项目边面试找工作。面试完这几家公司之后我就没有再继续投简历面试了,因为差不多已经知道自身的不足,再继续面试也已经毫无意义了。我需要先把自己的这些短板补齐,于是从网上找了个web后端的项目开始学习,并且跟着教学视频自己写了一遍,弄清楚里面各个功能的实现逻辑,原理及具体的实现细节,同时每天复习计算机的基础知识,写写算法题,就这样大概过了两周,感觉自己准备的差不多了 ,又开始重新投递简历。
收到的第一份面试公司是momenta,base北京, 这场面试可以说是体验极差了,之前hr打电话约好了时间地点,说给我发邮件,结果也一直没发,公司电话打回去也没人接。到了约定的时间地点我就直接去公司了,学校距离公司比较远,坐地铁将近一个半小时,到了公司以后,公司的人都不知道我来面试,又去群里面找hr问了好久,等了半个小时,hr打来电话让我稍等一会儿,又等了二十分钟,一个面试官过来了把我带到了一个小会议室,开始面试。面试官说:“我现在比较忙,一会还有个会议,咱们快着点儿。” 我说“好”。然后面试官让我介绍了一下科研项目,紧接着问了几个分布式的高深问题,我也不太会,然后面试官就说:今天就到这儿吧!我一脸惊讶,然后我问还有没有下一面。面试官说一面通过才有一下面。然后我就回去了。面试全程不到十分钟,而且面试官态度很不好。来回路上三个小时,等着面试等了半个多小时,面试十分钟???这也太不尊重人了吧?
接下来面试的一家公司是面向海外业务的创业型互联网公司,公司规模不大,就几十人,实习薪资福利待遇都很好,每天有新鲜的水果供应,零食饮料也都是随便吃的,而且不加班,10点上班7点下班,中午能休息一个多小时。这也是我第一个拿到offer并进入实习的公司。一面的面试官是公司的技术副总裁,聊了聊项目,稍微问了点儿基础知识,然后让我写个算法题,这种类型的算法之前从来没有见过,没有任何思路,听到题我就觉得我凉凉了,不过面试官很有耐心,一步步引导我,确实也用了不少时间,最终才把问题解决,在解决的过程中好几次出现放弃的想法,但是最后还是写出来了。写完这个算法面试官让我稍等一下,然后又来了个面试官,也是先问了下项目的各种细节,原理,实现过程,然后问了我几个特别细节的基础知识,还有个设计类的题,同时写了个排序算法,总体感觉答的还不错,面试官又让稍等一会,紧接着hr就进来了,hr非常和蔼,和我聊聊了实习薪资,实习时间,然后问我入职时间,当时我很兴奋,我说:随时可以入职,毕竟面了好久了终于有个offer了。那时候已经是周四了,最终入职时间安排到了下周一。
周四上午刚拿到offer,下午又收到了猎户星空的面试邀请,安排在了周五面试,我想反正也拿到offer了,闲着也是闲着,不如再面个,通过了会有更多的选择,没通过也没关系,已经有保底的了。于是又准备了一下,周五下午去面试了,公司环境非常好,在一个小园子里,风景优美,更像是个公园。进门以后都是机器人接待,机器人走过来问我:你是来面试的吗?特别可爱。在那儿填完资料等了一会儿就被hr提前带到了面试的小屋子里。一面的面试官好像很忙,有些事情,迟到了二十多分钟,期间我很想去卫生间,可是又怕面试官来了看不到我不礼貌,纠结了好久还是去了,结果回来面试官还没有出现,又等了一会儿才来。面试官看了看我简历上的项目,说:你这项目都太简单了,没什么可问的,问你一些基础知识吧!然后考了考网络,操作系统什么的,我都回答上来了,后来问了一个redis的底层实现原理,我也给讲了讲。这道题使面试官对我印象很好,面试官说:不错呀,这个你都答上来了,之前问了好多人都不知道这个。然后问我是不是上课学过?我说并没有,都是我自己学习的。后来面试官又让我写了道算法题,题目很常见,写了一会儿面试官有事出去了,留了个电话给我,让我写完打电话给他。结果写了好久也没写出来…过了会儿面试官回来了问我写的怎么样。我说没写出来…面试官说:这不应该啊!你应该可以写出来的,这个你写不出来也太遗憾了。好像对我期待很高的样子。然后我说:要不您再换一个吧!面试官又让我写了个稍微复杂一点的SQL语句,还好这道题和之前面试过的一道题很类似,很快就写出来了然后进入了下一面。二面问的基本都是项目内容,大概有半个小时的样子,紧接着进入hr面。hr面谈了薪资工作时间,又问了优缺点什么的一系列问题,最后说他们还要继续招人,需要比较一下最终确定是否录用,让我回去等通知。结果最后也一直没有收到通知。
面了这么多家公司,也累了倦了,不想再继续面试了,直接入职了第一家拿到offer的公司,虽然规模不大,但是其他方面都不错。同时在这之前也投了几家互联网大厂的春招暑期实习,但是一直没有收到面试通知。去哪儿网是因为我只有python项目经历没有java项目经历而没有安排面试。入职了一段时间后,抱着试试看增加面试经验的心态在阿里春招实习简历投递截止的最后一个晚上,我补充了简历并在官网投了出去。第二天就接到了面试官的电话和我约面试时间。我约了晚上九点。七点在公司下班,坐一个半小时的地铁回到学校,稍微准备一下,开始面试,虽然之前经历过那么多次面试,可是这次面试还是很紧张的,毕竟是这么大的公司,而且是第一次线上视频面试。九点钟面试准时开始,面试官非常和蔼,先问了下我的基本情况,先让我做个自我介绍,又了解了一些学习、工作、竞赛的内容,后来又问了一些基础知识,最后考了两个算法,面试结束,而且面试官当场就告诉我通过了这一面,并让我好好准备下一面。面试时间大概半个多小时。
一面结束的第二天下班坐地铁的路上,接到了二面面试官的电话,面试官问我什么时候有时间面试。由于在地铁上声音特别嘈杂而且我也没有做好准备,我把面试时间往后推了一两天。二面本来约的是电话面试,可是后来面试官电话打过来时声音特别小,我们互相听不清,于是又直接约到了公司进行现场面试。面试时间是晚上八点,下了班以后匆忙坐地铁赶到北京阿里总部,到了楼下给面试官打电话,两个面试官下来接我,然后把我带到了一个会议室。面试开始,先讲了下实习的工作内容。然后是一些基础知识,接下来在白板上手写了一道算法,算法难度不大,就是很多细节需要注意,我很顺利的写完了,信心满满,然后面试官看了一遍就看出了问题,给我指了出来,我马上改正了。然后面试官说挺好的。接下来另一个面试官又问了我很多关于我当时所在公司实习的一些业务和技术实现的问题,在知识的广度和深度上都涉及到了一些,问了我一些python的高级用法,我只是知道一些简单的,然后面试官也觉得我说的做的都太简单了,告诉我来到阿里会有很多挑战,然后告诉我该去学习哪些东西,该怎样学习,有哪些不足。虽然看上去有些严厉,但是对我的帮助还是很大的。最后问了面试官几个问题,面试结束,全程大概有一个小时。面试官送我走的时候,对我说:你太菜了,希望下次见到你不是这个样子的!虽然被怼,可是还是很激动哈哈,比较听到了下次,心里暗暗窃喜。美滋滋坐地铁回学校,刚一进地铁就接到了预约下次面试的电话,我又约到了两天后的晚上。趁着还有两天的时间,我每天晚上下班回来吃个饭,拖着疲惫困倦的身体,洗把脸清醒一下,背着电脑去上自习准备接下来的面试。
三面也是视频面试,在这里感谢一下我的舍友腾出时间让我在宿舍面试,因为有人在我旁边我会紧张。面试上来也是先自我介绍,接着问了一下实习的工作内容,一些基础知识,然后就是开始在线写算法。这也是我第一次线上面试官面试官实时看着我写算法,压力特别大。算法题算是基础但是有难度,我写了好久,最后也只是写了个大概也没有完全写对,然后面试官引导我,让我慢慢改,那时大脑有些空白了,再加上紧张,也没改好,而且在最关键的时刻电脑也不给力,网络还断了!我真是哑巴吃黄连有苦也说不出。当时我就觉得我的希望破灭了,没有机会进入下一面 了,因为我觉得这个算法写的确实太给自己拉分了,不过其他题还好,面完这一面第二天就五一放假了。这一段时间以来又是工作又是面试特别疲惫,当时就想着不管这个面试结果了,回家好好休息一下吧!也调整好了心态,做好了挂掉的准备。万万没有想到的是,五一假期回来第三天中午,我接到了阿里hr的电话,预约最后的hr面试。
接到hr面试后很激动,心想这次应该稳了,后来问了好多人才知道根本不稳,因为阿里的hr很严格,很多人都是在这一面挂掉的,所以还不能掉以轻心,我又继续准备hr面试,找了一些面试题,自己模拟做了一些回答,然后又好好反省了下自己,更加清晰的认识自己有哪些优点和不足。hr面试是一种综合素质的考察,前面几次面试考察的都是你的专业能力,这一面就要看你其他方面的素质与能力,阿里选人的几个标准是:“聪明、乐观、皮实、自省”。之前从来没有准备过hr面试,只有这次我很认真的做了hr的面试准备,因为我认识到了这次面试的关键性与重要性。周五上午十点开始了hr电话面试,这次面试我有一种前所未有的紧张感。也确实这次面试的内容很有针对性,很犀利,也很严格,后来感觉其中也可能有压力面的意思。面试结束后,和主管打了电话,后来主管又问了我几个问题,然后给我答复的意思就是我通过了面试。很快收到了录用意向书,过了一段时间体检后拿到正式offer,成功入职。
到这里,面试过程结束。一路以来准备面试、不断参加面试身心疲惫,尤其是当面试没有通过的时候,会产生自我怀疑,会难过,会沮丧,甚至自卑。尤其是看到其他同学拿到offer自己却一直挂的时候,心情无比低落。但是不管怎样,我还是走过来了,最终也有了个不错的结果,一切的努力都没有白费。进入阿里确实有一些运气的存在,但是我也一直在准备中,毕竟机会是留给有准备的人的,我在不断努力,不断提升自己,我相信付出总会有回报的!
首先感谢我的导师允许我出去实习,同时感谢一路以来所有的面试官和hr给我提供的面试机会,感谢我进入的两家实习公司给我学习与成长的机会。另外感谢舍友们腾出时间给我创造个安静的面试空间,感谢面试过程中帮助我指导我为我分享经验的同学及朋友们!
感谢看到这篇文章的朋友们,也请大家多多指教,多多交流!
注:转载请联系作者并注明出处,谢谢!