年后跳槽那点事:乐视+金山+360面试之行
有段时间没有更新博客了,年后经历了换工作以及生活中的其他各种事情,生活节奏被打乱了一阵子。还好一切都平息下来了,我也能在这个周末的午后,静下来码码字了。在做去年的总结时就打算好年后来了换份工作,并为此做了一些准备。说说我的准备吧,我的目标是互联网公司,同时作为一名毕业还不满一年的新手,我也知道自己的短处在哪里。因此在年底的时候就开始收集整理一些基础知识,前端面试题什么的,网上一搜一大把,顺着能找出来好多,同时也在博客发表了一些【面试必备】文章,虽然没几篇。。。另外去年也一直在学习AngularJs,同时也赶在面试前,在我的github上发布了第一个自己的项目,这些都是为了给自己增加点筹码,(*^__^*) 嘻嘻……
仓促的乐视之行
年后来了面的第一家是乐视,乐视刚刚上市,势头正猛,是个不错的选择。年后刚来上班几天,就在技术群(javascript后花园116366053,我最崇拜的文叔领导的)里看到有人发的乐视的招聘信息,而且是乐视前端带队大哥亲自来发的。本来我计划再好好准备一阵再投简历的,因为自己的基础知识还没有系统的整理一遍,但瞅着机会就在眼前不容错过,于是冒冒失失的投了一份简历过去。真的是冒失加仓促,我的简历上都忘了写掌握的技能,对方让我补充上再发一份,我不好意思的重新整理了一下简历,真囧。幸好面试官比较开明,看的出来是真心想招人。
不久就接到hr的面试通知,于是我胸中抱着小鹿乱撞来到了乐视,感觉环境还不错,就是挺拥挤的,一个大厅里一排排坐满了开发人员与行政人员的混合大队,果然是一家高速发展的公司啊,人都快放不下了。随后hr给了我一份笔试题,我就开始做了。不得不说题可真多,足足做了一个小时,做完脑袋都晕了。其实都是些基础题,考察js的作用域、原型、类型转化什么的,我不太会答的是前端页面对于大数据的优化处理,有些直接空了没填,我觉得笔试题也就是个基本测试吧,关键还得看面试。
笔试完后一会,就开始了技术面。这个时候我刚做完题还有点晕,加之自己也紧张,可能面部表情比较不自然吧,被面试官看出来了,问我紧张吗,我说有点。他递给我一瓶可乐说先喝着,然后看我答的题,同时跟我聊了些题外话,我渐渐放松了下来。不得不说这位面试官还是挺好的,懂得让选手先放松,我心里也挺感激。然而接下来将近一个小时的面试着实是把我虐惨了,我深深感觉到了自己是有多没准备好,比较浅一点的还能答上来,再往深像DOM接口,事件,跨域等,基本上一问三不知了,面试官估计对我的分量比较怀疑了,当他问我js都有哪些基本类型时,我顿时感觉慌张了。这好比是体检视力时,人家指着最大的那一个问你朝哪个方向。基本已经在判断你是不是什么都不会。当面试官给我来了句“你毕业这么长时间了,这些都没搞明白,你平时都在干嘛呢”,我顿时觉得没戏了。后来我就说我平时看看书,学angular框架,刚刚开始玩github,他对github比较感兴趣,随后我展示了下我的项目,他看上去还挺满意。
其实平时忙着做项目,这些基本知识真的都被忽略了,没有系统整理一下真的一时想不起来。我心里这么想但也没敢说,都发挥成这样了,真没脸面说什么了。最后面试官给了我这样的结果:“今天这么聊也对你还是没能整体了解,这样吧,晚上我给你发个代码,你来看一下,给我讲讲代码是干嘛的”。
真在我意料之外,我寻思面试官是这么想的:这小子基础知识答的这么屎,博客、github倒还写的像模像样,到底是什么货色真不好把握,再给最后一个机会吧。
所幸的是我不辱使命把握好了这次机会,他给我发来两个文件,一个是jquery插件,一个是seajs模块,小弟虽然理论知识不太行,平时代码写的还是不少,看了下基本难不倒我,于是无比仔细的在源码上逐行注释,每段代码的功能都详细描述。同时还指出了代码中的一些缺陷,以及改进的办法。我自认为做的还不错。good job~
果然我对代码的理解让他满意,通知我初试通过了。随后我又去了一次进行复试,面试的应该是部门负责人,没问什么技术题,基本了解了下情况。只问了一个关键性问题:加班能接受不,我心想这不是小菜一碟么,说能。他又问,一周加班五六天能吗?我菊花紧了一下,这不就是说天天加班吗!但既然问了,我显然不能示弱,投去果敢的眼神,说,能,我身体倍儿棒。他点点头。
乐视的面试就这样结束了,年后第一面,初试虐的够惨。我也深知自己基础方面的缺陷,赶快买了高程第三版来看。另外再透露下,初试的好些题都是高程上的,估计面试官对高程很熟。
马拉松般的金山之行
面试的第二家公司是金山网络,靠猎豹浏览器容光焕发的公司,去年年会发金条的就是他们。也是走互联网路线,当然也是个不错的选择。在拉勾网投的简历,很快就通知面试了。这次的面试也是挺不容易的,为什么说马拉松般的呢,我下午四点过去面试,从笔试到hr最终面一气呵成,持续四个小时,八点钟离开公司。下面来细说说。
进去公司后前台MM给了我份笔试题,我就开始做了。内容无外乎也就那些,给段代码写写输出什么的。不同的是金山对HTML5和CSS3有较多考察。大概四十分钟后做完了,等待面试。有两位面试官同时面我。其中一位向我介绍另一位:这是网络上大名鼎鼎的XXX大神。本期待我会投以闪闪的目光并说“哦!原来XXX大神就是你啊!”。尴尬的是小弟孤陋寡闻,根本没听说过这位大神,说了句不知道,尴尬的笑。他一脸黑线。
被两个人面的感觉也难过的,一会问这个一会问那个,两个人跳来跳去,有时我这个问题还没考虑完,就又问另一个了。他们自己貌似也没什么逻辑,从东扯到西,想起什么问什么。原型、作用域这些基本是必问,但不单单是问概念,还问些相关的东西。比如原型上定义的方法和静态方法有什么区别我就没答上来,丢人了。另外就是HTML5和CSS3,就我用过的讨论了下,什么sessionStorage、localStorage,FILE,xhr2。感觉金山网络这头用到的新技术还挺多,往深了问我就答不上来了。
整体感觉初试比在乐视顺利些,面试完后两位示意我稍等下一轮面试。等待期间,我坐在椅子上,观察了下工作环境。员工挺自由的,有零食、水果提供,不时有人来拿。每个桌上都放了一碗糖。我有点饿了,吃了一颗。。。还看到了不少外国友人,好像是员工,竟然还有包着头巾的阿拉伯国家的,真是让我大开眼界。
二面的面试官在开会,我等了有半个多小时,终于来了。而且竟然是外国友人(应该是,反正不是汉族的面孔),操着不太流利的普通话。聊了些在现在公司的基本情况,个人生活习惯啥的,还有在大学期间的情况,没详细问技术,回答这些,我向来比较拿手,操着流利的普通话回答的头头是道,他频频点头。他好像有些疲惫,问了一会就走了,让我等候下一轮。我有点纳闷,不知道这一轮到底算什么面。
这一稍等又将近半个小时,接下来是部门老大面,我有点压力。不过面试官比我想象的随和好多,问的问题很广泛,问大学学过哪些课程,我是软件工程专业的,什么操作系统、数据库、算法通通都说了一遍,问我成绩如何,四级多少分,我说都还不错。看了这位老大比较注重基础。然后他拿出手机,给我展示了下flapybird,问如何实现,我大体说了说,然后他问如何优化性能,我也没做过canvas程序,随便说了说渲染性能。。。然后还问了些细枝末节的,比如打算几年后结婚什么的。。。
这轮面试通过了,老大让我稍等,下面hr面试。这一稍等,哎。。。这个时候已经是七点多了,我的肚子都咕咕叫了,看看公司四周员工都还在忙,没有一个下班的。顿时感觉到了这是一家多么有“活力”的公司。
跟hr随便聊了聊,知道我要去的部门是猎豹浏览器,明星产品,环境挺不多。然后就回家等通知了。她也知道我等这么久饿了,给我抓了一把零食,体现出了细致入微的人文关怀,我直接装口袋里了。出公司的时候一看表八点了,不过还好整个流程一趟搞定,效率也挺高。
顺风顺水的360之行?
经过两次面试后,我算是找到了一点感觉,而且这期间也一直的马不停蹄的学习,基础知识整理的差不多了。恰巧有一个同学在360,就让他帮我内推了。跟之前两家相比,360的名气以及近两年的势头显然更凶。而且我大三的时候有面试360实习被刷的经历,现在回忆起来还隐隐作痛。所以此行也是不能掉以轻心的。
效率很高,几天后我已经坐到360楼下的咖啡吧等待召见了。上来依旧还是笔试题,笔试的知识核心都还是那些(作用域、原型、闭包、css布局原理、性能优化),只不过360的题明显难些,需要真正理解原理才能解出来。题量相对较少,我半个小时就做完了。有几道题不太确定,我蒙了个答案,后来发现竟然蒙对了,天助我也。
然后来了一位长相和善的大哥来面试我。聊了聊基本知识,拿着我做过的项目问了问如何做的。聊到基础的时候我感觉明显比头两次顺利多了。也不知是运气好,问的都是我会的,还是我这几天的努力有成效,总之是万幸啊~我在网上也看了些面试技巧啥的,要尽量把话题引到你擅长的地方,于是我就多谈了下我github上的那个东西是怎么做的,他表示满意,我不禁暗喜。有一个地方卡了一会,就是在手机上加载图片列表时的性能问题,他问我有什么办法。我说了延迟加载,说了实现方式。但好像不是他想要的答案。我突然想到以前听分享会有人提到动态删除节点,在浏览器内只保存两到三屏的节点,这样可以大大减轻浏览器压力。我这么说了,他点头。好,猜中了他想要的答案,然后又问我如何判断哪些节点在屏幕内,哪些在屏外该删除了。我说了几种标记的方法都不是他想要的。最终,在他的各种提示之下,我还是没答上来。。。他说你不是学过算法吗,可以用二分法查找。我一惊压根没想到他要算法,然后边听他解释边点头,好像我听懂了似的。
整体下来应该是顺利的,我自己都感觉还行。果然,过了一会,hr来找我了。是的,接下来是hr面。我有点奇怪怎么就一轮技术面呢,当年面实习生还两轮呢。。。难道我太优秀了直接拍板了?不可能吧,我又不是天才樱木。不管那么多,hr面最好应付了,把自己的真实情况老老实实交代就行了,反正也没什么污点。完事后,就回去等消息了。
过了几天,hr的电话来了,说通过了,聊了工资,明天发offer。欧耶!没想到进360竟然这么顺利!顺的我都不敢相信了!
果然不该相信啊!故事还没有结束,第二天了,hr来电话了,说offer还不能发,说部门比较乱,那天部门负责人没有见我,需要再来一轮面试。我这个忐忑啊,各种猜测,难道后悔录用我了?工资给说高了要降一降?怀着乱七八糟的心情,我又来到了楼下咖啡吧等候召见。哪知这天特别让人火大,面试我的人迟迟不来,我给hr打电话也没人接,足足等了一个小时,给hr打通了电话,我面带微笑无比温柔的说,您好,我还没有接到面试。纯爷们儿,这点肚量小意思。一会面试官来了,我迅速调整好状态。
说是部门负责人面试,但我看面试官一点也不像个领导。穿着普通,发型普通,年龄也不算大,说话也挺随和,一点没有派头。我们聊的内容,也是基础编程知识,从js到css hack,我感觉面试官还是一线程序员,不像hr所说的领导,看来这个部门确实有点乱%>_<%。今天运气也比较好,问的都是我会的。而且我又使了那一招,把话题拉倒我擅长的部分,面试官比较实诚,被我给说的乐开了花。
一次挺愉快的面试。结束后其实我自己也有底了。好了,回去等通知吧。
我的感受
先说说结果吧,三战全胜,我陆续收到了offer。给开的工资也比较有意思,每个都比上一个offer多一点,看来他们也在竞争,于是我做了个艰难的决定,把前两个给拒了。
重点说说我跳槽的感受。首先,我对自己的技术是有谱的,不是什么大牛,也就是刚刚上了道的前端而已,事实确实如此。这也就反衬出来今年的招聘形势确实比较好,各大公司都有新的布局,人才需求量大,连我这么个小兵都这么顺利,所以大家尽可以多多关注,微博上一些大牛天天在招人,我已经找到了自己合适的归属,就不再贪多了。其次,这些大公司的面试真的没有想象中的那么难,只要认真准备发挥正常,问题是不大的。但前提是,你自己要有谱,你在平时要有积累,冲刺并不能解决所有问题。另外,心态也挺重要的,我经历的这三次面试,要么是准备的仓促,要么是漫长的等待,要么是意料之外的折腾,不论遇到什么情况,都得应付的过来。
自己也不是什么成功人士,不谈经验了。最后,前端这个职位还是很有前途的,未来几年会更加火,把握吧,同仁们。
换工作的经历也让自己浮躁了一段时间,接下来会好好在沉淀下来,继续更新博客。照着去年做的计划,一点点积累。