9个offer,12家公司,35场面试,从微软到谷歌面试和笔试经验

时间:2023-04-03 02:11:37 笔试经验 我要投稿
  • 相关推荐

9个offer,12家公司,35场面试,从微软到谷歌面试和笔试经验

  1, 简介

9个offer,12家公司,35场面试,从微软到谷歌面试和笔试经验

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

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

  1) 微软,3面->终面,搞定(+1)

  2) 百度,3面->终面,口头offer(+1)

  3) 搜狗,2面,悲剧

  4) 腾讯,1面,悲剧

  5) 布丁移动,3面,搞定(+1)

  6) 涂鸦游戏,3面,搞定(+1)

  7) 友盟,3面->CEO面,搞定(+1)

  8) 雅虎,4面->终面,搞定(+1)

  9) 微策略,2面,悲剧

  10) 人民搜索,3面->终面,搞定(+1)

  11) 人人,2面+终面+Special面,搞定(+1)

  12) Google,7面,搞定(+1)

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

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

  2, 定位

  1) 教育经历:

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

  2)技术能力:

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

  3)专业能力:

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

  4)实习经历:

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

  5)目标公司:

  由于百度给我的印象实在很差,而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的关键章节,回顾里面的关键点

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

  此外,列出一些面试笔试题的资源:

  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有版本问题,2010的docx到了2007往往被黑出局。还有就是对方有可能不在PC 上读邮件,因此纯文本的简介非常有必要。

  2,群发

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

  3,设计

  特别提一下设计,很多电工的简历就是2,丑的一逼,对齐没有,字体拙计,要点不明。再放到几百份几千份简历里面,活该你被忽略。建议所有电工投简历前阅读《给大家看的设计书》,至少搞明白里面的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语言的创始人(D.M.Ritchie)是谁这样的搞笑问题,从选择题上能看得出腾讯在笔试题上还是下了点功夫的,但算法题就太简单了点,至少我认为考不出什么区分度。

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

  微软:

  题型只有二十道不定项选择题,难度较难,要求在一小时四十分钟完成。难度较难,覆盖面非常广,从设计模式,算法分析,代码阅读到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,这两本书难度很搞,需要大量的时间阅读,不适合临场阅读准备,但读过后,写出的代码绝逼会上两个层次,这里我就不多介绍了。

【9个offer,12家公司,35场面试,从微软到谷歌面试和笔试经验】相关文章:

关于微软的面试 笔试11-20

微软公司笔试+面试题08-08

从多美滋mkt面试到offer经验分享11-21

温州交行面试经验和笔试经验分享11-21

SH AUDIT 笔试+面试,收到offer11-20

KPMG:笔试+经理面试+Par面试+Offer 历程分享02-25

中兴笔试面试经验10-24

联想笔试面试经验11-06

杭州滨江IT公司面试经历笔试经验02-09

收到offer了,写写笔试和面试吧02-23