当前位置:   article > 正文

9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路(1)

9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路(1)

最后

写到这里也结束了,在文章最后放上一个小小的福利,以下为小编自己在学习过程中整理出的一个学习思路及方向,从事互联网开发,最主要的是要学好技术,而学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯,更加需要准确的学习方向达到有效的学习效果。

image

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾。

首先说说我拿到的offer情况:

微软,3面->终面,搞定

百度,3面->终面,口头offer

搜狗,2面,悲剧

腾讯,1面,悲剧

布丁移动,3面,搞定

涂鸦游戏,3面,搞定

友盟,3面->CEO面,搞定

雅虎,4面->终面,搞定

微策略,2面,悲剧

人民搜索,3面->终面,搞定

人人,2面+终面+Special面,搞定

Google,7面,搞定

求职经历分为定位准备简历笔试面试这五个部分,大家挑感兴趣的看就成。

我的求职经历适用但不限于码农,不适用与企事业单位(据说是完全不同的考察标准和流程)。废话比较多,大家耐心忍受,有什么问题可以跟帖提问。

2,定位

教育经历:本科在大连某工科院校,由于GPA比较惨烈+挂科,所以没保成研,毕业后修了一年英语双学位,然后到帝都计算机职业教育学院接受再教育。

技术能力:属于半码农半产品的类型,代码编的过去(搞过compiler),也有一些拿的出手的产品(几十w的用户量),一句话描述:几十w代码+几十w用户的Coder。

专业能力:非ACM出身,算法拙计但基础扎实。由于单身所以看了N多书(CS+心理+经管+历史),扯淡能力强大,碰到非专业的各种秒杀,碰到专业各种拙计。

实习经历:大四在一家ds公司实习过一年,攒了不少代码量;后来在MS断断续续的待了一年多,虽说是打酱油,但在众大神的光环笼罩下,水平至少提了三个档。

目标公司:由于百度给我的印象实在很差,而MS给我的印象又实在很好,所有就有了下面的排名:

外企(Google、MS、Yahoo等)>国内互联网(阿里、腾讯、百度、网易等)>企事业单位(基本不考虑)

3,准备

经常在论坛里看到各种求职抱怨贴,其实在抱怨前应该仔细想一想,为了求职,你付出了多少?看到人家找工作找的顺找的爽,有没有想过人家背地里付出了多少努力和心血?别拿官二代和富二代啥的说事,真ds只会拿一堆自身以外的理由掩饰自己的懒惰。

不要认为求职就是发个简历等面试通知,对于大神来说不用发简历牛逼公司也会围着你转,对于ds来说就是预则立不预则废,中国缺什么就是不缺人,不下功夫准备很有可能连个P都没有。

其实很多ds就是怕预也废所以干脆不准备直接上,这样搞不定的话,就有借口说不是自己蠢而是自己没准备,可以捍卫自己的智商高地不被侵犯。身边有不少这样的实例,典型的死要面子活受罪,活该你找不到工作。

我的微软mentor曾提到过,我的实习面试表现一般,但后来表现出的动手能力大大超出之前面试的预估,而有些面试表现很出色,问题对答如流的选手,入职之后反而不是很理想,至少没有达到面试时发挥出的水准。

这说明一个问题,就是**笔试面试,准备和不准备会差异很大。**如果你的简历不是那么NB,那就只能靠笔试和面试的加分撑场面。身边经常有同学纳闷这样代码都编不利索的傻屌都能进MS为什么我不能进,答案往往很简单:人家比你多准备了一个月。平时电脑上写程序可能很利索,笔试面试时在纸上写写试试你就知道什么叫拙计。

IT公司的笔试和面试的题量都不大(相对于企事业单位和银行动辄上百道选择题的题量,算是很少),一般十几道选择题,三四道大题就算题量很大。但计算机的东西实在又是太多,程序设计、数据结构、算法设计、操作系统、体系结构、编译原理、数据库、软件工程等分支,编译的话太难(一千个码农里也没几个人能在纸上写一个最基础的递归下降LLParser),软件工程、体系结构、数据库这些太水(不是说这些分支没用,而是它们很难考察,尤其对应届生来说这些都是些文字游戏,比如说面向对象的三要素五原则,有个鸟用),这么一排除,再把数据结构和算法设计一合并,就剩下程序设计、算法和操作系统。没错,这三项搞定,国内外IT公司通杀。

因此我的笔试和面试准备很简单,就是**重温+突击程序设计、算法和操作系统。**下面是我的笔试+面试准备内容:

程序设计:

1,把基础的数据结构的C语言实现在纸上写三遍以上,用我能想到的最精简最优化的方法

2,阅读CARM和TCPL,确保不会遗漏C语言的每个细节

3,重温之前自己做过的靠谱项目,并总结里面的关键难题和解决思路

4,重读Writing Solid Code、Elements of Programming、Practice of programming

5,阅读Science of Programming,做到可以证明自己的程序的正确性(前条件+后条件+不变式)

算法:

1,重读Algorithm Design Manual,重点阅读Dynamic Programming和Backtraverse

2,重读Programming Pearls和More Programming Pearls,并完成所有课后题

3,独立解决编程之美里面的题目(国内不少企业选题用的这本书)

4,完成Careercup里Amazon、Google和Microsoft这三个分类下面的前20页面试题

5,完成TopCoder的数十道D1L2~D2L1难度区间的算法题目

操作系统:

1,重读Modern Operating System,重温OS的核心概念

2,重读Computer Systems a Programmer’s Perspective的关键章节,回顾里面的关键点

从七月底开始一直到十一月,花了接近四个月,很多东西都是一边面试一边准备:面试->发现盲点->修复盲点。

此外列出一些面试笔试题的资源,此外感谢基友@codewarrior之前的推荐:

1,Crack over the code interview

很靠谱的笔试面试指导手册

2,CareerCup

集齐了大量的真实笔试面试题,去外企的一定得看

3,TopCoder

如果不是ACM,练这个就够,其实面试也不会问太难的算法,哪怕是google

4,编程之美

尽管题目有些过时,但依然很实用,三星题目适合一个人仔细想

此外也说下一些不靠谱的资源

1,IT公司面试100题

这个恐怕是国内传的最多的IT面试题

题目本身还可以,但那个出题人本身代码功底一般,给出的答案包含大量错误和缺陷,导致参考价值骤降

2,程序员面试宝典

一样的书,各种错误概念的堆积,**如果一个错误给我一块钱,我能从这本书搞成万元户。**如果去正规公司拿这本书准备,包你被黑出翔。

4,简历

在MS时,老大曾让我帮忙招几个靠谱的实习生,因此我收到了几百封简历,过了一把HR的瘾。这里说说自己在看简历时发现的几点:

1,可读性。不要用Word或压缩包,用PDF。此外在邮件里面用纯文本加上自己的简介,简化对方阅读的操作。要记住HR一天看的简历海的去了,压缩包是HR最痛恨的格式,因为解压了就不知道扔哪去了,有时干脆就不看;Word有版本问题,10的docx到了07往往被黑出翔。还有就是对方有可能不在PC上读邮件,因此纯文本的简介非常有必要。

2,群发。不要给人群发的嫌疑,看清楚目标职位和目标公司,我发的工程院招聘贴,收到的几百封简历里面有十余封是投到微软亚洲研究院,有几个干脆写“敬爱的某领导”,尼玛这不找抽么。

3,设计。特别提一下设计,很多电工的简历就是翔,丑的一逼,对齐没有,字体拙计,要点不明。再放到几百份几千份简历里面,活该你被忽略。建议所有电工投简历前阅读《给大家看的设计书》,至少搞明白里面的C.R.A.P四原则。不要小看设计的威力,在简历内容接近的情况下,良好的设计会大大加分。

4,篇幅。控制在一页以内。倒不是说不能写两页,而是HR没时间看两页这么多。而且就我看过的几百封简历而言,凡是超过两页的没一个靠谱,有这么高的先验概率,HR才没工夫一个个筛,反正中国有的是人。

5,重点。一定要有重点,做到让HR通过简历在20秒内确定你靠不靠谱。可以用加黑字体进行视觉引导。

6,措辞。甭搞“渴望得到这份工作”、“期待在xxx的工作机会”这样的句式,除了显得你低端,其它毛用没有。

7,别字。千万不要出现错别字,别字简历一般直接干掉。一页的简历都能出问题,一般不会靠谱。

因为看了很多不靠谱的简历,我对简历重要性的理解要比其他人深刻很多。首先花了一周把原来两页半的纸缩到一页内,然后找UI朋友帮忙调整了版式、缩进和字体,并找UX朋友帮忙进行重点调整以进行视觉引导,然后在PC和手机上进行了简历可读性测试。从而获得了100%的简历通过率。

此外,优先走内部推荐,这样最有效率,所以结识各个公司的朋友是非常有必要的。

海投简历既没必要也没效率,有这个时间不如改改简历来的实在。

相关书目:

1,给大家看的设计书,让你的简历看起来不像一坨翔。

2,Google Resume,如何写出靠谱的简历,进行靠谱的求职。

5,笔试

如之前所说,IT公司的笔试相对单纯(程序设计、算法和操作系统),而且范围较窄,有不少题目被出了一遍又一遍。因此市面上存在大量面试/笔试宝典之类的书籍和题集。

准备国内的小公司,这些面试/笔试题集还靠的住,因为小公司往往不会在招人环节上下太大的成本,因此他们的试卷一般就是东拼西凑的网上题目;对于大型公司来说,这些题库或是宝典就显的不够用了,尤其是外企。

所以不要把希望放在运气或是临阵磨枪上。就我自己而言,笔试准备了一个多月,尽管这个时间并不算多,但由于自己平时一直在阅读CS的基础书籍,并做了大量的纸上代码练习,因此笔试通过率也达到了100%(实际上是由于我笔试的公司题目都略简单,据说EMC和网易游戏的笔试难度很高,但当时由于时间冲突没有去成,因此搞出了这个数据)。

多说无益,这里拿搜狗、腾讯、微软和雅虎这四家公司的笔试试卷为例,简单的介绍下IT公司的笔试题型和题目组成。

搜狗:

题型由十余道不定项选择题和三道算法题目组成,要求在两个小时完成。选择题难度一般,比较杂,也有一些原题;三道算法题目有点意思,至少网上是很难找到,需要一定的算法设计能力(主要是动态规划)才能给出解决。

搜狗的笔试试题按职位分的很细,从C++开发工程师到iOS开发工程师再到数据挖掘研究工程师十余个职位,每个职位的题目都有一套独立的试卷。但是研发的算法题是一样的,最后一道算法题很有意思,我花了一个多小时才想到利用组合数学里面的知识(多元一次方程非负解)给出设计方案,后来和面试官聊这道题时他们也挺吃惊,因为我的方案比他们的答案还要优化。

腾讯:

题型由二十道单项选择题、六道填空题和两道算法题组成,其中两道算法题是二选一。难度比较简单,题型很广,既有程序设计语言的细节也有概率统计的基本知识,甚至还有C语言的创始人是谁这样的搞笑问题,从选择题上能看得出腾讯在笔试题上还是下了点功夫的,但算法题就太简单了点,至少我认为考不出什么区分度。

腾讯的笔试试题也是按职位划分的,但就没有搜狗那么细了,研发类笔试题目是统一的,要求一个半小时完成,印象里自己四十分钟就搞定收工,很多人都提前交了试卷,因为确实很简单。

微软:

题型只有二十道不定项选择题,难度较难,要求在一小时四十分钟完成。难度较难,覆盖面非常广,从设计模式,算法分析,代码阅读到C++语言特性,甚至连冷门的函数式程序设计语言都有涉及。

微软的笔试题目BT之处在于其独特的积分机制:答对了加分,不答无分,答错了倒扣。这就使得很多ds答完试卷感觉自我良好但实际已经被倒扣出翔。以最后一道题为例,答对了加7分,答错倒扣13分,相当于一下子损失20分。所以微软的笔试题会做就得做对,不会做就别蒙,要不更惨。

此外,微软的笔试题是英文的,加上时间比较短,有些人题都读不完,有些ds连functional language是什么都不知道,自然败的很惨。

雅虎:

题型由十余道单项选择题,一道设计题目和六道算法题目组成,其中六道算法题目是六选二,要求在两个小时完成。难度尚可,主要考察编程能力和算法设计能力。由于时间充裕,尽管是六选二,为了炫技,我直接答了里面的五道题目。然而面试时发现面试官判卷子时并没有把多答的题目考虑在内,囧tz。

相对于微软,雅虎的题目覆盖面就窄了许多,没有一道题目跳出程序设计、算法和操作系统这个圈的,只要勤加准备,很容易通过。

雅虎的笔试题也是英文,因此英语作答较为合适,此外,由于算法题目简单,给出optimal solution是必须的,比如说在logN的时间内算fibonacci number是必备的知识,能写binary search就不要写sequential search等等。

从笔试题可以明显看出,国外的大型IT公司(比如雅虎,微软和谷歌等)并不在意你现在的skill set,而更看重你的potential,因此题目大多很基础,并具备相当的深度,以确保你对CS有深刻的理解并能够走的很远;而国内的IT公司(比如百度、搜狗和人人等)更看重你现在的skill set,因此会出现不少语言特性,OS操作之类的具体题目,以确保你能够以尽快的速度上手干活,至于能发展到啥程度他们就不care了。

因此,准备笔试题的时候要确定自己的目标公司:主攻国内公司的话,C++的语言特性、linux基本命令操作这些细节也得准备,因为会有大量此类题目;主攻国外公司的话,良好的英文阅读能力必不可少,此外优秀的代码理解和代码编写能力也不可或缺。

此外,不要在笔试题目里犯低级错误,不要抄袭(面试时经常会问到笔试题),保持书写的工整(尤其是代码题目和问答题目)。

考虑到几乎所有的公司都有编程题目,也就是在纸上写代码,这里推荐几本相关书籍:

1,Elements of programming style 2nd,写出良好风格的代码。纸上代码一般不长,但短短几行代码往往可以看出这个人的水准,风格很差的代码往往会被pass掉。

2,Algorithm design manual 2nd,作为非ACM出身的码农,这本书比算导实用很多,课后题也很实在,对回溯,动态规划这些编程技巧讲的非常清楚。

3,C interfaces and implementation,无论是面试还是笔试,一般都会用C写程序,这本书包含大量的工业级C代码,绝佳的参考和模仿素材。

最后推荐下Elements of programming和Structure and interpretation of computer programs,这两本书难度很搞,需要大量的时间阅读,不适合临场阅读准备,但读过后,写出的代码绝逼会上两个层次,这里我就不多介绍了。

6,面试

之前有人PM我关于海投简历的问题。我个人不建议海投简历。因为对能力弱的人来说,海投简历只会让他信心更差,没有任何效果,有投简历的时间还不如精心准备少数几个好公司;而对能力强的人来说,海投简历之后会有大量的笔试和面试,笔试很耗体力,面试更很耗体力,不但需要打车或坐地铁在各个公司间穿梭,而且需要在面试时保持精神的高度集中,一般面下来都会精疲力尽,导致接下来的发挥不好。所以还是之前所说,优先内部推荐,然后再根据自己的情况和职业发展路线选择公司,选择职位,不用选太多,集中精力攻破领域内的TOP3即可。就我自己而言,求职期间,我一共投了12封简历,参加了12家公司的面试,一共面了35轮。说多不多,说少不少,因为自己投简历时也是本着互联网公司为主,小公司和企事业单位压根没有投,精准投放的好处在于可以集中精力准备同一类型的公司,从而达到不错的效果。

关于简历海投的问题就说到这里,接下来讲讲IT公司的面试。需要注意的是我这里聊的都是应届生面试,社会招聘面试可能会有所区别,但整体流程不会有太大差异。

尽管笔试题会有所差别,但IT公司面试的流程大同小异:标准的技术面试一般有45分钟到60分钟,大约分为三个阶段:

1,自我介绍(5~10分钟):

这个环节的主要目的在于建立面试官和求职者之间的沟通,面试官已经扫过你的简历,但需要对你有进一步的了解,以便建立一个初步印象,并便于进行接下来的技术提问,所以这个环节最常见的问题无外乎“进行一下自我介绍”,有时会加上3分钟或是5分钟的时限,有时会询问“说说你最得意的项目/作品”之类的变体问题。

由于这个环节相对固定,因此准备起来相对容易,但即便如此,面试初期时我在自我介绍环节也犯过不少错误。这里以我的经历简单的总结下这个环节的要点:

1,言简意赅,突出亮点

面试初期时,我犯的一个很大的问题就是自我介绍废话太多,诸如“出生自xx省xx市”,“自我评价xxx”之类的屁话连篇。要知道技术面试不是相亲,这里的自我介绍不是相亲里面的查户口本,而是要了解你这个人靠不靠谱,牛逼不牛逼。如何在3分钟内让别人觉得你牛逼呢?很简单,说且仅说你最牛逼的事迹,让对方留下深刻印象。就技术面试而言,牛逼的事迹包含三方面:做过的项目,读过的书,认识的人。

如果实在想不出来有啥牛逼事迹,那就比较难办。说实话,换做你是面试官,招一个履历毫无亮点的人进来有何用?

2,紧贴简历

面试官了解你的另外一个途径就是简历,然而短短一两页的简历很难说明白你简历项目中的亮点和难点。就算你不提及,面试官也会在简历中挑他感兴趣的点进行提问,因此自我介绍的内容应该是简历的补充。这样既能留给面试官不错的印象,也能有效节省时间,留出更多的时间进行技术提问环节和问答环节。

此外,千万不要搞出自相矛盾,比如说简历讲的做了A你在自我介绍中又说是B,这就不是拙计的问题了。

3,了解公司需求

写在最后

在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。

如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!

加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。

如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!

加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。

35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/575423
推荐阅读
相关标签
  

闽ICP备14008679号