最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

职场 | 教你如何进谷歌

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-10 09:29:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 乔帮主 于 2014-9-10 13:04 编辑

谷歌多年盘踞“全球最佳雇主榜”前几位并且曾经数次蝉联榜首,而它选拔聘用人才的标准也是出了名的高,其中相当出名的一条是“名校情结”——无论在哪个国家,谷歌都异常青睐毕业于顶尖学府的精英,并且会参考他们大学阶段的成绩单

如果小编说,谷歌也曾经录用过一位没受过正规大学教育、连本科文凭都没有、基本全靠自学成才的草根码农,大家会不会觉得不可思议?但是,这事儿真的可以有——曾就职于谷歌、Square、DoubleHelix等公司的资深软件工程师及创业者大卫•比托(DavidByttow)日前撰文介绍了他从一介草根到被谷歌录用的经历,故事绝对励志!

文章摘要:

第一,鼓起勇气挑战很牛的事情,做着做着自己也就变牛了。

第二,与业界“大拿”为友,能改变解决问题和看待世界的方式。

第三,勤能补拙,在大量实践中弥补基础知识方面的差距。

第四,抹去简历中的教育背景,意外得到面试机会;做足准备,谷歌面试也能变得乐趣十足。事实证明,谷歌对优秀的人才并不完全拘泥于学历。

以下为文章全文:

发表《编码不息——如何成为软件工程师》(ABC:AlwaysBeCoding–HowtoLandanEngineeringJob)一文之后,很多人都来问我一个问题:我为何连大学学位都没有也能被谷歌录用为工程师?以下就是我的故事,不过大家的经历也是因人而异的。

其实,我当年非常非常想上大学。我选择申请加州大学洛杉矶分校(UCLA),但是很不幸,我在高中的平均绩点(GPA)只有可怜巴巴的2.45,所以我也就没法被大学录取了。然后,我在普渡大学盖莱默校区(PurdueUniversityCalumet)进修计算机课程,同时盼望自己有朝一日能顺利转学或者另谋出路。过了将近两个学期之后,出路来了——我得到了一个令人无法拒绝的录用通知。

第一步:假装自己很牛,直到真的变牛

上大学时,我曾经给印第安纳州格里菲斯市的一家小公司打工,工作内容是帮助本地公司建网站,时薪12美元。这份工作与我所梦想的未来职业相去甚远,但也不算太糟糕。

我埋头苦干、不说大话,把好几个项目做得超乎预期。这为我建立了很好的声誉,也让那家公司获利颇丰。与此同时,我还在并不充裕的业余时间里尝试游戏开发。后来我孤注一掷,请求公司管理层给我三个月时间和一点点钱来开发一款能在网上销售的游戏。我做出了漂亮的电子表格和丰富多彩的图表,向他们展示了共享软件模式的原理和游戏的光明“钱途”。当时我也不大清楚自己在做什么,但他们还是买了我的账,可能是因为我做的东西颜色很漂亮吧。

开发了两个多月之后,我在网上发布了一段演示,引起了加州初创企业CodeFire的注意,因为他们做的也是一模一样的太空射击游戏,类似于非3D的SubSpace。但引起关注未必就是好事——很不幸,他们向我发出了勒令停止通知函。于是我也只能回复曰:“没问题,我会到此为止——前提是你们得雇我开发你们的游戏。”他们回以一份录用通知,而我笑纳了它。

注意:这家公司持有这款游戏的原始版权,而我在离职前也按照规定提前三周通知了老东家。

第二步:与“大拿”交朋友

这或许是你能做的最重要的事情之一——找到你们行业中的大拿,让他们做你的导师,切记学无止境。在DoubleHelix工作时,我遇到的大拿是内森•亨特(NathanHunt),他是我见过的最聪明、最谦逊的牛人之一,而且他对我提出的所有问题都极具耐心,无论这些问题有多么初级。我成百上千次走进他的办公室,随意提出诸如“我如何才能把一个旋转矩阵顺利插入另一个?”之类的问题。多年之后,他比我晚一个月加入了谷歌。

我的每一位导师都在一定程度上改变了我解决问题或看待世界的方式,我在此就不一一赘述了。

第三步:弥补差距

我没有正式的计算机学位,因此我明白自己缺乏很多基本知识,例如我曾经用物理引擎解决一个动态编程问题,结果总也不成功。为了弥补这些差距,我实践过我所听闻或读到过的几乎所有最常见的数据结构和算法。你肯定能找到自己需要的信息,但是通过观察“知其然”与通过实践“知其所以然”之间存在着巨大的差距。

随着时间的推移,你需要做到以下事情:

1.精通C、C++、Objective-C、Java、PHP、Python或Ruby当中至少一门编程语言,熟练使用至少一种其他语言,并且熟悉Scala、Haskell或Lisp。

2.学习数据结构,实践大多数常用数据结构,了解它们的复杂性。

3.解决编程问题,多看多练多思考。

4.构建自己的已完成(未完成)项目作品集(例如编程框架、移动或Web应用、小游戏,等等)

第四步:找到自信

离开印第安纳六年后,我已经在多个平台上推出了大约6款游戏。我开始感到无聊,需要寻求新的挑战。我申请了谷歌的职位,觉得被谷歌雇佣能让我成为“真正的工程师”——对于我这个没有一纸文凭的人来说,这就是我为之奋斗已久的理想。但是,我一直没有收到谷歌的回音,而我对此并不感到惊讶。

一年之后,我重新提交了自己的简历,但是这一次索性把“教育背景”一栏整个儿去掉了。令人哭笑不得的是,一名招聘人员居然打来了电话并为我安排了一次技术方面的电话面试。我问她能否把电话面试安排在两周之后,她同意了。我需要那段时间——我分秒必争地临时抱佛脚,最大限度地向自己的脑袋里填装各种算法和数据结构,每天编程12到14个小时,解了数百道编程题目。我如痴如醉地投入其中,直到我对谷歌面试的恐惧感变成了自信和兴奋。

我依然记得在谷歌面试过程中遇到的每一个人,与他们打交道实在是一种乐趣。面试官们说起话来风趣幽默,而我相信他们一定看到了我的兴奋和对面试问题的期待。

以下是我遇到的一些面试题目:

1)给出一组二维点,计算出它们的skyline。此题很简单,解法有好几种,而我使用了一种叫做“最大堆”(maxheap)的常用数据结构。

2)设计微软的“画图”软件。这是我目前为止遇到过的最好玩的问题,我先是画出了界面和类图(classdiagram),然后重点讲了一个“颜料桶”功能。面试官当场让我实现这一功能,所幸我闭上眼睛也知道该如何实现宽度优先的迭代遍历——多谢TopCoder网站。

3)讲一讲你最看重的软件优点。这是一次“开放性”讨论面试,我讲到了各种测试以及它们发挥价值的时候(例如单元、整合、验收),还讲到了利于代码可维护性的一致风格,等等。这些内容能在《CodeComplete》和《EffectiveJava》等图书中找到。

我真的非常享受每一轮面试和解答各种题目的过程。如果我不是有备而来,情况肯定就会大不相同。面试之后,我自我感觉很好,但是我听说即便招聘委员会最终决定发放录用通知,也需要CEO拉里•佩奇亲自签字才有效。我很担心他一看到我在教育背景方面的不足,我就立马完蛋了。

但是,这样的悲剧终究没有发生——一天中午,我在圣克拉拉市(SantaClara)吃寿司时接到了电话,然后欣喜若狂地接受了录用通知。从那天起,我终于可以确信我再也不用回学校念书了。

正如孙子曰:“是故胜兵先胜而后求战,败兵先战而后求胜。”

注:我在谷歌度过了精彩非凡的五年,作为一名工程师不断学习和成长,但是现在我已经不在谷歌工作了。

来源:sohu



楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-5 13:43

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表