前言
三月真是一个忙碌的季节,刚刚开学就需要准备各种面试和笔试(鄙视)。幸运的是,在长达一个月的面试内推季之后,终于同时拿到了阿里和腾讯的offer,还是挺开心的。突而想起久未更新的博客,就冒昧学一学各路大神,分享面试过程中的经验总结。总的来说,本人并不是什么超级大牛,文章更多的是经历叙述,大神可自行绕道。
经验很重要
简单乱入一下,本人主修软件工程专业,对Web有着浓厚兴趣,主攻Web前端
。
就在三月份刚开始的时候,各种群里面就有师兄说,谁要内推,赶紧发邮件。好在牛人师兄多,一开始就投了天猫
、淘宝
。腾讯SNG
和腾讯微信
四份内推简历。
接到的第一个面试是天猫的,在完全没有准备的情况下,就开始了长达一个多小时的电话面试。第一次难免是紧张的,在面试的一个多小时里面,多次处于颤抖状态。这里所说的颤抖是真的,原因很简单,对于这一次面试没有任何准备,加上这个面试足够有分量。挂了电话的时候,第一反应就是不断回想刚刚面试的问题以及自己回答是否正确。于是就不断回想刚刚面试官说过的什么JavaScript事件委托、HTTP状态码、前端模块化怎么实现...
和预想中的一样,第一次面完之后,然后就没有然后了。然而还没来得及失落,以及做足后续准备,腾讯的SNG电话面试就来了,问的问题很少,让你介绍一下自己的项目,为了几个常规问题(文章末尾附上所有面试题目),然后就让你开QQ,远程看你写代码..(从没想过QQ居然是面试工具)。不幸的是,写代码不给查资料,所以写的时候遇到一个闭包问题,卡了好长时间。这一次的面试长达一个半小时左右,然后就进入了漫长的等待。这一次情况不同的是,我有面试官的QQ啊!于是几天之后,我问面试官,为什么我被刷了?面试官给的理由是,你有前端模块化的思想,思路清晰,很不错,但是你写代码卡的时间比较长,必须有个刷人标准..
于是乎,在没有经验的情况下,前两轮面试就这样光荣挂彩了。
面试不是你问我答
在屡屡受挫之后,我开始反思面试的流程:自我介绍
->项目经历
-> 技术问题
-> 我有何问题
。我发现在除了项目经历之后,其他环节都不是问题,毕竟我有着两年的积淀,基础还是很扎实的。
于是我去请教一些师兄,面试应该要注意什么。起初问了微信的两位大牛师兄,结果甚是惊讶。简单总结就是,在讲项目的时候,你需要展示你自己的亮点
,可以说一些装逼
的词,但装逼也是得有真材实料的。比如我在项目中使用了WebSocket,那么面试官很可能问你WebSocket是什么,底层原理你知道么?如果你当场傻掉,面试官就会觉得你只是会使用别人的东西,并不在意实现原理,终究是码农。那么事先你就应当去看看WebSocket协议的官方文档(纯英文,看得累死我了!),这样面试官一问你,你能头头是道,会大大加分。再比如,你在项目中使用了模块化,那么你就一定要知道什么是模块化,而不是说你会用模块化工具。其实要求并不高,你只要能很好说清楚什么是AMD规范,什么是CommonJs规范,各自的优缺点是什么就很够了,起码之后每次面试官问我,我都是秒回的,面试官竟无言以对,也就是对我的认同。
最后一点,也就是最重要的一点是,一定要把面试官往你熟悉的领域引导
,这真的很重要,因为如果你不引导,面试官不了解你的项目,看不到你的亮点,就只能一直问技术问题刁难你,人家在大公司待这么久了,还不是轻松碾压你。所以你在引导的同时,时不时提及一些事先准备好的关键词,技术官一问,你一回答,怎么都妥了~
理论实践
上述理论其实真的是很管用的,起码我现在觉得自己是半无解了,因为在那之后的淘宝和微信面试中都顺利通过了,也可以放弃29的腾讯线下笔试了(学渣真不会C++),哈哈。
淘宝一轮的电话是一个慵懒的中午打来的,由于三点有课,两点的时候准备上去睡个午觉,还没躺下呢,就接到面试官的电话,我说我准备睡午觉,他说两点了还睡午觉...
不得不说,阿里的面试还是非常专业的,一轮的时候,花了半个小时实践我上面说的理论,然后就狂问十几个技术细节问题!没有一定的技术基础真的招架不住。面完之后个人感觉还不错,口干舌燥上课去了。后来发现阿里的面试状态是在他的招聘网上实时更新的(这一点阿里做的最好)。由于心里有底,看到通过淘宝一面并不是很惊讶,只能说要是这样都不过我就认了!最难的是二面,估计是技术总监什么的,除了常规面试流程之外会一直刁难你,这个时候需要有格外良好的心里素质。像阿里巴巴这种大公司,技术牛是没话可说的,但是我们只是一个大学生,没有做过并发量达到他们零头的应用,所以这一关考验的是思考问题的能力。有些问题是你可能是真的不会的,但是也不要出现好像是
、可能是
、我猜
之类的词眼(我之前就是这样跪掉的),而是说按照我的理解
、给过一点思考时间
、我不太懂这个问题需要我从哪个角度解析
、我以前遇到类似的问题是怎样这个问题应该也是这样
...这样给面试官的印象是,即便你不懂,但是你在全力思考,而且这样会给自己争取很多时间。
微信的面试就不多说了,只能说腾讯的广州研发中心真的很漂亮,一看就是工作的好地方!里面的设备啥的也是好的没话说!但是还是忍不住吐槽一下,腾讯的面试做的不够好,去到二话不说给你六道算法题,时间一个小时,然后又狂问你一个小时,一口水都没的喝!!好在过了,不再赘述。
总结
- 机会总是留给有准备的人,每一次都要好好对待
- 当对自己的技术足够自信的时候,拼的就是RP和面试技巧了
- 面试之前,去找找那些大牛们,他们比你都有经验
- 平常心对待,只不过是一份工作
资源共享
个人觉得每一次面试都是一次修炼,所以每一次都需要好好总结。这一点我还是做的不错的,我把大部分面试都记录了下来,然后仔细分析研究,避免不会犯二次错误。这里附上一些面试题目和个人准备过程中的一点小笔记。然后推荐同样面试前端的同学好好看看《JavaScript高级程序设计》
和《HTTP权威指南》
,管用。
最后奉上个人的简历,供大家参考,起码没有在简历环节被刷,哈哈。我的简历
https://segmentfault.com/a/1190000002627927