发布于 2014-10-29 01:57:36 | 152 次阅读 | 评论: 0 | 来源: 网友投递
阿里巴巴
阿里巴巴(中国电子商务公司) 即 阿里巴巴集团 。
阿里巴巴集团经营多元化的互联网业务,致力为全球所有人创造便捷的交易渠道。自成立以来,阿里巴巴集团建立了领先的消费者电子商务、网上支付、B2B网上交易市场及云计算业务,近几年更积极开拓无线应用、手机操作系统和互联网电视等领域。
本文是一份阿里巴巴2015校园招聘面试经验-技术类岗位,感兴趣的同学参考下。
阿里杭州校招27号落下了帷幕,回想这六天的点点滴滴,感慨颇多,我并不是在这里炫耀拿到了阿里的offer,有多少开心,有多少骄傲,只是感觉,真的是事在人为,只要自己准备好了,打好了基础,真的你自己都无法预料,下一步会发生什么。我只是想分享一下自己的求职辛路——没有打错字,确实是求职的辛苦之路,希望给拼搏在求职路上的像我一样的普通高校的应届生们一点鼓励,希望大家不到最后一刻不要轻言放弃,因为机会是自己争取的。
我的经历要从9.22的笔试开始讲起。我报的是研发岗,笔试试卷里的题目感觉不是很难,做的也比较顺,大概除附加题外,总共花了一个半小时,但是由于JAVA只是很浅的学了一点,因此两道附加题都空着没做。有点遗憾,不过总的来说发挥得还好,自己感觉应该能进面试。因此出考场的时候,还是比较开心的,期间还信誓旦旦的跟女友说,进面试应该不成问题。
悲剧在9.23号发生,时间定格在中午12:30左右,当我身边以及群里的好多同学都收到面试通知,正兴冲冲的赶往华星科技大厦(阿里面试的地点)时,我的手机始终是静悄悄的,没有一条短信,也没有一个电话,这时我开始慌了,开始坐立不安,开始焦急的等待着阿里的面试通知,这时除了等待还是等待,其他的事情,我根本就做不了,11点前还开着电脑写代码的,现在根本无法静下心来。为了消磨等待的时间,我把宿舍扫打扫了一遍,厕所也清洁了,可是还没有收到通知,接下来把衣柜也收拾了,哎,真是度日如年哪!!!直到下午三点,我绝望了,整整一个下午我反复的回忆22号的笔试哪里出问题了,开始怀疑自己是不是把题目想简单了,可是我抓破脑袋都不知道问题出在哪里了,难道我就这样跟阿里说再见了?我心里实在不舍,虽然说杭州有很多软件公司,但待遇能像阿里那么好的真的屈指可数,所以,即使它抛弃我了,我也不能放弃这个机会,于是乎,我踏上了第一次霸面的征途。下午3:20分进了地铁,这时,给女友发了条短信,我霸面去了。在这里感谢一下女友给我的加油打气。四点四十左右到了华星科技,怀着忐忑的心按下了八楼的按钮,随着电梯缓缓的来到了八楼,电梯一开门,发现等待面试的同学都已经排到了门外,这下子,我更难过了,为什么那么多人都收到了面试通知,而唯独我没有,同时心里夹杂着害怕和担心,毕竟是来霸面的,也是我人生中的第一次霸面,心里真是没底。我颤颤巍巍的来到签到处,跟HR讲明了我的来意。估计我是第一个去霸面的缘故,HR看到我还是挺新奇的,但是并没有给我霸面的机会。我一直在那边请求HR给我一次霸面的机会,但是始终没有成功。过了一会儿,里面走出一个貌似Boss级的HR,她知道我的情况后,拿走了我的简历,去给面试官评估能不能给我一次霸面的机会。五分钟后,我顺利的拿到了面试的机会,那时候真是开心死了。于是乎,在工作人员的带领下,我来到了面试研发的办公室,在面试官的对面就坐,等待着被虐。面试官接过我的简历,大致看了一下我的情况。由于我的项目基本上偏算法,因此还没等我开口,面试官便主动跟我交流,要推荐我面算法。对我来说,这真是求之不得,本来就是担心进不了算法而填的研发,现在有机会面算法何乐而不为呢,于是,我爽快的答应了。就这样,跟研发的面试官交流了不到十分钟,我又带着兴奋的心情在他的带领下来到了算法部。面我算法的面试官很年轻,但是第一个问题,就把我问傻了。他说,要是你进了算法部,但是把你分配到研发去,你愿意吗?他问我问题时非常严肃,现场气氛顿时降到了零点。我说,我本来就担心自己的实力不够硬,才报的研发,要是我进了算法部,但最终被分配去做研发了,我是可以接受的。然后,我反问了他一句,那我去做研发之后,等我实力长进了,还有机会回来做算法吗?他没有回答我的问题,只是说,那咱们开始面试吧,既然你是从研发转过来的,那我就考你研发和算法。面试官问我的问题在这里我大致罗列一下,大概有如下问题:指针和数组的区别;链表和数组的区别以及分别适用于什么情况;static关键字在C,JAVA,C#中的作用;抽象类和接口的区别;适配器和桥接模式的应用场景和区别;快速排序在什么情况下其时间复杂度是O(n2),并举例说明;JAVA和C#中的垃圾回收机制;K-Mean原理;决策树训练原理;神经网络训练原理以及过度训练时的解决方案;SVM原理(有些不记得了)。面前面的基础算法时,答得还可以,但到后面的机器学习时,由于本人不是机器学习方向的,除了神经网络,其它的真招架不住,几乎都只是听说过,脑袋里有这么个词汇而已。就这样,面试持续了大概一个半小时,快要结束时,面试官要我对自己做一个评价。我给出的评价是基础还可以,但如果真的要从事机器学习这一块,我还缺很多知识。令人欣慰的是,面试官肯定了我的基础,这也让我觉得自己很有戏。面试结束时,面试官让我在办公室里等一下,他出去跟另外一个人商量了大概2分钟,回来时跟我说让我手机保持畅通,回去等通知。告别面试官后,走到前台,那个和面试官商量的人也善意的提醒了我一下,让我手机保持畅通,回去等通知。这让我觉得我更有戏进二面了。面试结束大概是下午6:30左右,回去的路上,我打了个电话跟同学交流了一下,从他那里得知,他的一个同学也是面的算法,面完一面之后,直接进二面,现在还在那边等二面。这时,我感觉有点不妙,但还是满怀憧憬的,毕竟很多细节都让我觉得进二面很有戏。
到学校大概是20:00左右,心情非常好,回到学校先去借了本设计模式的书,因为感觉之前的面试,在设计模式这一块有欠缺,趁晚上这段时间恶补一下,说不定二面会用到,回到宿舍以后,把常用的设计模式都过了一次,12:00睡的觉。
第二天早上6:30左右起的床,继续恶补设计模式以及一些不常用的算法,为我的二面做准备。大概到了10:00左右,打开电脑看了下群里的消息,里面各种分享面试经验,发现确实有一部分人直接进了二面,这时心里那股不详的预感已经开始渐渐膨胀,让我开始有点坐立不安了。到了12:30,还是没接到二面的通知,此时我开始乱了,开始反复的回忆自己面试的表现,就像昨天的此刻一样。此时,心里开始埋怨面试官,为什么面试完不直接公布成绩,让人这样焦急的等待远在天边的电话通知,要知道,经受过面试摧残的同学心里都是脆弱的,实在经受不起这样的摧残,要是你直接告诉我No,那我也死心了,不是嘛。呵呵,当然,这只是心里的一点小埋怨。那时候,我还不相信回去等通知其实是善意的say no。为了搞清楚自己的状况,我再一次踏上了前往华星的旅程,这一次不是去霸面,而是去要一个成绩,要一个肯定是Pass还是No。
由于是第二次去华星了,而且不是去霸面,自然,心里少了份惶恐,蛋定多了。来到华星大概是2点左右,这回,我没有去前台,而是默默的走到了等候面试的场所,找一个角落坐下,安静的等候着面试官的下班。旁边很多同学都在兴奋的聊着自己面试的经历,为着即将进去面试的同学加油打气。期间,有HR过来收过霸面同学的简历,那时我也很想再递一份,重新进行简历筛选,再面一次。好几次,我都站起来了,心砰砰的跳个不停,但最终还是理性战胜了自己,并没有把手中的简历递出去,因为,我是来查成绩的,并不是来霸面的。一直等到下午6点,面试官终于下班了。期间,我一直在默默的统计每个同学的面试时间,我发现,到目前为止,我还是面得最久的,在我到来之后到他下班之前,总共面了三位同学,平均每位50分钟左右。当他下班,收拾好电脑准备要走的时候,我鼓足了勇气冲了过去,他还认识我,于是,我就跟他打听我的面试成绩,以及询问面试表现,虽然这样做很不礼貌,但为了能进阿里,我豁出去了,什么东西都不管了。但是,让我失望的是,无论我问什么问题,面试官的回答都是一样的,我不知道,等通知。大概我问了1分钟,所有的问题,都得到同一个答案,我知道自己问不出东西来了,也就放弃了。但是,他的不回答,也让我渐渐的感觉到,我没戏了。要知道,我为了那一分钟,不知道得鼓起多少的勇气,才有胆量站到面试官面前。这时,我彻底的绝望了,低着头,迈着沉重的步伐,按下了电梯按钮。此时心跳仍然非常快。
整一天,就吃了点早饭,回去的时候反胃得难受,一直有呕吐的感觉,特别是在公交车上的时候。跟昨天一样,8:00左右回到了宿舍,只不过今天的心情是沉重的难受的,那种难受的感觉不亚于高考考杂了,不亚于失恋了,此时此刻突然觉得文字好苍白,我根本无法描绘。再一次感谢女友,还是她默默的安慰我,鼓励我,支持我,相信我。晚上失眠了,睡不着,难受得睡不着,此时此刻,我彻底的绝望了。今天杭城降温,凌晨4:00天还没亮,上完厕所回来,站在阳台上站了大概二十都分钟,看着外面车水马龙,心情复杂得一塌糊涂,最后是实在冻得受不了了,才回去躺着,但此时此刻,我的心里又冒出了一个想法,而且越来越清晰了。
早上6:30起的床。今天是25号,阿里面试的最后一天。吃完早饭后,基于23号面试的教训,我打开电脑,开始修改简历,修改工作一直持续到上午10:00。修改完后,整理了一下心情,开始了我的第二次霸面之旅。期间,给女友发了条短信,我说我又无耻的出发了。由于期间出了点小意外,自行车坏了,因此今天花在路上的时间比较多,12:30左右到的华星。今天仍然是人满为患,丝毫看不出是最后一天的样子。我又默默的走了进去,等待着机会的到来。大概1:30左右,一个HR从里面出来了,机会来了,于是,我又冲上前去,表明了我的来意,刚开始,HR不同意给霸面,但是在我的软磨硬泡下,最终她还是答应把我的简历送进去让面试官筛一下,五分钟以后,我得到了好消息,我终于可以参加面试了,可是,并没有上次那么激动,那么期盼,那么渴望了,只是默默的走到一个角落坐下,静静的等待着属于我的那一个小时。期间,HR陆续公布了第二批,第三批可以参加霸面的名单。大概等到4:00左右,悲剧又发生了,第二批第三批公布出来能霸面的同学都进去了,可我还是没通知到面试,我再一次坐不住了,于是,走到前台询问情况。我发现,在等待面试的“队列”里,根本就没有我,我的简历找不到了。前台的工作人员不允许我重新拿一份简历出来排队,让我去找同意我霸面的HR,于是,又又开始焦急的等待着那个HR的出现。时间一分一秒的流逝着,离面试结束的时间在一点一点的接近,我的心跳又开始加快了。大概到了4:30左右,HR出现了,我赶紧跟她说明了我的情况,幸好她对我还有印象,同意让我插队进去面试。
就这样,大概在4:35左右,我如愿的再一次进入了研发部的面试点,开始了我的被虐之旅。面试官1米65左右,人看上去挺亲切的,我双手奉上了我的简历,并跟他表示了我的感激之情。面试官貌似对我做的项目很感兴趣,简单的自我介绍后,就拿着简历追问着项目中的各种问题。这时我才发现,事前准备是多么的重要,由于笔试前,我花了几天时间回顾项目,因此在面试官追问一些细节的时候,我几乎都是立马做出回答,并且很详细的讲述了项目中的重点以及难点,以及项目中碰到困难时是如何解决的。大概就这样交流了40分钟,面试官没问任何一个除项目以外的问题,这是让我非常惊讶的。40分钟后,大概项目问得差不多了,面试官开始问我一些操作系统以及计算机网络方面的问题,包括进程调度、虚拟内存,网络层协议以及传输层协议上的一些问题。由于之前都有准备因此都能回答得上来,不至于被虐。之后,面试官让我写了一个堆排序,数据结构本来就是我的强项,大概5到10分钟左右,等我检查完各种边界条件后,我便拿给面试官看了,面试官对我的程序比较满意。我的一面就这样结束了,面试官让我出去等一会,跟面试官表达谢意之后,我就走到前台,找了个位子坐下,默默的等待着结果。此时的心情出奇的平静,我隐约感觉得到,我能进二面。
大概过了5分钟,工作人员喊了我的名字,并带我来到了9楼,让我在沙发上坐着等待叫号。我知道,我进二面了,心里有点激动,但是更多的是紧张,因为等待我的将是跟加严酷的Boss面。
大概等了二十分钟,终于轮到我了,在工作人员的带领下,我来到了最里屋的一个办公室,开始了我的二面之旅。二面总共有两个面试官,一个是HR一个是技术官,貌似二面的技术官都是个部门的Boss。那个Boss显然对我的项目也很感兴趣,简单的自我介绍以后,Boss就开始问我项目上的事情,跟一面不同的是,二面的面试官更加注重项目中的难点以及解决难题的思路,面试官问得最多的就是:“这个项目有什么难点,你是怎么解决的”。二面也很顺,主要是我讲项目中的难点以及解决问题的思路。很意外,二面的面试官也没问一个除项目之外的技术问题。由于其中一个项目有些实际价值,因此发过论文,也跟国外的高校有过一些合作,HR问我有没有考虑过出国深造。此时,回想起之前的心酸,我的眼眶红了(此处省略N个字)。接下来很长的一段时间,都是二面的技术官在跟我交流他的人生经历,以及对我的鼓励。跟面试官之间有这么多的交流,是我意想不到的,也是出乎我的意料的,让我收获了很多。就这样,顺利的过了二面,当我转身准备离开办公室时,HR喊住了我,并把我带到一个工作人员处,跟我说,准备一下,待会还有三面。此时,由于连续三天的折腾,几乎每天都只吃一顿早饭,感觉人有点晕呼呼的,就跟HR说明了情况,我回到等候室,拿出书包里的面包,接了杯开水,吃了起来。
大概过了十几分钟,我的三面开始了。三面的面试官貌似对我的项目不是很感兴趣,做了粗略的介绍后,技术面开始了。面试官首先让我写了一个字符串转数字的程序,动笔时,没想好怎么写,就想写了一个正确情况下的字符串转数字的程序。接着考虑各种可能情况,当条件满足时再调用前面的程序。这个程序几乎都在枚举各种可能情况,因此A4纸写了两页还没写完,越写感觉越不对,但至少把它写完了,检查过各种边界条件后,交给了面试官。面试官对我的程序也不是很满意。在交到面试官手上,到他看完我的代码期间,我一直在想怎么优化程序,最终,在面试官开口评价我的程序之前,我自己先开口了,询问能否给我一个优化程序的机会。面试官答应了,于是,我重新编写代码,此时我换了种思路,利用递归实现了字符串到数字的转换,再一次交给了面试官。面试官对我的程序仍然不是很满意,说我把问题复杂化了。确实,虽然递归较之枚举有所改善,但仍然把问题复杂化了,其实还有更好的方法,不过这是我事后想到的。写完字符串转数字的程序后,面试官又出了一道题目,让我设计一款拼音输入法。这是一道开放性的题目,之前从来没有接触过,因此,只能是凭我用搜狗的经验进行输入法的设计。其中最难的就是字库的设计,刚开始,我给出的解决方案是利用数据库进行字库的存储,显然面试官对我的回答很不满意。他给了我点提示,让我自己设计数据结构。这时我才从借助数据库的死胡同里钻了出来。我开始在脑子里循环遍历我掌握的数据结构,每遍历一种数据结构都会询问一下能不能用于存储字库,最终找下来,貌似B树比较符合,因此,从B树的数据结构开始,进行了数据结构的重写创造。随着我一步步的深入,我对设计出字库的信心越来越足,精神也越来越兴奋,始终专注的开始考虑各种情况。大概过了一个小时,字库的雏形出来了,在跟面试官的交流过程中,发现字库存在缺陷,虽然可以满足单个字的输入,但现有数据结构无法满足对一个词的输入,于是又重新开始更改数据结构。大概过了半个小时,终于我的数据结构能支持词的输入了,然后有很兴奋的跟面试官交流起来。
设计完输入法之后,面试官问我有没有问题要问他,我想了想,没想出来。看我没有问题,面试官换了个角度,开始跟我交流我在编程上的不足。面试官指出了我在编程上的缺点以及存在的不足之处,让我受益匪浅。真的很感谢这位面试官,足足三个小时,耐心的看着我写代码,跟我交流,指出我的不足,越是面到最后,我越感觉到我已经不在面试了,而是在倾听一位长者的教导。
二面、三面都让我受益匪浅,二面的面试官跟我讲了很多自己个人的经历,跟我分享了自己的人生经验;三面的面试官指出了我的很多不足,真的,很感激你们。华黎大哥、亦秋姐还有薛老师,真的很感激你们。
三个小时后,我带着感激之情,结束了我的三面。这回终于可以安心的回宿舍了。出了华星的大门,我马上拿出手机打了两个电话,告诉了女友和我妈今天的经历,以及很有底气,很自信的说,阿里,我进了!
这就是我的整个求职经历,回想起来,真的像小说里的故事情节,高潮迭起。但是,短短的4天,我从希望到失望再通过自己的争取获得希望,由于自己的专业知识所限被面试官say no再通过自己的努力再一次把握住机会并最终锁定offer,让我感触最深的就是,机会真的是自己争取来的,不到最后真的不能放弃,因为,连你自己都不知道,奇迹会在什么时候发生——我要是因为没有收到面试通知,我就放弃了,那么就没有了第一段霸面的经历,要是没有第一段霸面的经历,我也永远不会知道自己的简历做得不好,让面试官漫无目的,没有针对性的问我各种问题,也就没有了后面的修改简历;我要是因为霸面失败就放弃了,也没有后面的故事,更没有机会跟大师级的人物进行交流知道自己的不足。总之,一言难尽,但至少,结局是完美的。在这里,真的要感谢我的女友,这4天下来,始终在安慰我,鼓励我,支持我,陪着我经历着这些大起大落。