百度前端实习面试经历

查看源码

前几天收到一封百度发来的邮件,大意是说招实习生。浏览了一下岗位,只有 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/天不含税……