Py学习  »  Git

准备 8 个月去面试 Google,结果进了 Amazon (内含 GitHub 热榜干货)

算法爱好者 • 3 年前 • 450 次点击  

(给算法爱好者加星标,修炼编程内功

来源:程序员的那些事(id:iProgrammer)

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


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


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


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



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


目录截图

具体内容,大家可以在 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 个月。

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


他踩过的一些坑,比如:


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

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

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


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


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


2017 年 1 月,他没面上 Google。


2017年 3 月,正式入职 AWS。



推荐阅读  点击标题可跳转
赔 1.79 亿美元!谷歌前工程师违反竞业协议
GitHub 热门:谷歌工程实践文档
谷歌面试编程题及解题技巧(MIT版)



觉得本文有帮助?请分享给更多人

关注「算法爱好者」加星标,修炼编程内功

好文章,我在看❤️

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/62427
 
450 次点击