我的求职经历与心路历程——我是如何面试进美团的

注:写这篇文章的时候,是把它当成类似小说来写的,主要就是做个记录,还有说明我的求职经历中遇到了不少困难,有些困难可能是大家都会遇到的,例如找工作时很累坚持不下来。至于具体的细节,有很多的个人因素,没有很大的普适价值,请读者自行斟酌。

我是西电通信工程学院的本科生,写这篇文章是在2014年。

我是今年9月份找到工作的,目前已经签到了美团,毕业了就会正式工作。一开始觉得我的经历也没什么可写的,但是似乎还是有不少人感兴趣。所以我从今年3月份的实习开始,介绍一下我的求职经历。主要涉及的内容一方面是我做了什么,另一方面更重要的是我的想法和心态的变化,说的文艺点,那叫心路历程。全文很长,但是如果能对读者找工作有一定的参考价值,那我就没白写,也没浪费读者的时间。看不下去的,还是自觉绕道吧……

实习准备

3月份的时候,很多人就开始准备找实习,一般华为、百度、阿里之类的大公司,那时都会提供实习岗位,在官网上注册,然后通过笔试面试就可以了。实习的面试要求相对会低一些,如果很想去一家公司,可以考虑先争取去实习,然后实习期间好好表现,之后继续留在公司的可能性就会大很多了。

但是实际上3月份还有不少课。学校一般是要求暑假期间去实习,这样不会耽误课程。另外,如果没有去实习,在大四开学初,要参加学校安排的生产实习;如果已经实习了,则需要上交实习证明材料。对于公司校园招聘来说,实习不是必须的,但是有实习经历肯定会好很多。

我在三月份的时候就在开始做简历。简历也完全是自己想着做,参考了网上一些文章。由于了解一点平面设计知识,之前也做过不少PPT之类,我打算把自己的简历做得个性化一点。对于我而言,其实虽然技术上学了不少东西,是别人眼里的大神,但是只有我自己清楚,我学的很多东西并不深入,比较散。说的直白点,差不多是什么都知道一点,但是相当于什么都不会。因为之前学技术根本就没怎么考虑过工作的事,完全是凭着爱好、凭着参加竞赛、做项目的需求去学习的,而且很不幸竞赛也没拿到满意的奖项(没拿到过国家奖)。综合实力是有一些,但是要说找工作,做硬件硬件做不了,做软件软件学不深,就这种尴尬的感觉。最后我只好多强调我的学习能力强了。

实习

我当时也正在等着各路消息,看什么时候能开始参加百度等公司的实习招聘。结果在三月多的时候,有同学介绍,说有个创业公司也是我们学校学长创业的,可以去看看,也能提供实习证明。然后就过去了,一开始我不是很想去,然后了解了情况后感觉还不错,然后就过去了。

实习期间,也是咱学校的学长,就问我擅长什么。其实那会我对自己擅长什么真是不怎么了解,前面也说了我学的东西比较散。要说嵌入式方向,单片机基础我学的是不错,但是到了STM32、到了嵌入式,一直没怎么接触;要说硬件方面,我很清楚模拟电路难度很大,也只是电赛学了点皮毛,怕是很难胜任公司的工作;PCB也算了画了一个多月,那也是电赛做高频需要,实际上我对高频毫无了解,画的也都是单层板用来自制PCB,要说什么电磁兼容之类,基本上没啥概念;Linux方面,我只能说是会最基本的指令,而且还不熟,因为Windows用习惯了,一直不适应那种指令操作;软件的话,做的最多的大概是安卓开发了。

一开始我过去负责做Linux下面的C编程,对Linux很不了解,甚至不会用gcc调用动态链接库进行编译,一天下来感觉非常头疼,而且非常不习惯Linux下面的代码编辑器。

结果尝试去做安卓开发,没想到我果然是对安卓比较熟练,写起代码来也很顺手的感觉。后来实习期间一直做的安卓方面的东西。之间也有考虑过去做点硬件试试,但是由于时间等原因,一直没有去做。

实习断断续续,因为学校也有事情,一直到了七月中旬已经是暑假,我就回家了。

阿里内推面试

由于之前在实习,对找工作的事一直都没怎么关注。暑假七月份回去开始找工作,那会才发现自己对找工作什么的还完全没概念。有个同学发了一个阿里的内推消息,说是可以发简历到那个邮箱,进行提前批次的面试,不需要笔试,并且能优先录取。

因为在实习的过程中,感觉很顺利,那会信心满满,觉得很有机会进去阿里的提前批,甚至还想尝试下阿里星计划(阿里星计划请自行百度)。花了很多功夫继续完善简历,然后给阿里内推的邮箱发了过去。感觉阿里的办事效率很高,上午11点发的简历,吃完午饭就收到了回复,给我推荐到了研发部门。点开链接,按照提示登录了支付宝账号,进入了阿里的在线校招系统,填写了好长时间的个人信息,因为没经验,所以填的也是非常认真。

第二天就有人给我打电话来了,面试官说他们是做web研发的团队,看了我的简历感觉很好,还做了一些夸奖,问我有没有兴趣尝试下web开发,也不然也可以给我推荐到客户端研发的团队。当时我也不清楚公司到底需要什么样的人,对web方面了解很少,但是有兴趣尝试下,毕竟进了公司还会培训,对自己的学习能力还是比较有信心的;如果没通过,我再去面试客户端方向也行,然后就同意了。

当时电话里的感觉非常好,对方也非常客气,甚至挂了电话之后我还在想电话面试怎么会这么轻松,好像都没问什么问题(那时确实是对面试完全没概念,之前也没怎么去关注过)。

第二天下午又接到电话了,还是那个人,才知道那次才是正式的电话面试。面试有20分钟时间,一开始就是问我技术问题。有没有用过数据库,我说用过安卓的SQLite,他又问我知不知道左右连接,我完全就没听说过(我系统学的东西不多,一般都是要用到的东西才去学的,所以只用过数据库最基本的操作)。然后又是各种网络方面的东西,我那时根本没接触过web方面,所以一无所知。面试官让我说一下我有什么特长、做过什么,因为之前都没去准备过,所以一时也不知道怎么回答好。快结束的时候,面试官问我还有没有什么想说的,能展示自己的东西,那时我感觉对方的语气似乎是比较失望了,自己也没心情说什么了。面试官挂电话之前说,之后还会有别的团队来联系我。

当时也是感觉没太大希望了,看了下阿里校招系统,果然显示的是初面未通过,稍微有点受打击。

个人总结

当时对公司没啥想法,比较想去阿里因为听说工资高。我自己倒也不是那么在意工资,之后有发展前景就行。但是一开始工资高至少家人会觉得更好,家里经济条件也不太好。

本来以为web开发没面试上,还可以面试安卓。但是之后还等了几天,一直没再接到阿里的电话。在网上找了找才知道,阿里的内推只能推荐到一个岗位,我偏偏不巧面试了我根本不了解的web方向,就只能等开学的正式校招了。当时在想早知道就该选客户端,可能都已经通过了,省时省心(特别怕麻烦,尤其是面试这种,还得到处跑)。

阿里的电话面试那天,瞬间学到了不少新技能。想想算是拿阿里的提前批次面试来练手了,还真是有点奢侈o(╯□╰)o 晚上我开始回想自己大学里面都做了些什么,有什么特长,还有项目经验。其实对于我来说,真是很头疼的一件事,因为我做的事情太杂太散乱了,软件硬件各种都有一些,也不是很确定做什么方向好。我做事比较认真,而且晚上更容易来灵感,所以那天晚上也没怎么睡好,就一直在想,想到了就拿手机简单的记下来。

第二天坐在电脑前,把之前相好的提纲全部写了出来。因为我怕下次面试,临场发挥不好,不知道说些什么,干脆全写出来,万一实在不知道说啥就照着读好了。如果是电话面试那就更好了,反正看不见。当时也在想,如果照着写好的东西读,会不会影响面试效果;但是没办法,当时感觉自己临场发挥能力确实很有限。不知怎么,我那一整天就写出了五千多字的个人总结……想想真是太强大。

开学我提前了一段时间来学校,一方面感觉学校的环境,更适合学习和好好考虑找工作的问题;另一方面怕错过了公司的招聘,有些公司招聘很早。

项目经验

那段时间,一边继续进行个人总结,一边感觉自己安卓项目还是有所欠缺,所以继续完成寒假开始的一个项目。那个项目已经做了一大半了,如果再花点时间尽快做好了直接发布出来,这样多一个完整项目经验,对找工作一定是有好处的。也是我后来面试用来展示的最主要的项目(其实看着真心没啥特别的,但是只有做过安卓的人才能看出其中的玄机。很多小细节什么的其实不好处理,毕竟这个项目我也是断断续续做了大半年,一万行Java代码和两千行XML。另外代码规范化、可靠性、可扩展性等也是花了不少时间去研究)。

这个项目目前已经正式发布,具体项目介绍可见 http://www.paincker.com/mobile-develop

或打开项目的发布页面进行查看,也欢迎下载体验 http://www.anzhi.com/soft_1856039.html

个人简历等面试材料准备

最终我为面试准备的材料有,一张用PS设计的单面A4彩色简历,一份项目经验总结,一张个人总结的思维导图(相当于面试时自己用的提纲)。

首先说下我的第一版简历。简历自己用PS设计的,自己业余的平面设计水平有限,比较喜欢扁平风格,刚好制作又简单。主要内容是个人基本信息和照片,自我评价(对自己性格的总体概况,一开始自认为这个很重要),兴趣爱好与特长(后来感觉写的有点多),个人经历与获得奖励(经历主要是社团活动,我做过讲座之类的,还有实习经历,奖励主要是竞赛获奖,也有少量奖学金、优秀共青团员之类)。

然后是第一版项目经验。我大学期间做的项目比较多,之前3月份的时候就在着手进行总结。参考之前在华为官网填写项目经验的格式,我把每个项目做成一个表格,包括项目标题、时间,项目简介,以及我负责的工作。又把我的项目分为安卓软件、单片机/嵌入式、模拟电路三类,分别列举出来,并且着重对其中的两个安卓项目进行了详细的介绍,包括用到了什么技术,遇到了什么问题,规范化的工程源码截图等。第一版项目经验总共写了20页,打印起来装订。当时设想的就是,面试时让面试官有选择的看。如果面试的安卓,那就看安卓的部分就行了。要不然20页确实太多。

最后是个人总结。前面提到我准备的很长的个人总结了,总感觉写那么多不好用,当着面试官的面翻那些材料甚至照着读,肯定影响不好。决定进行压缩,用思维导图工具XMind把那些内容的提纲重新提取了出来,进行了精心的删减调整。主要思路是突出个人的特点,每个特点列举了一些例子。当时很头疼,因为不知道哪些更重要,工作量也是非常的大,毕竟准确的总结自己同时又要考虑公司的需要,实在太困难。最后,硬是把五千字给压缩到了一张单面A4纸上。当时特别怕提纲太简单,面试时想不起来说什么,不过后来发现,每天反复思考这些东西,最后差不多已经记住了。

关于面试材料尤其是简历,网上有很多参考资料,说法也各不相同。我想说的是,简历什么的根本就没有什么标准格式,重点是快速准确的展示你对面试岗位所具备的条件。但是值得注意的是,一定要简洁(感觉我的第一版简历就不够简洁),因为面试官没有那么多时间看你的简历,每天面试那么多人能不烦死已经很不错了,大段的文字谁也没耐心看;基本信息肯定要有,特别是别忘了手机、邮箱什么的,还有学校、专业、学历之类也可能需要,名字年龄之类那就更不用说了;还有即使你不用专门的软件去设计,最起码保证排版整齐,不要让人一看就觉得你做事不认真;还有能力特长方面,不要太夸张,尽量别写精通而是熟练,如果写精通然后给你问个很偏的问题就死了,有技术和项目的就写上去,实在没有的话写相关课程成绩好,很感兴趣,善于交流,爱思考,学习能力强之类,要是真的什么都没,自己去面壁吧(我说的技术岗位)。

如果能做的有点特色,或许能让面试官印象比较深刻,例如我的简历就有移动App的风格,扁平化,简洁,字体也比较大。但是设计过分大胆或是花哨的简历,由于人的主观审美不一样,有可能不巧遇到了不喜欢这种风格简历的面试官,可能会有点负面影响。如果你不是面试做设计,技术类岗位的简历直接用Word做的普通一点也可以接受。

阿里面试

9月初的时候,阿里校招就开始了,我和电院的一个小伙伴都参加了阿里的在线笔试。小伙伴之前给我推荐了不少有关面试的书和文章,面试技巧什么的,他自己看了不少,例如《剑指Offer》《编程之美》等书籍。

而我当时忙着准备我的项目,感觉只要有实力,不那么了解面试技巧也没问题。事实就是这样的,要么你积累足够的实力,并且能展示出来;要么你在面试前多准备各种知识,了解面试技巧;如果两者都没有,对工作的待遇期望不高,也可以。

当时好好复习了几天《数据结构》,看了一点历届面试题,阿里的笔试我很顺利的通过了。因为我们班很多人都打算上研出国什么的,找工作的不多,我周围比较熟的人去阿里面试的几乎没有,所以只好自己一个人去市区。面试一般都是在市区的酒店。

当时西安连续下了很久很久的雨,那天也在下雨。因为我经常晕车,出发的也有点晚,发现来不及坐公交了,但是等了半天发现没有出租车……要是因为没车错过了阿里的面试,那岂不是亏大了。好不容易等到一辆出租车就进去了,司机一开始理解错了我要去的地方,给他看了地图他说那边太偏,嫌钱少不划算。我也实在是有点着急,直接问他要多少钱,稍微讲了下价就同意了。要说西安的公交,收费确实是有点坑;但是司机往往又会和你聊几句关心下之类的,感觉又不像那种很坏的人。路上司机师傅问我是不是要去见女朋友(这么着急,又是去酒店)……哎,我说我找工作去面试呢。

去了发现地点竟然给通知错了,我去的那个点是社会招聘的点,又要坐车去校招的地方。当时身体有点不舒服,又晕车,还下雨,感觉很不好,都别说面试前的心理压力了。

去了阿里面试的地方,瞬间就感觉自己贬值了,到处都是人。周围几乎都是几个熟人一块去的那种,而我没有认识的人,也没兴趣找人聊,从小就不喜欢人多而又陌生的地方。有个人问我哪个学校,面试什么方向的,发现他也是西电通院的,问他哪个班问了半天也没搞清楚,才知道原来是研究生……本科生去工作的特别是去阿里这种大公司的,占得比例确实比较少吧。

那个研究生就去面试了,他比我早一批次。我等了很久,感觉实在是很无聊,好在我还是很有耐心的,就在那发呆(每次回家坐火车的时候我能那样保持好几个小时,什么都不说什么都不想,休眠状态)。终于工作人员叫到我了,跟着工作人员来到了初面面试官那。

初面

之前在网上找过一圈,应该怎么和面试官打招呼,特别是如何称呼,最后得出的结论就是,直接来一句“你好”,不管是喊“老师”“先生”“王总”还是“同学”,都不合适。我也是这样打了个招呼,因为是下午比较晚了,面试官估计也是很累,都没心情回应了,上来直接看我的简历。面试官说,写个算法吧。我说不太熟悉算法,就先自我介绍了一下。之后拿出手机,给面试官演示了提前准备好的安卓作品。

演示完了面试官说,还是写个算法吧,然后翻了翻手中的资料,说写个冒泡排序。说实话算法确实是我的弱项,冒泡排序已经算是很简单的了,之前没怎么认真复习,在纸上就大概写了一下,主动说了一下思路(后来回去了才想起来那个代码写错了,好在思路是对的),面试官也没去看我的代码(整天的面试,估计面试官也懒得去看,反正我的思路都说过了)。

最后问了我几个安卓的问题,Activity的生命周期,我很熟练的回答了一下。开发应用时闪退怎么办,我就说iOS上是闪退,安卓是显示应用程序崩溃吧,面试官点点头;我说我可以通过LogCat看哪个地方出错了然后再去找。他问我ANR是什么,很巧我在实习的时候接触到了,ANR就是UI线程执行了耗时操作,一般如果长达五秒,界面停止响应,系统就会提示应用程序停止响应。这几个问题回答的都非常顺利,放心了很多(没有系统的学一些东西,很容易漏掉一些知识点,也不太想面试前各种刷资料,有点嫌麻烦。这次碰巧这几个问题我都接触过)。初面完了面试官让我到外面稍等。

终面

发现外面有些人早就在等了,但是还没轮到二面,我刚到外面几分钟就有人叫我进去继续面试了。当时就感觉我很有希望(后来在美团的面试也是一样的情况)。进去了是一个看着很和善的面试官,在整个面试场地的角度里,感觉就像是个boss。趁着空闲的时间我还看了下桌子一角的牌子,才发现上面写得是终审面试官。之前听说阿里面试都是三轮,结果我直接进了终面,也不清楚是不是因为前面的面试表现比较好,所以直接跳到了终面(后来感觉估计是因为时间不怎么够了,所以二面直接给省略了)。

平时被人称为大神,当时我还是很有信心的,特别是种种迹象,让我感觉很有希望。初面直接进了终面,中间没等多久,我的简历用PS彩色设计的似乎工作人员都很感兴趣,终面的面试官旁边的几个面试官都很悠闲的样子(说明刷了很多人,都没到终面)。反正就是自我感觉良好。

这里顺便一提,如果公司安排的是多次面试同一天进行,初面结束通知你可以回去等通知了,基本上意思就是你被淘汰了可以回家了。

终面说到了很多东西,和面试官也聊得很好的样子。当时发挥的很好,该说的东西都说到了,面试官比较感兴趣,也说我表达的很充分。内容很多,根据当天回忆时记录的日记,大概列举一下。

演示了我的安卓作品,提到出学安卓时的一个项目,表明我学习能力比较强

不想上研,放弃了争取保研的机会,出国没条件

我原先做的硬件,感觉硬件太难,本科阶段还不够,所以决定做安卓

我对技术的认识:技术只是工具,关键是用工具解决问题的思想(面试官好像比较赞同)

对学习方法的一点看法:厚积薄发与学以致用

逃课学东西的经历,因为受处分给校长写信,然后处分被取消了(其实面试官往往也很清楚,逃课也不见得是什么负面的东西)

问题:UDP TCP HTTP的基本原理(我大概说了一点,又说简单学过计算机网络,但是不太熟)

线程通信(共享内存,消息,其他的我没用过也不记得了)

线程间的同步(我只知道Java里面的synchronized关键字)

学了什么课程:数据结构,设计模式(数据结构学了,设计模式自己看了书)

安卓系统中用到的设计模式(我举了个建造者模式,说的不是很清楚)

对软件开发的认识(用户体验很重要,还有推广运营。这方面我虽然有点想法,但是一时也说不清)

偏技术还是偏产品(技术)

身边的其他同学都做些什么(学霸、打球、社交……)

其他同学在技术方面呢?(我就举了一些身边大神的例子)

面试官又说:项目经验多我不怀疑,学习能力强我也不怀疑。除了学习能力,比起其他同学,你还有什么优势?(我说,主要还是学习能力强吧,思维方式和学习能力提高了,各种问题都能解决)

然后面试官问我还有什么要说的(我说我本来感觉面试比较尴尬,因为我学的东西比较散,也不敢说精通,今天面试感觉发挥的还好,然后提到了我阿里内推面试的经历,还有实习的经历)

最后差不多就这样了,走的时候说了声谢谢,然后过了一会,工作人员通知我可以回去等通知了(过了终面,有的貌似还有HR面,我也不清楚我这种情况是不是当场就被淘汰了的意思)。

没拿到Offer的思考

尽管感觉非常良好,最后还是没能进阿里。没能进阿里的原因,我后来做了很多思考。之后也看到了两篇文章,点击可查看:

http://www.paincker.com/ali-offer

http://www.paincker.com/ali-hr

就我而言,感觉原因有两方面。一方面是技术实力上的,大公司分工明确,一般更倾向于技术比较精通的而不是涉及面广的,安卓原先不是我考虑的方向,可能技术实力不够;阿里招的人少,研究生为主,对于安卓开发,学历虽然不是很重要,但是本科生相对来说学的时间短。另一方面,可能真的是价值观的问题……

心态

最开始我抱着一种自信乃至高傲的心态,觉得阿里应该没太大问题,觉得提前批主要是因为选错了方向。当时对公司之间的差异也没有太多了解,而且特别怕找工作麻烦,我喜欢研究我感兴趣的东西,不喜欢研究怎么去好好面试。之所以选择阿里,因为一方面阿里的待遇听说很好,另一方面阿里面试时间早,我想早点结束这种很烦的事情。

自从阿里提前批和第一次面试都惨遭淘汰之后,心态变了很多。当然我也在想,可能是面试时的思路不对。听同学的话,找工作就是要多去尝试,多碰运气,多刷Offer,最后再从中挑选一个最合适的,和之前相比,一夜回到解放前的感觉(找工作确实有一定的偶然性)。

个人能力 VS 利用价值

没拿到Offer,当时确实是有点压力,因为感觉之前有点过度自信了。把阿里终面的内容很认真的做了一些分析,感觉我面试时的核心思想不对。无论是简历还是面试内容,我过多的强调个人能力,而不是对公司的价值。事实上,显然公司需要的是对他们的职位有价值的人,而在其他方面即使有能力,对于工作也没有什么直接的作用(如果公司只需要你做个勤奋的员工,即使你有很强的领导才能,也没有意义,甚至还会有负面效果)。

之前就在网上看到过很多所谓的简历和面试经验,都说到不要什么都写,应该挑和工作内容直接相关的东西来写。我也了解这一点,但是一方面不甘心我花了很多精力学的硬件完全派不上用场了;另一方面,总想通过比较全面的自我介绍,借以说明自己学习能力强,接受能力好之类。考虑到既然我想做安卓开发,可能确实也没必要刻意去提我在其他方面的东西。不去强调其他方面的技术实力,或许会显的安卓学的比较专业……

面试材料的改进

于是我把自己的简历、个人总结、项目经验的材料全部改了一遍。

面试官主要看的是个人简历,也只有个人简历会被公司那边保留,其他的材料都是我现场拿给面试官看一下(毕竟那十几页的项目经验放到简历里面那也太吓人了)。第二版的简历,除了获奖经历,把安卓无关的东西都去掉了,打算在面试的时候也完全不提,除非问到;其他方面也专门对安卓开发进行了优化。第二版简历的内容有:自我评价、个人特长、项目经验、获得奖励。放一张图供参考和满足读者好奇心。

个人总结也是围绕着安卓项目进行了介绍,然后把自己的一些特点放在了次要的位置,如果面试官问我我就说,不问就不说了。

项目经验总结材料方面,确实感觉太多,决定删减,简化了项目描述,但是还是保留了安卓软件以外,硬件和嵌入式类项目(幸亏保留了,后面就派上了用场),最后总共11页。

百度和腾讯

百度的笔试本来想去参加,结果那天感觉身体不舒服,坐车的时候晕车很厉害,特别难受,竟然就这么下来了错失了百度的面试机会……想想晕车真是够头疼的。腾讯当时没怎么考虑,笔试刚好是阿里面试的那天,所以也没参加。

没参加笔试可以直接去现场霸面。那天早上到市区霸面百度,结果让提交完简历就走了。下午又去腾讯的面试现场提交了简历,也是霸面。腾讯面试现场分为两大阵营,技术类和非技术类。技术类几乎全是男生,偶见几个女汉子;而非技术区,女生大概占了一半,而且总体很不错的样子(当时都开始后悔怎么没参加腾讯的笔试了。或许是在北雷男子职业技术学院呆久了,审美发生了扭曲……)。

不过这俩家提交了简历,说是会通知面试,但后来我和其他几个同学都没收到消息。估计是正常面试就已经招满了人吧。

美团笔试

还是霸面百度腾讯的那天,听说晚上是美团笔试,我一个人在市区,硬是在手机上用2G网填完了美团的在线校招系统,还花了好几分钟上传了简历。打印了纸质简历,在西工大老校区参加了笔试考试(要不是同学鼓励,我都不想参加了,因为原先不知道美团待遇那么好)。

美团笔试研发类用的是同一套试题,全套试题好像有5页的样子,刚发下来试题时着实让很多同学吓了一跳。除了高考和电赛,我也确实没见过这么厚的考卷。

主要是编程题,解决指定的问题(还是纸上写代码的,写程序肯定是机试更合理,但是机试估计太难操作,也只有华为这种大公司有那么强大的实力安排机试吧)。由于我了解C/C++/Java,算是捡了个便宜:看到字符串处理的题,很果断的用Java,因为Java的字符串处理实在太方便了;看到一些用指针的东西,就会用C或者C++,感觉C++中的new和delete关键字很好用。除了前面公共的编程题,后面还有选作的题,例如安卓方向考的是屏幕显示单位的使用。我没记清楚,就根据印象大概写了一点。

至于具体的考题内容,一方面当时试卷上也说了不要随意公开考题,另一方面我也不太记得了,所以也就不细说了。

考试时间到,感觉过得很快,编程经验丰富在这样的情况下终于得到了体现,我算是做得比较快的,不过还有好几题没来得及做完,只好临时赶紧写了一道有点思路的题,就交卷了。做完美团笔试题,感觉又找到了一点自信,原来这种实际编程才是我最拿手的。尽管我用Java做过TCP,但是阿里问我TCP连接过程,没去背书还真不记得;满满的应试教育气息。

期间非常累,压力也大

那天晚上从市区坐车回来已经快11点了,非常累,不仅是因为坐车跑来跑去晚上又没睡好累,心理上也很累。之前从暑假期间开始就一直在忙,没时间休息。特别是开学期间我还忙着补考,还得密切关注选修课,因为学分不够,可能还得去蹭其他班的限选课。那会事情特多,怕忘记,就用手机备忘录记了好几页的样子,一直盼着不知道哪天能把那一条一条的记录全部给清空。

原先最看好的BAT感觉都没什么希望了,也不知道公司到底需要什么样的人,自己的很多想法乃至三观都遭到怀疑,几乎每天都要关注各种公司的招聘信息,还要不断的注册填写信息、改简历、打印,出门坐车、笔试、面试。在那样的处境下,换成谁都会有些受不了吧,尤其我这人做事很上心,一点小事就够我纠结很久。甚至我都在想,干脆直接找个一般的公司面试过了算了。不过还是多亏了同学的劝说,他说他也很累,但是这段时间累一点,找个稍微好点的工作,如果能让一个月公司多个一千,一年就能多拿一万多,那是很划算的。想想也确实是这样吧,虽然很累也要坚持下来。

之前忙于找工作,学校的保研考试我没去参加(后来了解了下,因为是教改班的,如果当时我参加了,估计保研没有问题,因为我们班所有参加并且是真心想保研的人,最后都通过了)。我家里一直希望我上研,我的一大压力也来源于此。我信心满满的决定找工作,没参加考试;说的好听点,叫孤注一掷、不留后路;说的不好听,那就一傻子。

在这样的折腾中,期间我甚至都开始怀疑了,我是不是真应该去上研而不是工作。我爸在电话里听我说很累,又来说我应该上研,还说要考研……哎,我的三观想坚持下来真的是太艰难了。那时其实再考虑保研也没机会了,除非考研。我觉得我去考研是作死,大学里面就没把理论课当做我的奋斗目标,也毫无准备,而且考研那么累,高三都差点没挺过来。我甚至开始担心错过了华为的面试,华为虽然不太想去,好歹工资还能接受。万一我沦落到华为也没去成,那真叫一个惨,估计家里人也有很多话要给我说了,当初为什么不听劝去上研什么的。

学习能力 VS 现有知识储备

一开始我很天真的觉得,只要能举例说明自己学习能力强,即使知识方面还没有太充分的储备,也没问题。会钓鱼的人不用担心没有鱼可吃。后来发现,公司可不见得会这么想,总体来说社会还是功利的,相比而言公司更倾向于那些有足够知识储备的人而不是潜力更大的人。想一想也是,潜力这种东西也不好证明,而且即使你有潜力,知识储备不够,公司可没那么多精力去培养你。公司首要目的是你给他创造价值,而不是把你培养成人才。那些从小学开始有条件学技术最后很厉害的人,相比那些大学才开始学技术,三年进步速度远比前者快、但目前还没有前者那么强实力的人,公司更喜欢前者。

当然大公司是这种高傲的心态,小公司招不到人,肯定还是会考虑有潜力的人。所以全程我对自己的能力并不怀疑,但是对于能不能找个让自己甘心的工作,确实很担心。毕竟我从一开始的目标,就是尽快工作,上研都放弃了。

我一直认为学习能力远比已有的知识重要。但是阿里面试的失败,让我对这些想法产生了一点怀疑。当一个人发现自己长期坚信的东西不能被认可,还是有些难以接受。这有点毁三观的意味;也有点不得不向社会和现实低头的意味;仿佛感觉到了来自社会满满的恶意。

深信服笔试面试

当时看到一个叫深信服的公司,华为员工出来创办的,在深圳。看了介绍其实感觉还行,虽然工资待遇不是那么理想。所以想着去试一下吧,不管怎样,如果能拿个Offer,至少心理压力会小很多,然后面试别的公司也不迟。

那时已经9月中旬快结束了,作为一个原本高傲的大神,我竟然还是一个Offer也没有,真是有点着急了。因为我清楚,我的情况比较特殊,学的东西太散。我肯定不甘心我学的硬件就那么废了,然后和那些只懂安卓并且安卓水平和我相当的人一样,进了一个很普通的公司,那样我的额外技能就完全没了意义,大神顿时沦为渣渣。更可悲的是,尽管我知道自己的处境不理想,但是没有几个人会理解,你是大神你还担心找不到工作,那我们没做过竞赛的人情何以堪……差不多都是这样的态度。感觉就像是人丑性格好一样,虽然有优点,但是很难快速的展示出来,不像有些人可以拿出来各种竞赛国家奖什么的。这样的话倒不是找不到工作,而是可能找到的只是不甘心的工作。这种尴尬的境地,也只有现在有时间写出来,才能指望有人会理解了。

所以就参加了深信服的笔试,考的几乎全是C语言,高维指针绕来绕去。个人感觉其中很多题目不实用,不像美团的笔试题那么实在。我对C语言的指针也早就忘得差不多了,也没有去深入研究,二维指针更是没怎么用过。单片机虽然写了不少C,但是很少会用复杂的指针,更多的是做实际项目,想创意然后拼接模块的那种。

结果我还是比较轻松的通过了笔试……找工作和找对象一样,放低了要求,总是能找到。而我要做的,就是赶紧先找个不是那么喜欢的备胎吧,万一想去的公司都错过了呢?

深信服做的网络设备,主要用C/C++,作为一个安卓开发者,显然我也不想转行做C程序,Java用的太顺溜了,C多难用。面试的时候,发现和面试官没法交流,以为他问的很深入的C语言、还有操作系统底层的一些东西,我基本上都不知道,我给他演示我的安卓作品,他也是看不明白技术含量在哪,啥也没说。后来他意思我的情况比较特殊,说打电话去总部,给我专门安排一下面试。后来深信服有联系过我,但是我那天已经有事了,所以就没去。之后也没有再联系了。

美团初面

美团笔试完,很快我就收到了面试通知。那天下午去了皇后大酒店,看到里面有很多人在等着。一开始我担心迟到了影响不好,结果几乎是准时到了,然后还是等了一个多小时才喊我去面试。

我的简历做的确实很特别,大胆的大片蓝色,独一无二,有点商务风格,二十米开外就能轻易的看见工作人员拿着我的简历,这样感觉真不错~

初面面试的是安卓开发,对面试官感觉挺好的,很客气也比较亲切的感觉。整个过程中说说笑笑的,讨论到不少问题,例如面试官看到我的简历,说他也是通信工程专业的,问我怎么学了数据结构,他以前就没学,我说我们学校也是考虑到就业后来增加了这个课程;还有我的手机电源键在侧面,面试官的三星手机电源键竟然在背面,当时就觉得很好笑;面试官还问我的简历为什么做成那样,是不是移动应用的风格(其实一开始设计的时候我也没想那么多,当时发现确实是那样的特点)。

面试官一开始看了我的笔试答卷,说我C语言学的挺好的。关于安卓的那道题,当时如实给面试官说我做过笔记,但是记得不清楚(有人觉得这么说不好,因为不知道的东西也可以说不记得了,感觉像是个借口。不过我觉得诚实的说明自己没记清楚还是有必要的,我也确实是做过笔记)。

后来主要就是围绕着我在简历上写的个人特长,找了不少技术问题来问我。有些我有了解,有些也不是很清楚。不清楚的问题我会直接说我不知道(不知道的东西直接清楚明了的说不知道,比支支吾吾甚至不懂装懂要好),也有的确实记不清了就说了个大概(技术问题很多记不清,需要的时候去查资料,我觉得这是再正常不过的事了)。期间就发现面试官非常认真的在一张表格上记录着什么,不过我没怎么看清。感觉阿里的面试管可能都是经过了培训,提前做过充足的准备,只问问题考察你;而美团的面试感觉更像是在讨论,有些问题我不懂面试官还会顺便教我,从这里或许也能看出来一点公司里面的氛围。

最后面试官问我大学期间哪些课程学得好,我就如实说了,微机原理、编程等计算机方面比较好,然后模电数电也不错。一不小心就抖露了这个事实,面试官问我为什么模电数电学的好,我说我原先做硬件的,感觉硬件学的还不够,所以就选择了安卓。又大概说了几句然后面试官让我到门口等一会,初面就这样结束了。

美团二面

在门口等着,我看到面试官出来了,和其他同事讨论,我听到他说我原先做硬件的,好像是要给我安排面试一下硬件。其实我这时才知道原来美团也有硬件岗位,但是在硬件方面我确实就没做什么准备,除了那几个简单描述的项目经验。就这样,我神奇的一面安卓,二面了嵌入式和硬件方向。

二面的面试官也感觉比较好,但是感觉稍微有点不善言辞。我和他说到一些感觉比较有趣的东西时,发现面试官没什么反应。感觉技术做多了,习惯性的从技术的角度考虑问题,所以技术人员普遍不太善于与人交流。而硬件更胜一筹,因为硬件的直接用户往往还是技术人员(一般是底层硬件研发出来供上层软件开发者使用);相对来说,互联网软件尤其是客户端,跟用户的关系密切,需要经常从大众用户的角度去考虑问题,客户端偏用户界面的前端方向,可能还会从平面设计、艺术的角度考虑问题,所以技术性相对弱化了。这也是我更倾向于做软件的原因之一。

面试官看我的简历,上面全是安卓的东西,我就解释我本来准备面试安卓的,就没怎么准备硬件方面的,然后把项目经验当中的硬件部分拿出来给面试官看。他在上面看到我用过GPRS模块,问我什么型号,我说是有方M660,还特地说明了一下有方是深圳的一个公司。结果发现很巧,面试官说他也在做有方M660,就问我相关的东西,比如AT指令集注册网络,还有程序怎么写的,电源的设计之类。又问到了三极管电平转换的问题,让我画一下电路。我知道在有方的用户手册上有,当时不太记得了,试着画了一下发现不对,又重新画,自己发现还是不对。面试官就给我说怎么画,然后发现他也没记清,就没画了(其实面试官也会有不记得或者不懂的东西,很正常。像阿里这种公司,面试官提的问题估计都是提前准备好的,所以不会让你发现什么破绽;小公司就随意一些,甚至还有面试人员说了一堆,结果面试官听不懂的情况,想想其实倒是挺有意思的;公司里面的氛围一般也是这样,小公司比较随意自由,大公司更规范化)。

二面也是为了很多技术问题,果然问到了一个很经典的问题,C语言中的volatile关键字。我的回答是易挥发性变量,常用在一些寄存器的定义上,例如精简指令集的430单片机,使用的是统一寻址,把IO口寄存器映射到了内存中的地址,然后就可以用volatile关键字定义寄存器,这样每次读写这个变量时都会直接操作内存地址,而不会进行优化去操作工作寄存器中缓存的变量。和初面一样,面试官很认真的做了很多记录,面试过程感觉比较轻松自然。

想想很戏剧化,我极力突出综合实力强的时候,阿里只关心我的安卓开发技能;而当我有意掩盖无关的硬件实习时,却被美团给欣赏了一番。

美团终面

终面已经是晚上吃饭时间了,面试官看上去好像很累,然后就说了一些非技术问题,比如大学里面都做了些什么这一类的,大概就是想了解一下人际交往等方面的特点吧,没有太多特别值得说了,具体内容也没什么印象了。

最后面试官问我有没有什么要问的。我说我想了解下美团内部的运作机制,这个问题之前好像是听同学说的,貌似这么问会让人觉得你对公司比较关心,当然我也没想那么多就问了。面试官没怎么听懂,我就解释了一下,比如阿里里面是分了很多部门,然后每个部门又有一个个的项目组。面试官就给我简单说了下公司里面产品研发的部门分工之类,还特别强调了互联网产品的更新非常快,美团客户端是一周更新一次,所以工作节奏也很快。

之后我又问了一个问题,说我这次面试的表现怎么样(马上感觉到这么问不太合适,就做了补充),我有什么缺陷或者有待提高的。面试官说本科生能做到这样,软硬件都会这些已经很好了,主要不是计算机方面的专业,另外缺乏大型软件项目的经验。说的也挺对的,不是计算机专业,很多软件方面的课程没有学过,虽然影响不是很大,包括大学里很多课程大家也不一定能认真学,但是即使只是为了考试去应付着学一下那些课程,对于从事相关的工作还是有点作用的。学习数据结构这本课程,对我来说就很有用;而操作系统、计算机网络作为选修课,也就看了几天书,但是对于我了解那些软件开发相关的概念,例如TCP协议,线程间通信,还是起到了不小的帮助。如果不为了应付考试,或许我也没有决心去看那么厚的书。至于没有开发过大型软件,这也是事实,我做的App几乎都是本地的,没有做过服务器,也没有做过网络应用,也需要继续学习。

终面完了,面试官说我可以回去了,估计两三天就会出来结果。

等待结果

要说办事效率,感觉对于招聘事务的处理,美团确实没有阿里那么高效。原先说好的两三天,结果我等了很多天,好在有一块找工作的同学告诉我,美团那之后好几天都还在面试,估计结果要比较长的时间才能出来。但是自从被阿里拒了以后,我心里还是很没谱,尽管感觉美团面试的很顺利,还是不敢盲目自信。

面试华为

9月22号周一的下午,是华为的机试时间。已经周一了,美团那边还是没有一点消息!!!我这会真是怕了,赶紧乖乖的去华为做性格测试和机试。听说华为性格测试刷人厉害,包括很多技术很强的人都可能被刷。同学教我一句咒语,华为性格测试前反复默念:我是技术宅,听领导的话,对创新没有太大兴趣,非常团结,也不想当领导。嗯,加油~性格测试后来了解到,我机智的通过了,但是感觉我肯定不适合华为的氛围。

华为的机试是写程序,我第一次做OnlineJudge啊,连该不该输出换行符都不知道。作为一个熟悉Java的人,写起代码来比C++优势大了不少,第一道题不到五分钟就给刷过去了,满分。第二道题,花了时间久一点,记得好像第一次错了,改了一遍,然后也测试通过。第三道题好难的感觉,题目很长,好久才看懂,后来还发现理解错了好几个地方。第三道题改了又改,发现当时脑子晕,冒泡法排序竟然又给忘了,失忆了一样完全想不起来怎么排序(我写程序严重依赖灵感,时好时坏,算法也是弱项),好在Java内建的排序我用的顺,就如此这般感觉作弊一样的达到了效果。第三道题坑惨我了,因为我不懂OnlineJudge的规则,输出格式不对。改了很多遍,用完了总共好像是五次修改程序的机会,倒数第二次修改完,我还是0分。但是明明自己测试的结果就是对的啊~最后一次我做出了艰难的决定,好像是添加还是删掉了换行符输出,没想到一下子就拿了一大半的分数……

做完机试打电话给已经有华为Offer的同学,他说我的机试成绩已经算高分了,这下放心了很多。然后坐着916回来了,下午那会在西工大,接近起点站的地方,916真是很空,好多座位。

拿到第一个也是唯一的Offer

华为结束了,美团看上去好像又没戏了……看来只能沦为华为的螺丝钉了,或者考虑10月份还有好多公司尤其是很小的创业公司吧。幸福来得太突然,晚上吃饭的时候,竟然收到了美团的短信,说已经通过了面试,之后会发Offer。这下简直高兴坏了,赶紧找同学问一下签Offer有什么要注意的事情,顺便炫耀一下。一个多月以来累成狗,这下终于轻松了。之前早有谋划,如果10月之前拿到Offer,就把多年积攒的钱拿去买单反,国庆好好玩~早就想买了一直没钱。。

拿了华为Offer的那个电院小伙伴也面试了美团嵌入式,他感觉没什么希望,因为自己之前学的不多。期间我们一块关注了好多公司,他也说过,不想到处面试了,干脆去华为算了。我就把同学给我说的话拿出来鼓励他。我拿到美团Offer那天,华为通知他第二天赶紧去签三方协议。他和我讨论,说不知道要不要签华为。如果不签华为,后面又不知道上哪找工作,美团结果没出来,感觉也没希望;如果签华为,因为三方只能签一家,想改签别的公司要到来年五月新的三方下来;和公司还有合同,签了要交不少违约金,据说对个人诚信也不是很好(而且从心理上来说,违约肯定也不是什么好事)。

我当时的意思,既然很不想去华为那就别签,大不了后面还有很多创业公司,虽然工资可能不是很高,但是很有发展前景。其实还有360之类的公司还没开始招聘。那天晚上他给我说,他打电话问了,美团面试也通过了,感觉简直不相信。想再打个电话确认下,会不会搞错了,但是又怕HR嫌烦。后来确实是通过了,刚好一块去北京上班。

后来也关注过木瓜移动,是个很有潜力的公司,当时才一百多员工。笔试参加了,但是没有收到面试通知,那天同学叫我去面试,我睡着也不想起来了……拿了美团Offer之后真懒。木瓜移动笔试前是宣讲会,宣讲会开始前美团那边给我打了电话,意思是美团今年的工资不会低,希望我保留好三方和美团签约。

最后在国庆前,就和美团签了劳动合同和三方协议,之后收到了美团的Offer大礼盒,故事就这么结束了~

庆幸没进阿里

后来我很庆幸阿里面试没通过。我不喜欢被过多条条框框约束,也不喜欢大公司复杂的人际关系,相对自由的氛围才能做得更好,一开始没考虑那么多,就想着偷懒早点找个公司进了得了。美团规模比阿里小,环境会更适合我。后来发现我真是运气好,美团今年扩招,花了大手笔,工资提了很多,以至于我的工资比班里进阿里的大神工资还要高。今年美团好像总共在西安招了一两百人,西电的占了一大半。

仅仅论我安卓开发技术层面的能力,感觉真的一般。阿里只需要我安安分分的写安卓,不欣赏我的综合能力,但是美团欣赏。如果当初阿里面试过了,我这种懒人怕是不会想其他的事进签了阿里,估计至少当几年螺丝钉了;阿里已经上市了,估计会越来越朝着规范化大公司的方向发展。

阿里面试没通过,虽然承受了不小的压力,但是美团面试感觉非常棒,不只是发挥的还可以,更是喜欢和面试官那种比较亲切的氛围。面试阿里感觉像在和老师交流,面试美团更像是和高年级学长聊天。感觉阿里的面试就是给定了考核标准,然后每个方面给你打分,很规范,但是有种考试的意味。甚至是我那时想出来这样一个故事。

A、B两人面试软件工程师,两人长得一样帅。

面试官:线程通信有哪几种方法?

A:我用过共享内存、消息,其他的记不清了

B:共享内存、消息、管道、信号量、Socket

A是有一些经验的程序猿,并且A还懂硬件,很有想法;

B是没写过程序的小白,但是记忆力很好。

如果按照标准化的考核方式,回答出一点就要给分,显然B的得分高,A被淘汰。所以说,面试时按照考试一样备考,对于面试是有帮助的。对于我来说,当然不喜欢这样;但是对于确实没有实际项目经验的同学来说,这一点是很有利的。之前说到阿里的办事效率高,而美团之后的各种通知都有点慢,这可能正是因为阿里标准化的规范使然。

美团的面试,问的特别细小,例如我说一个问题,面试官由于没有那么多约束,他可以很深入的问下去,直到了解到我到底在什么样的环境下做了这个东西,感觉是在真正的去了解每一个人,而不是为了考核指标。两种方式各有优缺点吧,我当然更喜欢后者,因为对我有利。

我在美团面试的成绩靠前,HR给我说,到时可以和CEO在同一楼工作,是那种开放的格子间的环境,每天都能看到CEO,这样真是非常难得的学习机会。美团是个很有潜力的公司,发展前景也很好。既不像大公司的氛围,也不像那些百来人的初创公司那么随意和不成熟,感觉恰到好处。

我不太清楚什么叫公司价值观,我说的这些可能就是公司价值观的一些体现吧。

没有社会经验,特别是我又不太善于和陌生人交流,之前一直很担心进入社会的一些问题,容易被人坑了吃亏什么的。把我一个人放到北京,根本不知道上哪租房子。好在西电有那么多去美团的,尤其是关系一直不错的电院小伙伴能一块去,以后各个方面都能相互照应,非常让人安心。美团在朝阳区地铁5号线上,在地铁线上租房子,公司有大巴沿着地铁线走,对于我这个容易晕车的人,又是北京这种人满为患的地方,实在是太好了。

总结起来,怎么想都觉得是人品大爆发。

总结

这个过程回想起来确实很艰苦,我最深的体验是,心态非常重要,自己的信心就在不断的波动。过分自信容易出事,没有自信,面试又表现不好。所谓自信,可以理解成是对自己和自己要做的事情的一个评估,如果对自己的评估比较高,就会有信心;如果把事情的难度评估的过高,就容易丧失信心。所以准确全面的认识自己、认真的从公司的角度来思考他们可能需要什么样的人,并且多找些资料来参考下,和同学多交流,会有比较大的帮助。另外,想找个好工作千万不能像我一开始那样想着偷懒,多努力一把,可能就会有一年上万的工资差。

在找工作的过程中,就我个人而言,很多想法发生了一些动摇,有点不能被认可的感觉。好在最后又终于想明白了,各种想法进行了完善,得到了不小的进步。例如一开始就觉得学习能力很重要,而不是现有知识储备,学校的考试很多时候就只强调你会什么,而不强调你的学习能力;我总以为公司面试肯定不是这样;后来发现单方面的有学习能力,而没有足够多的知识积累,也确实是有问题的;总而言之,两者都很重要,看问题更加全面了。

面试的时候,如果你有项目经验,就拿出来;没有项目经验,注意下技巧,提前多看一些历届笔试和面试题,有针对性的准备一些,也是很有帮助的;毕竟不是每个人在学校都是不上课的竞赛狂。另外还是要找适合自己的公司,一方面是工作能力上适合,另一方面确实是价值观的问题(公司氛围什么的,简单说一般是大公司规范,小公司自由)。能力上,如果真的是什么都不懂的人,去要求很高的公司面试,侥幸蒙混过关,到了公司肯定还是会压力巨大,甚至被公司辞退也不是没可能。另外面试也是看运气,多刷多练,总有一个公司会看中你。而即使是你认为的大神,也不是那么轻松就能找到工作,他们也和你一样会有各种担心和顾虑。

最后有兴趣的可以再看看我写的这两篇:

应届生校招找工作完整流程总结 http://www.paincker.com/get-job

深入浅出安卓,如何从零学好移动开发 http://www.paincker.com/mobile-develop

还有网上转载的几篇:

2015年阿里巴巴校招面试经验汇总:http://www.paincker.com/ali-jobs

115家IT公司待遇一览表 http://www.paincker.com/115-treatment

关于三方与毕业生推荐表相关问题 http://www.paincker.com/triple-agreement