说一下结局,百度和阿里巴巴最后都给了我offer,虽然也蛮喜欢百度的,不过因为百度给的比较晚,而且也认识了很多一起要去阿里实习的朋友,所以我最后决定去阿里。
我应聘的职位是实习前端开发工程师。
腾讯
首先说一下腾讯,因为听说腾讯不要大二的,所以我就没有投。。。
阿里巴巴
然后说阿里,大概3月末的时候,在项目组工友的建议下,我决定去投一下阿里。网上简历是3月末投的,然后4月初的时候有在线笔试,答题时间是100分钟,你可以选择这两天内的任意一个时间段去答题。在线笔试题不是很难,基本就是布局,闭包,原型以及一些简单的算法。不过老实说时间稍微不太够。不过所幸最后还是通过了笔试。
后来就接到了阿里的面试邀请,4.24早上10.30开始面试。一面的面试官是b2b国际事业部的大大,叫致鼎(可能记错了也说不定)。二面的面试官叫清笃,是cnode社区的创始人,国内node的先驱。两个面试官都很和蔼,说话很风趣。
一面进行了大概60分钟,二面大概是100分钟。具体问的东西记得也不是很清楚,我写一点出来。
首先html的语义化,bfc之类的算是老生常谈的问题,也没什么问题。
然后又问到前端加载的优化。我说了expires头,max-age,mod-wxpires,gzip,缓存,cdn,样式表置顶,脚本置底。精简css和js,缓存ajax,雪碧图等。
然后问了我php的长连接,前端的获取方式。
js的this,闭包和原型链也拿了几道题出来让我做,不过这些都比较基础,没什么可说的。
另外因为我以前做过一个flappy bird,面试官还问了我具体游戏设计的细节,以及碰撞检测,问了我如果鸟是一个完全不规则的物体,那么怎么实现精确的碰撞检测。
看到我的简历上写了jquery,面试官也问了一下,jquery的on,bind和live的实现机制。
live的实现我当时不是很清楚,我回答了将事件委托给根节点,回去看了一下jq的源码发现是绑定到document。
然后聊了一下css3的各种api,并且问了我怎么做一个动态的太极图,只要知道了api做起来还是蛮简单的。
然后聊到了es5的各种函数,举了几个函数例子让我自己去实现,大部分都还好,但是Object.freeze这个函数我当时确实没辙。我只知道可以用闭包去做一个模拟,但是面试官表示还有其他的方式,所以我也就作罢。回去看了一下,应该是通过Object.defineProperties可以实现。并且问了use strict语法模式下和非此模式下的区别。
cmd和amd规范也说了一点,不过因为我基本没有自己应用过,所以没有深入交流下去。
除此之外还问了蛮多项目上的东西,这些都不详谈了。
总的来说,阿里的面试对前端比较着重,很考校基础。题目本身并不难。
百度
最后来说百度,其实百度是我最早投的,当时一度官网上显示我的简历筛选不通过。不过后来5月份的时候,阿里已经给了我口头offer的时候,百度打电话告诉我约我电面。我回去看了一下官网,结果变成了筛选通过。(所以各位同学。。。请不要相信百度官网的招聘状态)
百度总共只给了我进行了两次电面,然后就通知我拿到了offer。
百度面试我的效率还蛮高的,一面的电话打完以后不到一个小时二面的电话就打过来了。
不过百度的面试有点纠结,一面的时候问了我几个简单的布局方式,清除浮动,bfc,本地缓存,jquery,css3,avalon和angular,ajax,jsonp这些东西。。都很简单。。。
但是二面。。。。二面。。我在此说明一下,我应聘的是前端开发工程师!前端!。。。二面问了我服务器运营处理,多服务器管理,负载均衡,xss,csrf,sql注入,http服务,数据库设计,网站架构,大型的具有强大健壮性的系统架构及其设计。最后问了我一个快速排序以及时间复杂度,良好结尾。虽然结尾的算法很随意。。但是中途那都是些啥啊。。。我不是系统运维的啊。。。我一个普通的在校学生怎么会做那么多系统运维的工作啊,我是个前端啊前端。。。
其实二面我觉得我答得比较糟。不过最后还是给我offer了。对了,不管是阿里还是百度都问了我一部分关于团队协作的东西,这个也没什么,真的合作合作就知道了。
总结
恩。这次暑期实习应聘的结果私以为还是比较满意。在阿里的前端实习群里也认识了很多大牛,倍感压力。最后,希望自己能成为一个优秀的程序员,成为一个优秀的人。