一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

栏目: IT技术 · 发布时间: 5年前

内容简介:一位从1997年就入行的Web工程师,立志要成为Google软件工程师,3年前写下了一篇超完整学习和面试教程,以此作为自己的奋斗计划。这位名叫John Washam的工程师,换了好几份工作,最后却阴差阳错在2017年成为了亚马逊AWS的技术专家。

晓查 发自 凹非寺

量子位 报道 | 公众号 QbitAI

一位从1997年就入行的Web工程师,立志要成为Google软件工程师,3年前写下了一篇超完整学习和面试教程,以此作为自己的奋斗计划。

这位名叫John Washam的工程师,换了好几份工作,最后却阴差阳错在2017年成为了亚马逊AWS的技术专家。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

但这并不妨碍他的教程成为热门,在GitHub上线以来,已收获近10万星的好评。

而且最近这篇教程已经完成了 中文 翻译,就算你没有去Google面试的机会,也可以用它来好好充实一下自己。

为何写这篇教程

作者Washam本人并非计算机学位,但在儿时就已经展现出对计算机的浓厚兴趣,从事的工作是关于web程序的构建、服务器的构建。

作为一名非专业人士转行,Washam已经算是相当成功。然而,他还是想去Google工作,真正地去理解计算机系统、算法效率、数据结构性能、低级别编程语言及其工作原理。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

可对这些知识都不了解的他,怎么会被Google应聘呢?

于是他在网上收集了各类计算机专业知识,以及进入谷歌工作的员工分享的资源,并系统地整理了这些资料。

Washam强调,想去Google工作首先不要妄自菲薄。Google的工程师都是才智过人的。但是,就算是工作在 Google 的他们,仍然会因为觉得自己不够聪明而感到一种不安。

学习资源

接下来就跟着Washam的脚步去学习。

首先要做的就是选择一门语言,在Google一般是C++、 Java 、Python,有时也会用到JavaScript、Ruby。背后还有一些如 SQL 、HTML等技术没有列出。

接着开始学习计算机硬件知识:

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

然后补充计算机专业的基础数学知识,如算法复杂度 / Big-O / 渐进分析法、数据结构、树、 排序 、图论。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

此外还有递归、动态规划、组合与概率、NP&NP-完全和近似算法、缓存、线程与进程、系统设计、可伸缩性、数据处理。

看到这么多知识点,你会不会觉得有点懵呢?Washam告诉你一点小技巧。

因为你不可能一遍就记住所有知识点。所以需要把要回顾的知识点做成 抽认卡 (flashcard):正常的及带有代码的,类似于背单词。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

每种卡都会有不同的格式设计。项目主页中就有抽认卡的源代码,可以根据自己的学习特点去制作。

Washam还留有一组 ASCII 码表、OSI 堆栈、Big-O 记号及更多的小抄纸,以便在空余的时候可以学习。每编程半个小时就要休息一下,并去回顾你的抽认卡。

当然,论文的阅读也是必不可少的,尤其是谷歌曾经发表的一些基础技术论文。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

书籍则推荐一些关于算法和C++编程之类的。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

去Google面试需要注意什么

面试的第一步当然是要有一份好的简历,这样才能为你争取到宝贵的面试机会。知名科技博主Steve Yagge给出了10个贴士,帮你做出一份还不错的简历。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

这位Steve曾经在亚马逊、Google都工作过,Washam的这个项目就大量地引用了他的技术博客内容。

在面试时,你可能会遇到这20个问题,每个问题准备 2-3 种回答。准备点故事,而不要只是摆一些你完成的事情的数据。

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

面试官在也会问你还有哪些问题,不要说自己没有什么要问题,可以试试问一些此类问题:

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

当然,进入Google也不意味着结束,你还要新的学习过程。

Washam还有一份附加内容,包括Emacs和Vim、Unix命令行 工具 、密码学。这些内容虽然不会直接用到,但是会大大提高你的效率。

最后,在这样一个特殊的时期,好好给自己充个电。祝大家在新的一年里都能面试成功!

传送门

资源地址:

https://github.com/jwasham/coding-interview-university/blob/master/translations/README-cn.md

作者系网易新闻·网易号“各有态度”签约作者

—完 —

开始报名啦,3.26晚8点,英伟达专家将分享如何利用迁移式学习工具包 加速Jetbot智能小车推理引擎部署

戳二维码,备注“英伟达”即可报名、加交流群、获取前两期直播回放,主讲老师也会进群与大家交流互动哦~

免费报名 | 图像与视频处理系列直播课

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

学习计划 | 关注AI发展新动态

内参新升级!拓展优质人脉,获取最新AI资讯&论文教程,欢迎加入AI内参社群一起学习~

一份来自亚马逊工程师的Google面试指南,GitHub收获9.8万星,已翻译成中文

量子位  QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

喜欢就点「在看」吧 !


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Visual Thinking

Visual Thinking

Colin Ware / Morgan Kaufmann / 2008-4-18 / USD 49.95

Increasingly, designers need to present information in ways that aid their audiences thinking process. Fortunately, results from the relatively new science of human visual perception provide valuable ......一起来看看 《Visual Thinking》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

URL 编码/解码
URL 编码/解码

URL 编码/解码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换