原文地址:http://blog.sina.com.cn/s/blog_a144530d0101g6lb.html
今年有幸得到了师兄内推阿里暑期实习生的机会,非常感谢WZY师兄,岗位是前端开发,内推部门是淘宝UED。经历了两次电话面试,一次现场面(终面)。
一面:
第一面是技术面,面试官是淘宝UED的一位前端开发工程师,电话声音挺小的,名字没听清(小遗憾一下),不过声音很好听。
一开始,主要根据项目经历来问的,这里说明下我的项目经历:因为大连这个城市没有很像样的互联网公司,之前非常努力的想找前端开发方面的实习,最后在IBM做了两周的网页设计,在另一家小公司做了两个月的前端开发,但是感觉对自己的技术提升非常有限,于是都时间不长主动辞职了。后来为了弥补自己项目经历缺乏这块的缺陷,就组织发起身边的同学共同开发“以梦为马”职业生涯网站,临时访问链接:http://korbin.hk128.lfidc.net)。主要问题:谈谈自己的项目经历,为什么要开发这款网站,这款网站的用途是什么,项目中遇到的问题等等。
后来问是不是主要使用jquery来开发的,我回答主要是用原生JS,因为出于先打好基础的考虑出发,一开始全部使用原生JS,目前逐步在使用Jquery替换,于是后面的问题就主要围绕原生JS来问,例如事件处理程序、Ajax、跨域、闭包等(这些在《JavaScript高级程序教程》一书中都能找到答案)。后来问了一些网站优化问题(答案请参考“雅虎网站优化35条”),最后就是有什么问题问他(常规问题,基本每次面试都会问)。
最后挂电话之前又追问了一个CSS hack问题(浮动清理问题)。总体答的感觉还不错,面试历时50分钟左右。
这样淘宝UED第一次面试就愉快的结束了,大约过了不到10分钟,在阿里巴巴招聘官网上查自己的状态已经变为“初面通过”。
二面:
2014年4月1日,愚人节,下午3点半接到淘宝UED第二次电话面试,历时48分钟,面试官淘宝技术负责人小马(大家参加面试前一定要对自己面试部门的老大有一定了解才行啊)。这次面试本以为还是技术面,所以之前一直在准备各种技术问题。没想到这次主要问的都是些开放性问题,重点考察你的逻辑思维能力、表达沟通能力。
好了,来说说面试过程。首先问看我简历主要的项目经历就是“以梦为马”的网站,就问我名字是谁取的,我说是我取的。
小马:能给我解释下“以梦为马”的含义吗?
答:我觉得用这句话的英文字面意思来解释最合适不过了,这句话的英文是“Run With The Dream”,意思就是“带着梦想奔跑”,就是说人一定要有梦想,有自己的方向并且还要不断努力,奔跑着去追寻自己的梦想。
小马:你知道“以梦为马”是海子的一首诗吗?你是不是特别喜欢海子,是不是特别喜欢读诗?(相当震惊,作为一个前端工程师的小马,居然知道海子的诗,很是佩服。看来做技术一样可以文艺范儿!)
答:当然知道,海子是我非常喜欢的一首诗。很喜欢这种小清新的文艺范儿,平时看到会留意一下,到没有特别的说很喜欢读诗。
小马:你能再给我说几句印象深刻的诗或者话吗?
答:(当时大脑一片空白,平时那些非常有感觉的句子居然一时想不起来,囧死了)想了挺久,说出几句,最后补充了一句自己一直坚信的感觉挺有哲理的话:“RP守恒定律:每个人的RP值都是一定的,如果你觉得现在的自己生不逢时、运气不好,那是因为你坚持的还不够久。坚持下去,你总有RP爆发的一天。”(这话是不是有点罗嗦了。。)
小马:你比较熟悉的技术是什么?(当时心中一阵宽慰,终于问技术了)
答:比较熟悉的是JS,还有网站优化啥的也挺熟的
后面就一片混乱了,小马话锋一转,居然没问技术。
小马:目前的团队一共9人是吧?几个人做前端,几个人做后端?
答:对,一共9人,6个人做前端。因为觉得作为一个合格的前端开发工程师应该对后端也要有充分的了解,所以前后端我们是一起做的。
小马:团队内部是如何分工的?
答:对后端比较熟的就做一些和后端有关联有交互的功能;对后端笔试很熟的就做一些单纯的前端效果。
小马:项目中遇到的最大的问题是什么?
答:(因为之前一直在准备技术方面的问题,所以这块答的有点混乱,想了一下答道)主要是因为团队内部大部分都处于前端学习刚刚起步阶段,每个人的技术水平,熟悉的东西都不太一样,因此在布置任务的时候,对于每个人分配那些任务,以及具体能够在什么时间完成,一开始没有清晰的把握。
小马:那是怎么解决的呢?
答:主要有两个解决措施:1. 先将任务分解成若干个小任务,让每位成员根据自己的技术能力去自己选择任务;2.不定时进行技术交流、技术培训,让大家的技术都得到稳步提升。
小马:为什么不考虑使用框架?而使用原生JS?
答:因为觉得作为一个合格的前端开发工程师,必须把基础打得足够坚实,所以一开始就统一大家使用原生JS来写。。(还没说完,被打断)
小马:这是不冲突的。现在市面上有很多现成的网站搭建系统,为什么要一开始就用ThinkPHP自己写呢?
答:我觉得一个合格的前端工程师,后端也要充分的了解。。(再次被打断)
小马:这是不冲突的,利用现成的东西还可以很大的提高效率。你在简历上写的对前端非常的热爱对吧?
答:对,非常热爱
小马:那你觉得什么能够体现你对前端的热爱?
答:我觉得最能够体现我的热爱的就是我的这个网站。在开发过程中,熬夜到两三点都是非常经常的现象。比如在网站开发过程中,使用富文本编辑器编辑的文章存入数据库,在读取到前端页面后,出现乱码问题,当时研究了好久,一直没解决,晚上睡不踏实,中间甚至有几次半夜有思路,凌晨2、3点爬起来就尝试。后来发现是转义反转义问题。就尝试了一下,将数据库中取出的数据进行了反转义处理,后来就显示正常了。(当时头脑混乱,回答的有点败笔了,其实这个问题出现到解决历时确实是两天,但是白天的时候一直在忙其他的事情,只不过是中间脑子里突然有点思路的就去尝试一下去解决这个问题,而不是说几天啥都没干,就是为了去解决这个问题。。由此可见,面试的时候头脑清楚,表达清晰有多重要。。)
小马:你花了这么长时间,就解决了一个问题?
答:因为当时对php不太熟悉,所以花的时间稍微长了点
小马:你一开始不是说团队里有对PHP比较熟的人吗?
答:对啊,我就是对PHP比较熟的人之一。熟悉也是一个从不熟悉到熟悉的过程,这个问题大约是去年12月份出现的,当时自己对PHP还没有那么熟。(瞬间觉得自己好水)
小马:那如果再让你解决类似的问题,你有什么更快的解决方式。
答:首先我会分析。。(被强势打断)
小马:不要分析,我只要答案。。(当时有点发懵,之前一直被灌输的是面试官关注的不是你回答问题的结果,而是你思考问题的方式。果然每个面试官关注的点不太一样,呜~)
答:(顿时卡住,略加思索)我会使用Firefox自带的调试工具,查看源码,如果发现文字前面都加油斜杠(),则代表文章是经过转义过的,此时对从数据库中取出的文章进行反转义操作即可。
小马:我的问题基本就这些了,你有什么问题问我吗?
答:我希望能够得到不断的指导,使自己不断成长。能请您对我进行一个评价吗?
小马:除了这个问题,还有什么问题吗?
答:我想问下咱们部门会使用Html5、CSS3这种新技术吗?
小马:有些项目的目标人群比较高端,那么会比较少考虑低级版本的浏览器,在这种情况下会使用HTML5、CSS3。如果你没有其他问题,我来回答你第一个问题。我说话比较值,就说说你这次面试的两个问题吧!首先,表达有些啰嗦,我问你问题,只是需要你直接了当的给出答案,不是你的分析过程;另外,作为一名在校的学生,没有公司条条框框的限制,应该更加敢于去尝试各种新技术,但是你现在网站所使用的技术都是特别陈旧的技术,不仅不能给你加分,反而会起到适得其反的结果。
面试大约结束10分钟之内,查看阿里巴巴招聘官网状态为“终面待定”,一阵忐忑,确实因为准备不足,没有充分表现自己的优势和对前端的热爱。
总结下二面吧!小马大神提出的问题确实是我之前没有考虑过的,对于之后的前端开发学习之路确实有很重要的指导作用。
首先,第一个问题,因为在之前前辈的灌输之中,对于大多数的面试来说,面试官最在意的是你的思路,而非答案。而对于技术岗来说,技术人员可能希望得到的是最快的找到解决方案,而具体的思路反而不是他们关注的焦点。对于这个问题,我们在之后的技术面中,可以先直截了当的给出问题的答案,再具体说自己的思路,这样就不会出现因为面试官不耐烦听你的思路,而打断你继续问下一个问题,使你的答案没有机会说出的问题。
其次,对于第二个问题,因为不是科班出身,又因为前段学习的开始的时间较晚,而且在网站的前期开发中,在后台功能实现上花费了过多的精力,使得自己的前端各种新技术、各种框架上的专注不够,积淀的不够,使得在面试中没法更好的打动面试官。
这两点都是自己需要提升的地方,很感谢这次得到小马大神面试的机会,使自己认识到很多不足,同时也坚定了自己更加深入学习前端各种新技术、框架的决心和激情。
终面(现场面):
二面结束之后,就是长达10多天的焦急等待,中间反复查看状态,发现状态由“终面待定”变为“终面通过”,几天后状态又变为“面试已完成”。由于没有得到官方对状态的解释,中间各种忐忑。
终于于2014年4月16日,和其他走正常路线的童鞋一起收到现场面的通知,时间定于2014年4月24日上午10点。
在等待过程中,又接到了腾讯、百度以及另外一两家小企业的面试,并且在网上看了很多关于今年阿里实习生面试的坎坷经历。或许是因为经历的面试确实多了,当天阿里现场面的上午自己变得异常淡定。
9点55分赶到面试现场,看到现场零零星星几个人在等待面试,过去前台递交了自己的简历,并且特别强调了下自己已经经过了两次面试(这里是担心会被拉去重新把现场三面再走一遍,因为在网上看到有人电面了4次,后来又被现场面了3次,后来还被刷了。。)。还好,后来接待人员直接说:“哦,终面,带去见玉伯。”心中顿时一块石头落地,而且一听这么熟悉的名字——玉伯,顿时反应到是个阿里大牛。
然后,被现场工作人员带到隔壁房间,里面有两张桌子,右边一个面试官,左边两个面试官。当时意识到估计正式流程就一次初面,一次终面了。我被带到左边那张桌子,桌子上的卡纸上写着“玉伯”两个大字,在看面试官一副其貌不扬的样子,却面带微笑让我坐下,顿时感觉自己一点紧张感都没有。玉伯大牛旁边坐着一个HR,玉伯和HR都极具亲和力,一句话没说就感觉有一种莫名的亲切感。玉伯全程保持淡淡的微笑,使得我的面试全程也异常放松。
首先,玉伯大神发问,先做个自我介绍吧!然后常规的自我介绍。
玉伯:给我介绍你们的网站主要是做什么的吧!(这个过程玉伯拿到我简历,然后在电脑上敲些什么,后来又把电脑合上了。估计是想登陆我们的网站看看,后来因为网速比较慢,没打开,所幸就不看了)
答:这个网站是一个基于职业生涯纪录分享为主题的网站,主要是面向职场人士和在校大学生的,他们可以在“以梦为马”网站上纪录分享自己的职业生涯道路、求职准备之路,也可以通过这个网站了解到其他行业、其他岗位,为他们提供一个进行职业规划的平台。
玉伯:这个网站开发了多久?
答:大概半年吧
玉伯:你在网站开发中主要扮演的角色?
答:发起人、领导者,主要开发者。
玉伯:团队中的人员角色分配?
答:6个开发人员,3个产品人员。
玉伯:你现在在网站开发中主要思考的问题是什么?(类似的一个问题,忘记具体怎么问的了)
答:现在的主要JS功能都能实现,不过随着代码越写越多,代码就显得越来越乱。我现在主要思考的是类似于网站系统设计、模块化这类的问题。比如说,随着网站代码越写越多,就出现了命名空间、文件依赖这种问题。
玉伯:那解决方案是什么?
答:解决这种问题可以用sea.js框架。(回来一搜,才发现sea.js框架就是玉伯大神开发的。玉伯大神,原谅我吧,当时居然不知道,有眼不识泰山了)
玉伯:现在有具体使用吗?
答:暂时还没有。因为这也是我最近面试过程中面试官问到的一个问题,我后来想了一下,确实是一个很严重的问题,然后就开始找解决方案,最近才刚开始研究sea.js,还没具体应用。
玉伯:你为什么会选择前端开发?为什么不选择IOS、安卓之类的开发?
答:我不太喜欢IOS、安卓这种不能跨平台的东西,我之前其实参与开发过一个安卓应用,当时我装安卓的开发环境就差不多用了2、3天时间,特别麻烦,很不喜欢。而且,类似安卓、IOS这种系统,说不定什么时候就被其他平台给替代了,所以我更喜欢跨平台的前端开发这种东西。
玉伯:你在项目中写的最长的一段代码是什么?
答:最长的一段代码,就是基于Ajax的评论功能。。。blabla。。。(没说完,玉伯打断)
玉伯:除了Ajax,你了解像JSONP这种跨域的方式?
答:了解,我知道除了JSONP还有图像Ping,Comet之类的方式
玉伯:图像ping?(一脸诧异,好像没听过这个方法一样)能给我解释一下吗?
答:blabla。。。(稍作解释,然后说了下和JSONP的不同)
玉伯:你知道通过XHR实现的这种跨域方式吗?
答:您是说CORS方式吗?
玉伯:(重新拼了一下)CORS,对
答:知道。。blabla。。。
玉伯:那为什么要有CORS这种方式?
答:刚开始跨域并没有标准的 方法去实现,程序员就使用了像JSONP这种方式来实现。然后官方为了支持跨域,就实现了CORS方式
玉伯:CORS方式是标准的官方方式
答:应该是吧
玉伯:那CORS和JSONP最大的不同是什么?
答:(想了会儿,没答上来)
玉伯:你对PHP、Java之类的有一定了解吧?
答:对,这些都有了解,一开始学习的就是Java。
玉伯:可以达到什么水品?
答:熟练吧。看算法什么的还行。(有点犯抽)
玉伯:那Java里面的String类型和String**类型的区别是什么?
答:不好意思,太久没碰Java,这段时间主要是在看JS,所以这块有点忘了
玉伯:除了这个网站,还有什么项目经验或者实习经历吗?(这块确实是我的弱项)
答:之前很努力额想在大连招前端类的实习,也在两个公司做个一段时间,比如在IBM在了两个星期,在另一个企业做了两个月,但是感觉对自己技术提升不大。后来,实在没办法,所幸和同学一起做自己的网站。所以现在特别希望进入阿里,能够真正体验公司的那种真实项目环境。
玉伯:谈下你对前端的理解,为什么选择前端?
答:前端开发是产品在用户面前的最直接的体现,对用户体验和产品的成功有非常重要的影响,。。blabla。。
玉伯:你觉得前端的前途怎么样?(类似的一个问题,具体怎么问的忘了)
答:我觉得前端的未来非常有前途。像webapp这种应用才刚刚开始,而且我最近刚看了一篇文章是写“单页应用”的,是通过Ajax实现页面的局部刷新,这样就不用每次都把一些JS、CSS、图片等文件进行重复加载,很大程度上提高网页应用的用户体验和交互上的效果。再加上本地存储的一些东西,就和webapp差不多了。
玉伯:除了阿里,还投了那些公司?有投腾讯、百度这些企业吗?
答:当然是有投的,因为毕竟很想进入这个行业。都投的话,机会会大一些。腾讯、百度最近都刚刚面过。
玉伯:觉得BAT三家企业中,前端发挥的作用有什么不同?
答:感觉百度的前端发挥的作用稍微大一些(有点犯晕,面试太多面串了,这一刻怎么感觉自己在面百度,幸好这个问题还没回答完就缓过神来了),因为百度还是主要以搜索为主,而搜索的话,现在主要依靠的平台还是网页,无论是PC端还是移动端。腾讯主要是一些移动应用,像微信、QQ之类的客户端,前端发挥的作用貌似小些。阿里还好,毕竟有淘宝、天猫这种大的平台,不过阿里现在也在推广想手机淘宝之类的客户端。所以感觉百度那块发挥的作用稍微大些。
玉伯:其实在客户端应用者也用到很多html5之类的技术,像facebook、ebay之类的客户端应用,之前用过一段时间的HTML5在移动客户端中,后来效果不好撤出去了,不过现在又开始重新使用html5。你回去可以了解一下。
答:嗯,回去一定好好了解了解。
玉伯:有什么问题问我吗?
答:我知道阿里现在主要在用的框架是Kissy,我想问下阿里自己研发自己的框架的考虑是什么?和其他框架的主要区别是什么?(汗啊,又有眼不识泰山了)
玉伯:(一个不好意思的微笑)这个恰好是我开发的,blabla。。。
答:我还有一个问题,如果有幸进入阿里的话,我主要做的事情或者项目会是什么?
玉伯:主要看具体业务吧,blabla。。
这时,玉伯看了一眼旁边的美女HR,美女HR正式发问(美女HR全程微笑,心都被熔化了)
HR:现在网速挺慢的,看不了你的网站。不过之前休息的时候看了一眼你做的网站,感觉挺好的
答:(内心开心死了,我们的努力又一次得到肯定,哈哈)
HR:你眼中BAT三家有什么不同?
答:百度重技术,腾讯重产品,阿里重商业。不过,三家现在也越来越同质化了,通过并购、业务拓展等,让自己业务覆盖的范围越来越大,从而降低自己的风险。。blabla。。
HR:最近有听到阿里的什么绯闻吗?
答:余额宝。。blabla。。
HR:你是站在阿里这边的吗?
答:当然,谁都会对垄断有天然的反感。。bla。。
HR:你觉得阿里和四大行直接的主要纠结点是什么?
答:利益。。bla。。
HR:你觉得阿里会赢吗?
答:我觉得这不是一个零和游戏,肯定能找到一个双赢的方法。毕竟真正的生意是把蛋糕越做越大,而不是围绕现有的这块蛋糕整个你死我活。。blabla。。
HR:你最近看过什么书吗?那本对你影响最大?
答:最近主要是看技术类的书,本科的时候读过一本叫做《重新发现社会》的书,作者是熊培云,南开大学的一位教授。这本书主要是讲社会和国家的区别,让我对社会和国家都有了更加清醒的认识。
HR:这本书对你改变大吗?
答:我觉得非常大,其实之前我自己有点愤青。会特别的有一种被爱国主义控制的的感觉。。bla。。
HR:愤青不是应该更加的崇洋媚外吗?(类似的表达,具体怎么说的忘了)
答:我那种愤青是特别热爱军事,脑子里各种爱国的念头。不过这本书让我认识到国家只不过是服务老百姓的一个工具,一个社会最佳的状态应该是每个人都会追求自己的利益最大化,但是因为没有规则、制度的存在,每个人追求自身利益的同时,却又能带来整个社会的利益最大化。而不是每个人都怀着爱国主义的情绪,最后被控制着做些不理智的行为,最后让某些人的利益最大化。。bla。。
HR:我也听过以为老教授的讲座,按他的理论,唯一的出路就是出国
答:我觉得这肯定是不对的。其实我觉得中国的现状挺好的。一个国家如果处于上升期,那么相对集权一点的制度会让整个社会的效率更高,虽然每个人在整个蛋糕中所占的比例有很大差别,但是因为这个蛋糕在不断变大,那么再乘以每个人的比例,每个人都会获得更多的好处。当中国发展到一个比较高的水平时,比如像西方发达国家一样发达的时候,发展速度降下来,进入一个平稳期。那么公平就变得更加主要,这个时候就必须实现平等、自由。好在中央其实已经意识到这一点,习总上台后的很多措施我感觉挺好的。。blabla。。
HR:就是说对习总的政策还是挺认同的呗?
答:对
然后HR让我推荐我们班优秀的但是没来参加面试的童鞋,推荐了两个,在写号码的时候,HR看到我的米3,说了句“又是小米”,看来前面那哥们也是小米手机。我顺嘴说了句“对,挺喜欢这家公司的”,然后HR问“那你有投小米吗?” 我答“小米好像没招前端吧”(冷汗啊,应该说即使招,也会选择阿里的)
HR:现在的年轻人毕业后主要的去向都是哪里?出国?去我们这样的公司?还是公务员?
答:我身边出国的挺少的。。bla。。,一般选择公务员的都是女生或者家庭条件很好的男生,公务员其实未来面临很大的风险,政策的不确定性。。bla。。,大部分人还是会选择阿里这种公司。。
HR:(好像突然想到什么)最后一个问题,你有女朋友吗?
答:没有
终面总结:
彻底被阿里折服了,玉伯和美女HR非常有亲和力,整个实习面试经历中目前最开心的一次面试经历。一次面试确实让我见识增长不少,也见识到什么叫“奢华的低调”,希望能有更多见识到大牛,和大牛深入交流的机会。
最后:
以上经历通过回忆整理而成,可能有些遗失的地方,后边如果有想到再继续补充上来。
通过三轮面试,见识到企业真正想要的人需要的状态,也意识到自己有很多需要提升的地方。再过大约不到一周的时间,应该结果就会最终出来。不敢抱太多希望能过,不过非常感激上天给我这么难得的一次成长的机会,让我了解到自己很多的不足和下一步该努力的地方。
希望我和我的小伙伴们都能在实习季找到自己满意的实习,也希望所有“以梦为马”小伙伴们,能够共同努力把“以梦为马”职业生涯网站越做越好,最终再真正解决很多职场人、求职者需求的同时,每个人找到一份高大上的工作。
最后的最后,“以梦为马,圆梦2014”。