阿里巴巴2015暑期实习经历(吐血整理)

一直以来对阿里充满向往之情,感觉那里就是Javaer的天堂(好吧,我被洗脑了~),也一直希望在那样一个工程师文化的环境下工作,这次暑期实习招聘也终于圆了我一个梦。在面试的前前后后也看了不少面经和笔经,非常感谢那些人的无私分享,所以我也想分享点什么给大家(当然也希望为自己9月份校招时攒点rp吧~^_^~),全文较长,见谅。

面试渠道:内推

每年的春节其实过得都不是很开心,实在适应不了走(hu)亲(chi)访(hai)友(he)的喧嚣,2015年春节在家安安静静地带了一段时间熊孩子后,就滚回学校了。带回去的两本书(算法和设计模式)一点没看,惭愧!

回到学校没过几天,一个师兄和我说,阿里巴巴在招暑期实习生,如果有意愿可以帮忙内推。一开始其实也只是抱着试试看,赚赚经验的想法,于是就投了,当天晚上就收到短信通知注册简历。说实话,我的简历没有什么优势的地方,不是985,项目经历也很low,本科和研究生还都是管理学院的,投完心里还是很没底的。

紧张、尴尬、后悔的第一轮面试

第二天照常在实验室看(da)文(jiang)献(you),原以为阿里会过几天才会打电话过来,我还有时间准备准备。谁知道阿里效率那么高,当天下午就打电话来了。我拿起电话看是杭州的,一时间蒙了(说实话好久没面试,真的脸生)。电话那头是个很nice(我猜肯定是^_^)的面试官jj,她很亲切地说,她是阿里巴巴的,问我有没有时间面试,我当时一点准备都没有,只好说,”我现在要去吃晚饭,等我吃完再面可以吗?”,说完我就后悔了,哪有让面试官等的(建议大家以后不要这样显得很没有礼貌,而且让面试官认为你不自信)。

面试官jj很nice的说“好的”。于是,我没去吃饭,赶紧打开网页找一些面试题,希望速补下。一个小时之后,战斗开始了。

面试官jj:“简单介绍下自己”。

我:“好的,我是XXX,我本科和研究生。。。。。”(紧张的语无伦次,最后还来句我是党员,把面试官jj逗笑了)

面试官:“做过哪些项目,能介绍下吗?”“印象最深的是哪个?”

我:balabala。。。(其实这部分是每次面试必问的,应试者一定要对自己做的项目理解很深,记住“很”“深”)

面试官:“你java基础怎么样?我了解下吧”

我:。。

“说说String、StringBuffer、StringBuilder的区别“

”看过哪些源码?Object类里有哪些方法?hashcode、equals和==之间的区别“

“classloader加载机制,是否可以自己定义一个java.lang.String类,为什么?”

“你知道哪几种创建线程类的方法(其实有好多,框架答出来肯定加分)“

”数组与链表的相同点和不同点,为什么?“

”简述一下List、Set、Map的区别 “

”说出ArrayList,Vector, LinkedList的存储性能和特性“

”对象序列化机制    Java 的序列化做什么用的 序列化id会出现哪些问题?”

“TCP、UDP,握手协议?”“Session, Cookie区别?时效?与浏览器有关?”

“hibernate和ibatis区别?”“设计模式?”

接着面试官又开始问算法,这里答得太差,我就不丢人现眼了。。。

说实话,每个问题答得都比较差,都是答得很浅,后来仔细复习了下才发现里面有很多深入的问题,尴尬!面试官jj估计实在无语了:”你还有什么问题要问我的吗?“

我对于前面的算法耿耿于怀,而且也实在是没系统学过,就问她”为什么各大互联网公司都问算法啊?“

面试官jj很语重心长地说:”其实你之前项目也提到了算法,项目中也用到了算法,你觉得现在的互联网公司哪家不需要算法?你们会算法其实是很加分的,而且一般人都会算法,基本的你总得会吧?“随后我惭愧的五体投地,就连连说”耽误你时间了,实在不好意思“(我都不知道她为了面试我,吃没吃晚饭。。。)

面试官jj笑着说”没事没事“,然后就愉(wu)快(yu)地挂了电话。我心里很失落地回到实验室,看着简历状态,还是面试中,不知道是什么意思(后来才知道就是没挂)。

第二天,由于昨晚面试的失利,我就准备把那些不会的认真准备下。谁知道早上十点多钟,杭州又来了个电话,这次是个面试官GG,也很nice!可能是男性的原因,这次就直奔主题,说”给我说说你的XXX项目,你做了什么,遇到什么问题,怎么解决的?“然后我就balabala,主要说的是一个和小伙伴两个人接的外包项目。

面试官gg:”这个项目有什么亮点?你觉得对你而言,最大的难题是什么“

说实话,其实真没什么亮点,当时就后悔说这个项目了,只能硬着头皮讲,”我们遇到了客户需求不断变更的问题,很头痛。。然后我们怎么怎么解决。。。“

面试官GG点点头:”嗯,那你给我说说软件开发的过程,生命周期“

书上的知识太死,也记不住,我就结合实际给他讲了讲。面试官GG貌似知道这些项目确实是我自己做的,感觉对我业务层的能力比较满意,又开始问java基础,这次扩散开来问了,比较深,我这里列出一些相关的问题。

“HashMap 、Hashtable和 HashSet的区别?哪个key可以为空?HashMap的内部实现机制,Hash是怎样实现的,什么时候ReHash”

集合加锁?那synchronized与static synchronized 的区别?

web设计中forward() 与redirect()的区别?url怎么保存?参数怎么传递?

Tomcat的session共享机制 ?Tomcat优先加载什么库?为什么?

struts2的实现原理/springmvc流程,两者区别?

servlet/filter作用、原理、区别?

项目中都用到了哪些设计模式?怎么用的?为什么用这个?

其实大部分问题我都答到了,但是还是答得很浅,一问为什么就蒙了。然后就轮到我问了,当时心情很低落,以为没戏,就想着,买卖不成仁义在嘛,就问”你觉得我怎么样啊?可不可以指出我的不足,与你们要求的差距,我希望以后校招还有机会面试alibaba。。“。

不知道为什么,面试官GG很赞赏地说”你这个问题问的很好!“,然后语重心长地和我说”其实你的项目经历没什么难点,但比较丰富而且是你自己独立完成的,不像某些实验室的人啃老,对于应届生而言这是个亮点。你技术的基础是有的,但是深度和广度不够!不过你们应届生大部分都这样,希望你以后把技术打扎实点,然后学的再深入点。“然后居然问我”什么时候可以来实习,还要我关注下移动互联网的发展“(这是在帮我啊,后面会说到!)。于是就愉快地挂了电话,我回去查看状态,还是面试中。

下午两点,我还在睡觉,一个显示”杭州“的电话打了过来!天啊!要不要效率这么高!我刚面完,还没睡醒呢!,立马从桌子上爬起来,接通电话。还是个面试官GG,感觉是个leader,一开始问了些基本情况,估计是为了缓解我的紧张情绪。然后开始,”你说你是管理学院的,你怎么想到搞开发?在你们学院,开发是个什么地位?“

我就实话实说,”其实我们主要搞理论,开发只是辅助,一般都只是做样子,都不是专业课,只是我对技术比较感兴趣。。。so。“

接着又问”那你知道测试吗?平时测试过吗?怎么测试的?知道哪些测试方法?什么是QA“。。我被吓蒙了,我是研发,不是测试啊。。。。我说”我知道压力测试,黑白盒,但是具体的原理不怎么清楚,QA是吞吐量?“

面试官GG无语,”嗯(骗人!),那吞吐量大还是小好呢?“

我说,”大“,他沉默了一会,”你平时写过哪些程序,代码行?给老师干什么活?“我说,平时没统计过,不过肯定不少啊,比如balabala。。

然后他又问:”我看你专业方向是云计算,你对大数据怎么看?搞过哪些云计算的东西?Hbase与传统数据库的区别?与Hive呢?“

我心虚了,其实云计算的研究方向是老板定的,而且实验室从来没搞过云计算,就是提概念,毕竟中国嘛,坑啊。不过还好我平时玩过一点,就说”我玩过私有云,用的是cloudstack,不是很多公司用的openstack。为什么呢?因为cloudstack是java编写的,部署和安装简单,balabala。。“

好在我机智,面试官对这个估计也不是很清楚,也就没多问,就说”嗯,那你怎么看移动互联网的发展“

我心想,完了!我上午刚面完,还没来得及查呢!后悔没认真听中午那个面试官GG的提醒,只能硬着头皮上了,瞎扯了一会,实在扯不下去了,面试官也不忍听了,说,”嗯,我知道了“。然后就和我说他们部门是干什么的。。。。最后问我还有什么要问的,我同样重复了上午的问题,他就说”技术的深度和广度要加强(估计看了前面的评语),同时你需要多关注新技术和互联网行业的发展“。

我点头说”嗯,我会努力的“。都这个时候了,还不努力!,然后我灵机一动,突然问到”那我后面还有面试吗?还有几轮“(我以为他是hr,看来我还是很年轻啊!)。面试官说”我们对研究生要求比较高,希望你后面好好准备,如果你能都通关的话,你后面应该还有三轮面试“我一听,心里很开心啊,至少听他的意思是愿意让我过的,哈哈!总之这一面就是,有点后悔,中午不应该趴会的,应该听前面那个GG的话,看看移动互联网!(云+端+百川计划,IT--》DT等)

回去一看,简历状态,初轮通过!第一轮面试时间:42min+55min+20min。

焦急的第二轮面试

有了前面的教训,之后每天都早睡早起(11点睡,7点起,以前太堕落了啊),不断地看基础,看源码,希望做到基础扎实。期间等了将近一个礼拜,很焦急,不断地有人拿到offer,心里不是个滋味啊,果然还是自己技术渣了点啊!以后要好好学,不然这罪真不好受!终于一个礼拜后,迎来了终面。

终面面试官给我的感觉是很幽默,很乐观。其实面试过程主要就问了一个核心问题”敏感词过滤“(吐槽一下,面试官为了让我听懂,说什么Twitter,奥巴马,拦截啥的,我还真被绕晕了,直接说敏感词过滤还好点)。其实我数据结构和算法真的很差,我说用B树结构存储再查找,因为B树广泛地用在了数据库索引方面,我以为这样也行,反正扯了半天,后来实在说不下去了,我就说”我是管理学院的,我没系统学过数据结构和算法,平时就用到什么看什么,真的很不好意思,我这个不会“(其实这么说不好,不会的话,尽量多想想思路,面试官应该很注重我们的思路)。后面面试官gg也没为难我,就随意聊了些东西,聊得还比较投机,然后就结束了通话。

全程28分钟,我觉得我走到头了,也没什么遗憾,毕竟这一个礼拜学了很多东西,扎实了很多,收获巨大。谁知道回去一看!居然过了!My God! Nice啊!

机智的hr面

这一面同样等了近一个礼拜,眼看截止日期快到了,心想不能这样,为什么我还没hr面呢!一天早上动了动脑筋,一般的系统查询数据显示数据都有个默认排序。那阿里这个简历会不会也有个默认显示顺序呢?按时间顺序?简历的新旧程度?然后我看到官网上有个简历更新时间一栏,心想这一栏干嘛的?难道按这个排序?于是我更新了下简历,更新时间立马改成了当前日期。其实我也就抱着无聊试试看的心态,谁知道不到1个小时!!!!hr居然给我打电话了你敢信!预约下午2点面试!oh,my god!是我太机(zi)智(lian)了吗?于是我中午没睡,开始看阿里hr一般问什么,当然对于”六脉神剑“这类企业文化很早就知道,主要看hr会不会问些变态的智力题。结果。。。。大失所望啊。。。阿里hr太机智了,全程没问我优缺点,没问我成功失败的事,就抓着我项目问。。。抓着我大学经历问。。。哎,,,白准备了(开个玩笑)。。。(期间由于前面面试官没有问我数据库和linux的知识,我也主动向hr姐姐传达了,其实我会这些知识,也经常用),总体感觉hr还是比较满意的。最后hr说”你的专业和技能与我们的要求还有点差距,但是你给我的整体感觉还是不错的,你耐心的等通知吧,我们需要和技术主管商量下,才能决定给不给你offer“。我听到之后,当时心就凉了一大截,也是,人家招人不能全靠激情,学习能力、潜力,现有能力还是很重要的,不然谁给他工作呢!不过我们还是很愉快地say goodbye了!全程45min(hr面时间太长了)。

等了两天,期间联系了下那位nice的hr姐姐,还加了来玩号,她很耐心很负责任地帮我查了下进度(之前系统一直是”待确认面试结果“),查完之后变成了”待跟进offer“。那一刻,心里真是说不出来的滋味。这半个月,确实过的很辛苦,但也收获巨大。很感谢阿里巴巴,感谢一路走过来结识的朋友们。彼此之间的鼓励,经验的交流和分享真的让我感觉,工程师真的是一群伟大、善良、有梦想、有坚持的人!一位阿里的师兄鼓励我说,“哪怕失败了,也要自强不息!”。

面试过程中看的资料

《深入分析java web》(徐令波著,这本书个人感觉真的不错)、《Thinking in java》(其实这本书很多人夸,但个人感觉真的不适合新手,翻译的比较晦涩)、《疯狂java讲义》(这本书真心不错!)

最后阿里的那句话,送给大家,与君共勉!

”梦想还是要有的,万一实现了呢!“

你可能感兴趣的:(阿里巴巴暑期实习,面试,招聘,经验交流分享,java,面试&笔试经历)