毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前努力求职的回顾。
首先说说我拿到的offer情况:
微软,3面→终面,搞定
百度,3面→终面,口头offer
搜狗,2面,悲剧
腾讯,1面,悲剧
布丁移动(微车),3面,搞定
涂鸦游戏,3面,搞定
友盟,3面→CEO面,搞定
雅虎,4面→终面,搞定
微策略,2面,悲剧
人民搜索,3面→终面,搞定
人人,2面+终面+Special面,搞定
Google,7面,搞定
求职经历分为定位、准备、简历、笔试和面试这五个部分。我的求职经历适用但不限于码农,希望可以对大家有所启迪。
定位
教育经历:本科在某工科院校,由于GPA比较惨烈+挂科,所以没保成研,毕业后修了一年英语双学位,然后到帝都计算机职业教育学院接受再教育(算是转行到了IT)。
技术能力:属于半码农半产品的类型,代码编的过去(搞过compiler),也有一些拿的出手的产品(几十万的用户量),一句话描述:几十万代码+几十万用户的Coder。
专业能力:非计算机专业出身,算法拙计但基础扎实,碰到非专业的各种秒杀,碰到专业的各种拙计。
实习经历:大四在一家公司实习过一年,攒了不少代码量;后来在MS(微软)待了一年多,虽说是打酱油,但在众大神的光环笼罩下,水平至少提了三个档。
目标公司:由于实习公司给我的印象实在很差,而MS(微软)给我的印象又实在很好,所以就有了下面的排名:
外企(Google、MS、Yahoo等) > 国内互联网(阿里、腾讯、百度、网易等) > 国内中小事业单位
准备
经常在很多地方看到各种求职抱怨贴,其实在抱怨前应该仔细想一想:为了求职,你付出了多少?
看到人家找工作找的顺找的爽,有没有想过人家背地里付出了多少努力和心血?别拿官二代和富二代啥的说事,弱者只会拿一堆自身以外的理由掩饰自己的懒惰。
不要认为求职就是发个简历等面试通知,对于大神来说不用发简历牛逼公司也会围着你转,对于普通的我们来说就是预则立不预则废,中国缺什么就是不缺人,不下功夫准备很有可能没有结果。
其实很多人就是怕预也废所以干脆不准备直接上,这样搞不定的话,就有借口说不是自己蠢而是自己没准备,可以捍卫自己的智商高地不被侵犯。身边有不少这样的实例,典型的死要面子活受罪。
我的微软mentor曾提到过,我的实习面试表现一般,但后来表现出的动手能力大大超出之前面试的预估,而有些面试表现很出色,问题是对答如流的我,入职之后反而不是很理想,至少没有达到面试时发挥出的水准。
这说明一个问题,就是笔试面试,准备和不准备会差异很大。如果你的简历不是那么牛,那就只能靠笔试和面试的加分撑场面。身边经常有同学纳闷连代码都编不利索的我都能进MS,为什么他不能进?答案很简单:我比他多准备了一个月。平时电脑上写程序可能很利索,笔试面试时在纸上写写试试就知道什么叫拙计。
IT公司的笔试和面试的题量都不大,一般十几道选择题,三四道大题就算题量很大。但计算机的东西实在是太多,把偏僻的、特别简单的、操作性极高的舍去,对我来说就剩下程序设计、算法和操作系统。没错,这三项搞定,国内外IT公司通杀。
因此我的笔试和面试准备很简单,就是重温+突击程序设计、算法和操作系统(当然不同语言的码农因人而异,选出自己语言方向的重点进行突击)。
简历
在MS(微软)时,老大曾让我帮忙招几个靠谱的实习生,因此我收到了几百封简历,过了一把HR的瘾。这里说说自己在看简历时发现的几点:
1、可读性
不要用Word或压缩包,用PDF。此外在邮件里面用纯文本加上自己的简介,简化对方阅读的操作。
要记住HR一天看的简历海的去了,压缩包是HR最痛恨的格式,因为解压了就不知道扔哪去了,有时干脆就不看;Word有版本问题,10的docx到了07往往被乱码;还有就是对方有可能不在PC上读邮件,因此纯文本的简介非常有必要。
2、群发
不要给人群发的嫌疑,看清楚目标职位和目标公司,我发的工程院招聘贴,收到的几百封简历里有十余封是投到微软亚洲研究院的,有几个干脆写“敬爱的某领导”,这还能过?
3、设计
特别提一下设计,很多简历就是非常非常丑,对齐没有、字体拙计、要点不明。再放到几百份几千份简历里面,凉凉。不要小看设计的威力,在简历内容接近的情况下,良好的设计会大大加分。
4、篇幅
控制在一页以内,倒不是说不能写两页,而是HR没时间看两页这么多。而且就我看过的几百封简历而言,凡是超过两页的没一个靠谱,有这么高的先验概率,HR才没工夫一个个筛。
5、重点
一定要有重点,做到让HR通过简历在20秒内确定你靠不靠谱,可以用加黑字体进行视觉引导。
6、措辞
甭搞“渴望得到这份工作”、“期待在xxx的工作机会”这样的句式,除了显得你低端,其它毛用没有。
7、错别字
千万不要出现错别字,别字简历一般直接干掉。一页的简历都能出问题,一般不会靠谱。
因为看了很多不靠谱的简历,我对简历重要性的理解要比其他人深刻很多。首先花了一周把原来两页半的纸缩到一页内,然后找UI朋友帮忙调整了版式、缩进和字体,并找UI朋友帮忙进行重点调整以进行视觉引导,然后在PC和手机上进行了简历可读性测试,从而获得了100%的简历通过率。
海投简历既没必要也没效率,有这个时间不如改改简历来的实在。
笔试
如之前所说,IT公司的笔试相对单纯而且范围较窄,有不少题目被出了一遍又一遍,因此市面上存在大量面试/笔试宝典之类的书籍和资源。
准备国内的小公司,这些面试/笔试题集还靠的住,因为小公司往往不会在招人环节上下太大的成本,因此他们的试卷一般就是东拼西凑的网上题目;对于大型公司来说,这些题库或是宝典就显的不够用了,尤其是外企。
所以不要把希望放在运气或是临阵磨枪上。就我自己而言,笔试准备了一个多月,尽管这个时间并不算多,但由于自己平时一直在阅读相关知识,并做了大量的纸上代码练习,因此笔试通过率也达到了100%。
多说无益,这里拿搜狗、腾讯、微软和雅虎这四家公司的笔试试卷为例,简单的介绍下IT公司的笔试题型和题目组成。
搜狗:
题型由十余道不定项选择题和三道算法题目组成,要求在两个小时完成。选择题难度一般,比较杂,也有一些原题;三道算法题目有点意思,至少网上是很难找到,需要一定的算法设计能力才能给出解决。
腾讯:
题型由二十道单项选择题、六道填空题和两道算法题组成,其中两道算法题是二选一。难度比较简单,题型很广,既有程序设计语言的细节也有概率统计的基本知识,甚至还有C语言的创始人是谁这样的基础问题,从选择题上能看得出腾讯在笔试题上还是下了点功夫的。
微软:
题型只有二十道不定项选择题,难度较难,要求在一小时四十分钟完成。难度较难,覆盖面非常广,从设计模式、算法分析、代码阅读到C++语言特性,甚至连冷门的函数式程序设计语言都有涉及(微软的笔试题目BT之处在于其独特的积分机制:答对了加分,不答无分,答错了倒扣,所以不少人最后分数是负的)。
雅虎:
题型由十余道单项选择题,一道设计题目和六道算法题目组成,其中六道算法题目是六选二,要求在两个小时完成。难度尚可,主要考察编程能力和算法设计能力。
相对于微软,雅虎的题目覆盖面就窄了许多,没有一道题目跳出程序设计、算法和操作系统这个圈的,只要勤加准备,很容易通过。
从笔试题可以明显看出,国外的大型IT公司并不在意你现在的skill set(技能),而更看重你的potential(潜能),因此题目大多很基础,并具备相当的深度,以确保你对CS有深刻的理解并能够走的很远;而国内的IT公司更看重你现在的skillset(技能),因此会出现不少语言特性,OS操作之类的具体题目,以确保你能够以尽快的速度上手干活。
因此,准备笔试题的时候要确定自己的目标公司。特别注意,不要在笔试题目里犯低级错误,不要抄袭,保持书写的工整。
面试
就我自己而言,求职期间,我一共投了12封简历,参加了12家公司的面试,一共面了35轮。说多不多,说少不少,因为自己投简历时也是本着互联网公司为主,小公司和企事业单位压根没有投,精准投放的好处在于可以集中精力准备同一类型的公司,从而达到不错的效果。
关于IT公司的面试,需要注意的是我这里聊的都是应届生面试,社会招聘面试可能会有所区别,但整体流程不会有太大差异。
尽管笔试题会有所差别,但IT公司面试的流程大同小异:标准的技术面试一般有45分钟到60分钟,大约分为三个阶段:
1、自我介绍(5~10分钟)
由于这个环节相对固定,因此准备起来相对容易,但即便如此,面试初期时我在自我介绍环节也犯过不少错误。这里以我的经历简单的总结下这个环节的要点:
(1)言简意赅,突出亮点
如何在3分钟内让别人觉得你牛逼呢?很简单,说且仅说你最牛逼的事迹,让对方留下深刻印象。就技术面试而言,牛逼的事迹包含三方面:做过的项目,读过的书,认识的人。
(2)紧贴简历
面试官了解你的另外一个途径就是简历,然而短短一两页的简历很难说明白你简历项目中的亮点和难点。就算你不提及,面试官也会在简历中挑他感兴趣的点进行提问,因此自我介绍的内容应该是简历的补充。这样既能留给面试官不错的印象,也能有效节省时间,留出更多的时间进行技术提问环节和问答环节。
(3)了解公司需求
不同的公司有不同的需求,面试之前要进行详细的调研,了解公司和职位的需求,然后根据他们的需求定制自己的自我介绍和简历,效果会更好。
2、技术提问(35~45分钟)
通过自我介绍环节,面试官会对你有一个大概的评估,接下来会通过一系列深入的问题考察你的项目经历和技术能力。
按照MS的分类,技术面试问题分为三类:
(1)Behavior questions:此类问题针对面试者的过往经历,一方面考察面试者的表达能力和实际经验,一方面也可以排除掉一堆在简历上吹牛逼的人:
“说说你最牛逼的项目?”
(2)Hypothetical questions:此类问题会假设出一些场景,让面试者进行作答,主要考察面试者的应变能力和实际经验:
“给你三天,你会如何把xx项目做得很牛逼?”
(3)Probing questions:如果前两类问题答的不错,面试官往往会追加一些问题,以探测面试者能够走多远,此类问题的出现也是一个标志,面试官对你之前的表现感觉还不错:
“你会如何改进你做过的最牛逼的项目?”
就具体技术问题而言,考察题目视你的应聘职位和你的过往经历而定,开发岗会侧重代码编写和系统设计,测试岗会更注重测试用例的编写等细节,产品岗要对线框图,交互设计有了解。不过算法设计和代码编写这两块是肯定有的,毕竟这是程序员的看家功夫,这个搞不定就没有然后了。
3、问答环节(5~10分钟)
如果前两个环节进展顺利,就会进入最后的问答环节。这个环节面试官一般会让面试者提几个感兴趣的问题,以增进相互的了解。
最后根据自己的面试经历说说几个细节的问题
态度:记住你是去求职,证明自己的能力达到职位需求是你的首要任务。没有必要和面试官抬杠,把面试官搞不爽对你一点好处都没有。
着装:尽管IT公司大多不需要西装革履,但也别太拖沓,穿整齐些,至少给人很精神的感觉。
交流:面试是一个交流的过程,不明白的一定要主动询问,面试的大忌就是面试官给了一个问题,你一声不吭的搞了一个小时,最后发现搞的不是面试官问的问题,这时就算你很牛逼,面试结果往往也是悲剧。
7、总结
由于面试轮数很多,因此这里就不依次说每轮面试的细节了。
笔试难度:微策略 > 人搜 > 人人 > 雅虎 > 搜狗 > 创新工场 > 腾讯
面试难度:Google > 雅虎 > 人搜 > 微策略 > 微软 > 人人 > 百度 > 腾讯=搜狗=创新工场
待遇:Google > 人人 > 人搜 > 雅虎 > 微软 > 百度 > 创新工场旗下子公司
毫不犹豫的选择了Google,老实说我自己进Google感觉像做梦,毕竟不是搞ACM的,大学成绩一般,什么奖学金都没拿过。
但回想一下,这也不全是靠运气:从07年(那时我大三,一行代码没写过)挂科开始,决心开始搞计算机这行,编写自己的第一行靠谱代码,独立完成第一个编程作业,阅读书籍不懂的就询问,然后一边实习一边读书学习,在考研结束的那段时间(四个月假期)精读了数据结构,计算机组成等基础经典书籍,补习自己的基础。
到帝都之后,在一场即兴技术口译之后,获得去微软实习的机会,然后在实习中学习编译器知识,创作了自己的编程语言和编译器,通宵一周完成毕业小论文发表并推荐到核心期刊,为了求职写了三本纸上代码,阅读the Science of programming学会如何证明自己代码的正确性,100%的简历通过率+100%的笔试通过率,最后进入Google。
失败的道路千千万万,成功的途径却是一模一样的。无外乎是你要去付出,付出学习时间也好,付出努力的经过也罢。不断地挑战自我,为成功做好铺垫!
出处:头条号 @指尖上的代码