月度归档:2015年06月

既非意料之中,也不是意料之外—豆瓣面试

前言:

上周四无聊逛v2ex的时候看到一篇帖子,一个豆瓣招聘的,发现是招前端的,其实和我关系并不是太大,虽然比较想去豆瓣,但是因为现在还在百度那边估计也要九月才可以结束(虽然拿到百度的offer应该是可以的),但是看到下面回复里面,竟然招九月的实习生,就心动了,因为最近老是学不下去,而且也在想大学四年不能就只面一个百度然后留在那里了,也太无味了,应该多经历一些,起码应该多经历一些失败,所以就以一个必败的心态去投了简历(还是当初投百度的那份简历),周四投完之后,当天晚上还看了几遍邮件,没有回复有点失望。就碎啦。

第二天上完课后,突然收到一个北京的座机电话,第一反应是百度那边有事找我,第二可能是广告或者是自如租房那里。很有礼貌的接了之后,对方说是豆瓣,心里还有那么一点开心。一个声音还挺好听的妹子,然后就大体说了一下约了面试时间为下周一下午,挂掉电话之后,我竟然感觉妹子有点紧张 -:D,

然而挂掉电话之后,才意识到,我下周一晚上还有一门没有复习的考试(我可是一学期都没有上过这门还比较难的课),而且好像还没有说明我现在没有在北京,所以下午两点打过去电话,告诉对方没在北京可以电面吗? 对方很亲切的答应了下周一下午两点半电话面试。然后晚上回宿舍之后知道,考试时间是周一下午四点(当时心情有点糟糕),问题总是要解决的,就想着周一上午十一点给对方说明情况,协调到周二。周一上午在自习室给对方打了电话,把时间总算是确定好了。然而我并没有准备面试的知识,毕竟我只面过一次,还是去年11月左右。所以完全是抱着找虐的新去的,最近比较懒散学不下去,想着能够打击一下自己。所以我早就想好这篇总结的名字了,如果没过就是“意料之中的失败”,过了就真的是”意料之外的收获“,然而为什么会是现在的标题下面会有原因的。

接下来考完试之后准备去大活看一下面试的东西,可是各种原因,在没人生日的情况下去西苑吃了一个蓝色的海绵宝宝的蛋糕,准备面试的时间就这样没啦,这样看来自己真的应该是被打击打击啦。就算是去被打击去的也要经全力去准备呀,最后也就在周二上午三四节课准备了一下下。

面试过程:

约的两点半,等到三点才打了过来(如果是以前我一定会感觉对方不守时,但在百度工作这段时间发现真的不是这样的,对方可能会很忙很多事情,确实会抽不开身的)。

接了电话,对方介绍了一下自己,说是负责豆瓣用户产品的前端开发,就是我们所看到的豆瓣的前端。听起来很厉害的样子。

     进入正题,问的大体东西,只记得了一部分了。

先让我介绍了一下两次实习的所做的工作,就大体讲了一下两次实习的所作的工作,然后问了一下工作中的东西,cordova 问了一下cordova用了哪些插件以及插件实现机制大体描述了一下。然后问了一下promise,大体讲了一下,然后又问了为什么是promise/A+, 这个真的没有答出来,当时看过,没有放心上。

后来又问了一下个人项目Share就大体讲了一下,只讲的产品,没有讲技术上的东西,这个自己回答还算满意, 因为每次给别人将这个都会很开心,虽然很少给其他人讲过全部思想。

接下来就问了一些非简历上面的东西了,例如:

     平时开发所用到的库,这个真的没有用过很高端的,就回到了jq和underscore。
     问:开发所用的工具和环境
     答: 工作中和工作环境保持一致,平时开发ubuntu + vim
     看我简历有webapp开发经验,就问了一下我webapp开发所需要注意的地方
     这个问题完全是自己随口答的,自己并不是太满意。当时回答是:
     首先最重要的是要考虑性能优化,兼容问题(不同系统的不同版本的不同浏览器),以及尽可能发挥其移动浏览器的优势,一些比较有用的特性。
     问:是否使用预编译js
     这个没有听清楚,当时也不是太懂这个概念,问了一下是不是ejs,jade之类的,他说是例如coffee之类的,然后我就明白了,说用coffe,比较喜欢coffee的那种书写方式。
     问:是否使用css预编译例如sass,less
     答: 使用sass
     问:平时是否用打包工具
     答: 使用grunt
     这个的回答自己并不是太满意,因为只是用过,但其实自己并没有去研究过打包工具原理和使用细节,这几天补一下。
     问:用过哪些h5的特效
     答:pushstate, localstorage,readFile, canvas,image, 最后又想起来一个websocket(这个就用过一次)。
     最后一个干货问题,
     设计一个弹窗组件需要传入哪些参数
     答:

唤起整个组件的元素,高宽,是否模态,关闭按钮。但是就回答了这些,然后对方说,就这些吗? 然后就不是太确定了,后来说弹窗里面还有个最重要的就是内容,但是就,,,,提醒之后我立马知道了,然后又问内容怎么传进来,我说如果有数据就将html写死,然后传进来json数据,如果没有,直接传进来一个大的html,对方说其实还可以穿iframe,是啊,以前明明用过类似的传iframe的组件的。后来又说下面会用确认等按钮,如何去绑定用户自定义事件,回答的是事件监听,又问了如果传进来按钮个数不确定怎么办,回答是,将按钮已数组的形式传进来,然后遍历数组进行事件绑定,又问,这样如果绑定对方的自定义事件,其实我想说的是我到现在都没有太懂怎么写自定义事件,但还是糊涂的答了一句,循环监听按钮然后再回调里面绑定自定义的时间(都没有办法说服自己),最后让我可以自己试一下下去。

然后大体就这么多了,问我有没有什么问题,我就问了一下对我的建议,大体说了一些就是说对应届生更重要的是学习能力和基础,然后说我知识面还是挺广但是可能有的需要深入,基础也算可以。(其实我想说的是,自己的定位就是知识面可以广,但是一定有一个(前端)专一的,但确实不是太深对知识的了解)。然后又问了一下关于造轮子(前面问我的时候还问了一下是否自己造过轮子,就把当时的jk那个轮子说了一下)。最后说没有了,对方说,就不想知道一些关于豆瓣这边的事情,然后就问了一下豆瓣那边前端的组织,前端开发用的东西,后来又问了一个FM页面上,为什么会用多个内嵌script,当时他打开看了一下,说着可能是工程上的问题,他并不建议这么写的。然后大体就结束了,说给同事反馈一下我情况给我联系,最后很有礼貌的再见了。

整体来说对自己的表现不满意,很不满意,但是感觉面试官好像还算满意。

很喜欢这样的面试官,包括问的问题,方式和交流时候的感觉都让人很轻松和让你很喜欢和这样的人一起工作。
结果:
过了,二面要去北京

大约一个多小时之后,HR打过来电话告诉我,想约去北京接着面,问我什么时候回北京,这完全是没在意料之中,这也是题目会这么写,最后就定了一个时间7.7号去北京面,其实自己挺不好意思的,一面和二面要隔这么久。而且心里也挺没哟底的,没有当面面过的,不过本来不就是想着多去经历一下吗这次,多一份成长。虽然没有被打击,但是还是应该多去深入学点东西了。

接下来就是要继续准备考试,准备回北京。