一个老程序员工写的 Google 面试指南(GitHub 10 万 Star)

(给程序员的那些事加星标

原创:程序员的那些事(id:iProgrammer)

今天的推文,既是一份程序员面试准备的干货,也是一个正面积极的励志故事。

主人公是一位老程序员 John Washam,虽然 Google 是他朝思暮想的公司,不过最后成了 Amazon 工程师。

一个老程序员工写的 Google 面试指南(GitHub 10 万 Star)_第1张图片

(身着程序员标志套装的 John)


他写的这份面试资源,目前在 GitHub 收获 10 万 Star。

已有中文版了:http://t.cn/RiOXMwx

目录截图

一个老程序员工写的 Google 面试指南(GitHub 10 万 Star)_第2张图片

一个老程序员工写的 Google 面试指南(GitHub 10 万 Star)_第3张图片

具体内容,大家可以在 GitHub 上看到。

下面和大家介绍 John 的一些经历。

作者的经历

John 经历还挺丰富的。中学的时候已接触编程,上大学却攻读经济学位,是他判断失误,他以为毕业后程序员会过于饱和。

后来,他参军成为一名程序员,但招聘人员说服他进入军事情报部门,于是花了两年时间学习韩语。之后就在韩国服役了两年。

在退役之前,他曾试图重新捡起编程。虽然他在中学时学过 BASIC,并一直坚持到高中,但他选了 C++,发现跨度太大了,没 hold 住。不过他喜欢做网站。

John 大概是 2000 年退役,之后在韩国呆了一年,教英语。同时利用晚上和周末的时间自学 Web 编程,用 Perl、HTML、CSS(当时还很新)、JavaScript 和 SQL。

之后的 15 年中,他创办了 3 家公司,其中 2 家仍在运营并产生收入
(这话是他在 2016 年说的)。曾在大公司和小公司工作,帮助初创公司启动和成长,招募和管理团队。他做过产品经理、CEO、设计师和市场营销人员。

不甘现状,寻求职业改变

在 2016 年的前几年,John 没有计算机科学(CS)学位的弊端开始凸显了。以前他自认为自己属于热门技术人员类型,能在任何地方都能找到工作。

但在 2013 年找工作的过程中,他意识到自己的技能有所欠缺。他在业余时间花了太多时间通过创业来赚钱,以至于技能都退化了,没有跟上科技步伐。

大家别误解为 John 没技术。他还是有能力,但不是在他个人想要从事的技术或领域。虽然他能在过时技术或领域找到工作,尽管那里也有很多钱,但他没有看到令人兴奋的前景。

曾有一次,他非常想加入一个风险投资公司运营的创业实验室。然而他没有 CS 学位,也没有相应的技能和知识。

在 2016 年初,John 正式决定从 Web 开发者转行到软件工程师。

(保守估算来看,John 在这一年应该有 37 或 38 岁了。美国高中生正常毕业时 17、18 岁,读完大学 21 或 22。2000 年他从韩国退役时差不多 23 或 24,再过了 15 年……)

为什么选 Google?

Google 设置了一个非常高的招聘门槛。他们只想雇佣最好的人。随着 John 了解得越多,就越想在那里工作。

简而言之,Google 是一家聘用聪明、有创造力的员工并善待他们的公司。谷歌奖励优点,鼓励卓越想法,并给予员工为用户做出正确决定的自由。

因此他认为,如果目标定得很高(在 Google 找到工作),即使没有被选中,他仍然可以在其他地方找到一份入门级的软件开发工程师工作。

终成正果

John 完全放下此前 15 年 Web 开发的经历。他曾经在文章称,他有像 CS 专业毕业生那样的热情。

这对我来说是一个新的世界,我才刚刚开始。虽然知道自己会犯错误,但我不怕。我也想学习我能学到的一切,成为任何团队的优秀成员。

于是他就开始准备冲击 Google 的面试,每天学习 8~12 小时,大概坚持了 8 个月。

一个老程序员工写的 Google 面试指南(GitHub 10 万 Star)_第4张图片

(John 为面试复习打印的算法资料)

他踩过的一些坑,比如:

a.可以缩短准备过程,不一定非得搞 8 个月。

一开始我研究了一些不需要的主题,有些是因为我认为我在面试时会用到它们,有些是因为我想在刚开始工作时就掌握这些知识。我不想成为分配给我的团队的负担。结果我只是准备过度了。

b. 花了 3 周时间阅读了一本 1000 页的 C++书。虽然没有掌握全部内容,但我现在对 C++ 有了一定的了解。后来事实证明,他在面试中用的是 Python,而不是 C++。他原以为需要 C++、C 或 Java 。

此外,他为面试而读的书,比实际需要的多得多,有三到四本书就够了。

一个老程序员工写的 Google 面试指南(GitHub 10 万 Star)_第5张图片

(2016 年夏天 John 读了这些书)

2017 年 1 月,他没面上 Google。

2017年 3 月,正式入职 AWS。

推荐阅读  点击标题可跳转

从流水线工人,到谷歌上班的程序媛

面试了一个 46 岁的程序员,我思绪万千

17 岁高中生独立开发全球疫情追踪网站火了!

关注「程序员的那些事」加星标,不错过圈内事

圈内事,我在看❤️

你可能感兴趣的:(一个老程序员工写的 Google 面试指南(GitHub 10 万 Star))