上次的博文为大家分享了一篇来自成功拿到阿里offer的研究生学姐的面试经验,其实阿里每年都会为大三或者研二这样的在校学生提供实习生的机会,不久之前还在微信中看到阿里淘宝招聘实习生的微信文章,虽然毕业实习对于我而言还有一段时间,但是我怀着好奇的心情进点进入看了看(没办法,从小好奇心爆棚,从大一开始就在学校里蹭各种专业相关的宣讲会,比方说中科院计算所,阿尔法特朗讯,科大讯飞之类的,只要感兴趣并且没课,我就会默默地坐在一群要毕业的怀揣简历的学长中间…并且默默记下他们的技术要求,毕竟“学不到老,就活不到老”,你懂得)。
这篇实习生招聘文章开头就是:淘宝海量交易数据如何在成百上千个分布式系统中发送和投递?淘宝成千上万个系统之间如何相互调用服务?分布式数据库引擎如何工作?.......来淘宝中间件架构组就能接触上面所有技术。哈哈,写招聘信息的小编蛮懂的我们的心理的,如果我要去实习的时候肯定会找能够学习的地方,而阿里恰恰就是为我们提供一个和优秀的人一起学习技术的机会。怎能不心动呢???
当看到实习生要求的时候,我和我的小伙伴们就惊呆了…就短短几句话:
1)对互联网技术感兴趣,热爱者优先。
2)对数据结构、计算机网络、网络编程、数据库技术、算法、ACM,其中一种或多种有深入理解。
天哪噜…这实习生要求对于计算机软件专业的我们而言,不就是基础知识么???这样就能去阿里实习么???
而且能够在阿里遇到超多的技术大牛,学到很多的知识。那种感觉就好像是曾经认为是海市蜃楼的美景,出手一碰发现,是自己能透过努力够得着的真实的美景。这是个美好的憧憬,当然了也需要我们在学习时真正地学好每一门专业知识,而且是要有深入的理解呀。所以呀,大学生,老师只能够把我们领进学科的大门,但是我们能研究多深多广还是要依靠我们平时的积累呀…
那么今天呢就和大家分享一篇面试阿里实习生的博文…如果你和我一样也是未来的软件攻城狮(包括程序媛),并且想获得阿里的实习机会,那就一起加油吧!
正文如下:
《阿里实习生面试经验》
个人简介
我今年大三,计算机学院、软件学院软件工程(NIIT)专业。在大一期间基本上在学习课本知识,对技术兴趣不是很浓厚。大二跟基友一起加入院科协,开始了真正的编码之路,刚开始写的也就书上的代码,基本是看着写。大二上学期开始一段时间后开始跟老师做了一个比较水的项目是iOS开发的,刚开始Oc语法都不会,到最后代码拼凑把自己的负责的功能写完。做完之后感觉iOS不太想继续了,恰好之前参加了Apollo_Rescue(机器人救援仿真)社团,后来加入Apollo_Rescue团队。在Apollo_Rescue做的救援仿真项目应该算自己真正做过的项目吧(反对我的阿里面试帮助比较大)。
1 内推开始
我记得内推开始是在年前,南邮的一学长建了个内推群,一开始因为觉得自己能力有限,找工作被刷的可能性比较大,就没投。到了年后开学来了学校,想着先投了,觉得应该面试不会很快来,可以有段时间看书。因为觉得研发投的人会多,所以一开始投的系统工程师。
2简历评估面(2015.3.4)
没想到的是我上午在阿里招聘网站上完善完简历,下午4点左右电话就来了,是第一面。面试官很有亲和力,上来问我有没有时间。我说有的,面试就开始了,当时很紧张,因为完全没有准备,说话都颤抖。面试官让自我介绍一下,我就先把自己的大学来主要用的语言和项目稍微讲了一下。接着面试官让介绍项目,大概把项目和自己做的说了些,还是紧张中,面试官一直跟我说不要紧张,我们就是聊聊天。说完项目(机器人仿真),面试官就问我Java会什么,我说基础和集合框架用的多一点,API一般我用的是比赛的API。他就问我HashMap和HashSet的区别,包括实现,恰好去年网上看过一篇文章说的是这两个的区别与实现。所以这个很快答上来了。
接着他又问的是会不会Java线程,说怎么实现。我答完后他继续又问线程同步怎么实现,我说用synchronize,接着他问synchronized 的要怎么实现,当时一下子蒙了,我说给我半分钟想想,突然就想起来可以用队列的思想,大概把思路讲完,面试官说可以看成一种实现的方式。Java就面完了,接着问的是字符串问题,比较简单就是统计出现的字符个数,包括假如中文怎么办呢。问完后我先说中文可能会有编码问题,接着说用Hasp表就可以实现,把思路说完,包括遇到的冲突怎么避免,算法也就问了这么点。接着是计算机网络的三次握手。
基本问题回答完后,他说假如让你实现大文件断点续传功能怎么实现(数据比较大)。我先说了可以开多线程,服务器端可以分配变量记录上传的数量。后来他说数据大呢,我没想清楚,面试官很友好的说没事,可能问的难了,我给你提示把数据分块的。我立马想到了ARQ协议和数据块控制,把思路重新说了,包括差错控制和流量控制。一面面完感觉还可以,面试官跟我说是他研发的,这是比较高兴,本来最想做的就是研发。一面后大概十几分钟后上网站看状态,简历评估已过。
3 二面(2015.3.5)
我觉得初面是最令我害怕的一次,因为简历上写的专业的全称 软件工程(嵌入式软件人才培养)加上做的机器人仿真比赛,面试官第一句话就说你应该做的硬件呀,怎么还能过第一面。我解释了项目,忘解释专业。接着他让我介绍项目和自己做的部分,问了项目中遇到的最大问题接着问我擅长的方面,一般回答这样问题我会说我用的什么多,而不回答擅长。接着就问了Java的反射,线程,让我说一段实现一个用线程的小程序,说完后就开始问字符串问题,问的是从长长串中找子串,我说了普通方法和KMP算法。他说还有改进的吗,之前看算法不是很多,也就不会了,还能把毫不相关的最长公共子序列说进去,说完后发现不对,好在面试官没有继续问这些。接着问我会不会Java web ,我说只是看过JSP 和Servlet。面试官也就问了cookie和session的区别,最后一个问题是抓取一个类似百度指数的问题,说是数据加密,还有什么Flash,我说不会这些,面试官就说想法呢,我把思路说完,感觉面试官不是很满意。就说今天就到这,当时感觉不好。回去发现网站上系统工程师已回绝,但是出现了研发工程师面试中,而且是应届生,于是第二天找客服问了后,又变回研发了实习生了(其实本来最想投的也是研发)。到了下午改为面试通过。所以面试中有问题答不上来不要怕,说不定就过了。
4 三面(2015.3.13)
三面基本轻松,上来就项目,我说了十分钟,他简单问了些项目中的问题。接着问我擅长的,我还是说了我用Java多一点,面试官也没问Java问题,就给了一个算法题,说一个表达式里面有数字、四则运算和括号不知道他们顺序怎样求值。我说把表达式转成后缀表达式不就可以了吗,他说具体实现,我把算法说了,怎么进栈和进栈顺序,说完面试结束。三面比较快只有15分。
5 HR面(2015.3.15)
HR面比较简单,只是随便聊聊,一开始就问为什么不读研而选择工作,接着聊了我的比赛,主要是获奖,写代码过程,以及和队友相处啊,遇到问题怎么解决。回答这类问题的时候我都会先说是我们团队一起之类的话,其次问的就是你在网站上填的开放性问题。面试完10分钟后,我的简历状态变为待同意offer。
6 五面
待同意offer一周后简历状态变为面试中,这次就紧张的要死,等了两天终于等到了电话。也是问的我为什么不读研,接着聊项目,问我在团队中的的职责以及和其他人代码对比,恰好代码中有开源的代码,我就说我们几个主要成员写的代码质量都差不多,但跟开源的那些又有差别。接着问我会不会JVM和JMS,我说只是用过,就是不了解,知道他们是干什么的,面试官也就没问什么。又问Java的ssh会吗,我也是只说了他们的作用。最后面试官问的是我用过什么开源的东西,我说我们比赛里用的server是开源的还有项目代码里用过javolution的FastMap ,恰好那两天看到kryo这个框架,也写了些测试。面试后问了我的实习时间,面试结束。回去过了一会儿机简历变为待跟进状态,问了客服说没问题了,几天后收到录用喜报和意向书。
7 总结
总的来说,面试并没有想的那么难,运气也会占一部分。如果你技术不是很强很强,那你基础就要好,数据结构,计算机网络,操作系统,算法,数据库,都要会,个人觉得这些把课本知识学会就好,如果你学的扎实,到面试前用一到两个小时这些就可以看完,因为知道大概就好。其次还要有个项目,基本上能可以跟面试官扯扯的。还有方向问题,这个尽快决定,基本上面试选的你最擅长的。
正文完
最后有话要说:哈哈,我又来了,文章后面填上自己的个人的体会,小伙伴们有不同意见欢迎尽情在评论区吐槽啊!
从文章中看出来阿里淘宝的实习生面试可能主要是电话面试,对于电话面试,我有一个小建议和大家分享下啦,我曾经在《读者》看过一篇文章就是讲电话面试的,说很多人在接待电话面试时往往不会注意一些细节问题,因为面试官看不到你的状态,所以很多人往往很随意,但是往往对待电话面试也如同现场面试的那样的人才会在竞争中脱颖而出。不知道文章写得有没有科学依据,但是我觉得认真对待和随意对待的气场是不一样(并不是谈什么玄学哈),这种感觉就算是对方在电话那头也能够感受的到的。所以建议大家在面对电面时也要认真对待。
从学长写的这篇文章中,能看出来实习生的面试也不是很轻松的事情,一共面试了5次,而且每次面试都要等待考核结果。还有就是神速的效率,上午在网站上填写简历,下午就面试,对于我们这群学生而言能不紧张么…还好阿里的面试官都比较和善,而且明白了到什么时候都不要轻言放弃,很多事情争取就会有转机。学长文章中说二面发挥不是很好,虽然系统工程师被回绝了但是却得到了研发工程师的机会,并且也,没有影响后面的面试,这就很好,没有人不会犯错,及时调整就好了。
还有就是学长在最后提到的一些经验之谈,不要认为学校讲的那些基础理论课程没有用,只有编码能力最重要,其实两者都是我们的竞争力。
好了,这篇文章就分享到这里啦。
本系列文章:
学生党成功拿到阿里技术offer:面Java开发,却是C++考官,几个意思?
学生党如何拿到阿里技术offer:《阿里实习生面试经验(成功)》
学生党如何拿到阿里技术offer:《阿里面试经历-2014.4.18研发实习生面试经历(失败)》
学生党如何拿到阿里技术offer: 《阿里巴巴常考面试题及汇总答案(Java方向)上篇》
学生党如何拿到阿里技术offer: 《阿里巴巴常考面试题及汇总答案(Java方向)下篇》
学生党如何拿到阿里技术offer:《阿里面试(失败+成功)》
学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》
学生党如何拿到阿里技术offer:《阿里面试(失败)》
学生党如何拿到阿里技术offer:《阿里面试(成功)》