阿里巴巴2014年实习生校园招聘面经(复试)

时间:2022-09-02 18:49:31

今天参加了阿里巴巴2014实习生校园招聘北京站的复试,也就是传说中的终面。趁还有印象,赶紧记录下来赚点访问量。

今年阿里的校园招聘经历了笔试,初面和复试。一共有两次面试,但是复试一下午进行了两轮。

初面是上周的事情了,主要就问点项目经历,问点基础,过的人好像挺多的。主要就是要善于引导面试官问你熟悉的内容,一般不会被刷。

为了复试准备了整整一周的时间,逃了N多课,拉下很多作业。把数据结构,设计模式,Java程序员面试宝典,程序员面试宝典挨个看了一遍。面试前那个紧张,那个焦虑。。。就不多说了。

我面试的时间是今天下午两点四十(4月23号),还是提前半个小时就到场了。等了大概十分钟左右就把我叫了进去。面我的人是一个看起来年纪在三四十岁左右的人,应该是个小BOSS(从他开始对我的不屑可以看出来)。

刚开始,还是让简单的自我介绍一下。我就稀里糊涂一顿说,本以为他下面开始问我项目(如果是的话,那他就进我的套了,我都快背好要怎么说了)。可是他没问,第一个问题就问我以前项目中遇到的最大的困难是什么,我是怎么克服的。尼玛这个问题虽然听别人说过,但是也太空泛了,自己也没怎么准备,一下蒙了。。。而且项目都是一些小Bug,问问谷歌问问度娘也就解决了。这么正式的问,还真没答好。最后他怀疑的问我,你平时写代码么。。。

之间又发生了什么我不记得了。只记得后面他让我把我所掌握的知识按熟练程度排一下序。我排的是数据结构(一直在看)、java基础、操作系统、J2EE、设计模式。并且特地说了一句,数据结构挺好玩的。然后他就开始问我,用数据结构在实际项目中解决过有代表性的问题,并且取得很好的效果?。。。。然后我又蒙了,数据结构肯定会用到各个地方,解决过什么问题,什么问题。。。问的又这么空泛,我脑子里一顿遍历,还好最近操作系统Nachos实验要实现一个物理内存到逻辑内存的倒排索引,我没实现,但是看了看别人写的,就讲了讲,但是讲的疙疙瘩瘩,而且最后实话实说代码没跑通。。。面试到这,我觉得我的阿里之行算到头了。从开始到这里,他都是非常不屑的表情。

转机出现了,他开始问我实际问题。

  1. “Hello World Hello World ”。例如这样一个字符串,如果实现按字符的倒序输出,按单词的倒序输出又怎么实现,要求效率达到最高(存储结构没有给定,可以自己假设)。如果这个字符串长度到一个内存无法容纳的长度,应该如何解决。我简单的说了说之后,开始让我写单词倒序输出的代码。写完他看了看,让我想想还有什么方法能够提高效率的,我又改了一种方法,给他看,他还是不满意的问,还有什么其他的方法可以提高效率的。最后我实在是想不出来了,放弃了。
  2. 一个二维空间中有一个不规则的封闭图形(边界可能是曲线),图形内有很多点,每个点包括横坐标和纵坐标,设计一个函数,这个函数可以从这个封闭图形中随机取出来一个点,并且每个点被取到的概率是相同的。
  3. {9,10,19,22,8,6,11,98....}这样一堆数,数字可能重复,数字的数目也没定,问我有什么办法可以用最快的速度把数字连续最长的一个序列找出来(例如{9,10,11,12,13...}这样一个序列)。这个算法书上有过,最长子序列问题。好像是动态规划解的(也好像最长子序列问题跟这个还不太一样。)刚开始我一直纠结在存储的数据结构上,绕了一大弯后,恍然大悟,用BitMap!!然后不屑的面试官笑了(注意,这是从开始到现在他第一次没表现出来不屑!)
  4. 第三个问题跟信息安全有关系,他先问我C++熟不熟,我充大脸的说了句入门(实际可能门都没入)。然后他就问我,如何从语言层面实现一个线程篡改另一个线程的数据。我第三次蒙了,我是面试研发攻城狮的,而且是Java方向的。。。这种问题,我怎么可能知道!!??然后我就开始瞎扯,他始终不满意,问我再想想。最后我想起来网络攻防课上讲过一个缓冲区溢出,我就给他瞎说了说,他勉强的说算一种方法吧,还有其他的没了。。。我挣扎了一会儿,还是缴械了。。。
  5. 第四个问题是关于多线程的。一个游戏里面,有五个赛车,分别用五个线程实现,如何实现让发令枪响的时候,这五个赛车同时开始跑(也就是五个线程同时启动呗)。这貌似也是C++的问题,而且他说C++API里就有这样的方法,问我怎么实现的。我想了一会儿,突然觉得这题有问题。线程的执行需要上CPU,如果只有一个CPU的话,怎么可能五个线程同时开始执行。我这么问他,他笑了笑,后来解释说现实游戏里的确有这样的例子啊。我就稀里糊涂的搞了一句,那肯定是系统让机器的车先跑的。。。后来他又让我想了一会儿,我又放弃了。

如果大家对这四个问题有什么好的解法或者答案,欢迎在留言板讨论。我问那个不屑的考官能不能面试结束后给我解释一下这几题,他说这个以后再说,面试这样做不好,然后就没有然后了。

这个时候,HR大姐回来了,技术面试官又给我侃了点其他的,就交给HR审问我了。HR还算客气,问我最大的挫折,问我了问我简历上一个实际项目的想法,然后问这个项目如果拿到阿里,可以用在什么地方。还问了问我高中跳级的事情,问考研的事情。就把发问权交给我了。

我最关心的当然是面试结果出来的时间,如果实习有没有可能转正之类的问题。然后就让结束了这次面试。

 

之后工作人员让我出去先稍等一下,然后他又进去了。后来我才知道,他去问里面两个面试官我有没有必要进入下一轮了。没多久他就出来,说让我等一会儿进行交叉面试,先坐等。

 

估计又十分钟之后,我来到另外两个面试官桌前。这两个明显年轻好多,而且也很和气。

首先还是自我介绍,问了问我J2EE里文件上传怎么实现的,我大概讲了讲用的是Struts还是Spring的一个jar包,然后他问我代码怎么写的,还提示我form表单要有什么改变。但是我还是忘了具体怎么写的了。跟他说我对J2EE没太大兴趣,成功的把他引入到我的主攻,HDFS存储机制的源码分析,给他一顿讲原理,甚至涉及到相关类的实现功能。讲了半个小时,又讲了讲Hadoop2.0以后的Federation机制。总之巴巴巴巴的一通讲(昨晚刚把以前写的文档PPT都看了一边),成功的唬住他了。之后的半个小时交给HR妹妹了,她还是问我最大的挫折,最有成就感的事情,问我本科的学生*经历。然后就我们俩就开始瞎侃,谈谈北京房价,谈谈马云,谈谈支付宝,她还给我推荐余额宝,我说我不信任互联网金融,风险太大,互联网太不安全,账户不敢多放钱什么的。我还跟她谈到马云的余额宝有跟Party较劲的趋势,说做这个小心走火,让她千万不要告诉马云(当然,他们这种级别一边也见不到马云)。后来问我愿不愿意去杭州。之后留给我一段时间发问,我还是问她结果什么时候出来,并且告诉她可以去导师实验室继续搞科研去,并且待遇不错。她就问我导师那待遇怎么不错。答之“住学校,有食堂,每月给1500-2000的零花钱,还不忙。”她笑了笑,然后很不屑的说,导师一个月给你的钱是这里一个星期的工资。后来她又给我讲会有餐补房补什么的。

后来我突然想到网上说阿里是跳槽率比较低的一个公司,说明环境和待遇升职机会方面都还不错,问她是不是真的。她说她不好说,只是说今年阿里得了一个最佳雇主荣誉,让我自己来感受。

她又突然问我一句面了几个公司了,我如实说两个,说Intel周五让我答复去不去,还有百度,新浪微博还没开始面试,并且说新浪微博也不错,蛮想去的。HR妹妹坏坏的问了一句,是因为她刚上市了吗?然后啪啪啪啪谈了谈新浪。这时候被我们忽略的技术面试官发问了,问Intel让我去干嘛,我回答说Intel让我去做的就是云存储方向,我挺感兴趣的。HRMM又使坏了,说那你去Intel好了。我立马警觉了(这里可能能问道我面试是否成功),立马反问她,你这是在拒绝我么?(这话好像有些别扭)。。。之后忘了怎么着了,好像是我说他们等我答复呢,我想知道这次面完如果通过的话,拿到阿里实习概率有多大。然后HR妹妹总算开始正经了,你直接拒了Intel好了。之后我们就愉快的结束了第二轮面试。完全忘了第一轮被虐的那个惨。

搞笑版的经验贴,希望别被面试官什么的看到,我觉得记录的还算真实。