前几天收到一封百度发来的邮件,大意是说招实习生。浏览了一下岗位,只有 FE(前端,Front End)比较熟,就拿了以前的一份简历改了改投过去了,结果第二天就通知面试(完全不给准备的时间啊)。面试的地点是百度奎科大厦,上地那边。下面具体讲讲面试的细节吧,想必也是大家比较关心的。
笔试
10 道 JS 题,10道 HTML/CSS题,可以选做,一个小时的时间。
具体题目内容和网上流传的各种前端面试题都差不多,下面罗列几个我当时没答上来的:
请简述 JavaScript 事件模型(很重要,建议掌握,后续两轮面试都问到了)
Ajax如何跨域,有几种方法(当时只写了一个 JSONP,但是具体的原理的确没摸懂)
用 js 和 jquery 创建一个 table(虽然写出来了,但是不清楚这个问题有什么深意)
简述css盒模型(当时一哆嗦把 border 和 padding 的顺序写反了)
写一个左边定宽,右边自动扩展的网页布局
笔试完了之后会等一会儿,然后有人来跟你一对一面试。
一面
一面的时候是一个很和蔼的哥们,跟我第一句话是“你答的不错”……然后就开始聊天,问到了包括不限于以下内容:
display 有哪几种值,分别是什么意思
text-decoration 分别有哪几种值
常见的浏览器兼容性问题有哪些
什么是 JS 事件冒泡
你知道的 CSS Hack 有哪些
会不会 SEO
怎么增加页面的加载速度
一面完让坐那儿等着,等了一会儿 HR 说让先去吃饭,吃完饭回来准备二面。
二面
二面的哥们一看就是大师级别的,眼神犀利,发型凌乱,寒气逼人。
坐下来之后先让我自我介绍了以下,然后就开始问我做过哪些项目,有没有读过什么项目的源码……我就老老实实的说没读过,只是会用。然后他看了我的笔试题,说“讲讲 JavaScript 事件模型”吧……(一面后手机查了一下快速补充了点知识)然后我就开始把刚才看的那点东西全部抖出来,不过看起来他不是很满意。
接着又拿出一张纸来让我实际设计几个页面,具体是:两边的侧边栏顶宽,中间的内容自动增加,我能想到两边的内容加 width 然后分别 float,但是中间的内容如何自动增加就不知道了。面试官又摇摇头,再问我可不可以不用 float 实现……
接着是一个设计圆角的问题,我张嘴就说用 -radius,瞬间被秒……然后就想起当年仿 iTunes Store 里的应用图标时用过的那个圆角技巧(absolute定位,透明png叠加),就说了。面试官似乎也不是很满意,给我画了个九宫格,问我知不知道这个怎么实现,我隐约记得见过这个技巧,但是一下子真心想不起来,就老老实实说这个真不会。
最后面试官又问会不会设计轮播,这个比较在行,就扯了几种实现方式。
总的来说,二面露怯的地方颇多,我估计没什么希望了。
作业
二面完回学校,6点多的时候 HR 打电话来说需要我完成一个小作业,说是二面的面试官想看看我的能力。
作业的内容简单至极!设计一个按钮,点击一下显示成功提示,再点击一下显示失败提示……我做完了都不敢交过去,生怕有什么陷阱。
后记
现在已经拿到 offer 了,不过还是要综合考虑一下是不是去实习。一来上班的地方实在太远,二来学校里的课程如何岔开也让人头疼。对了,透露一下,百度实习生待遇 200/天不含税……