晓查 发自 凹非寺 
量子位 报道 | 公众号 QbitAI

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

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

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

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

为何写这篇教程

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

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

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

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

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

学习资源

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

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

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

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

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

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

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

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

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

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

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

去Google面试需要注意什么

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

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

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

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

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

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

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

传送门

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

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

—  —

<NVIDIA图像处理公开课·第三期> 开始报名啦,3.26晚8点,英伟达专家将分享如何利用迁移式学习工具包加速Jetbot智能小车推理引擎部署

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

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

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

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

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

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

喜欢就点「在看」吧 !

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

  1. 亚马逊工程师论各种编程语言的优缺点

    亚马逊工程师论各种编程语言的优缺点 "我本来为亚马逊开发者杂志本月的期刊写的,但是发现我写的东西没法见人. 所以我就把它塞到我的博客里了,我的博客反正没人看的.除了你以外. 圣经记载:在远古 ...

  2. 八成互联网电视系统非法采集用户数据;前亚马逊工程师被定罪;雅虎将在香港测试元宇宙技术 | 每日大事件...

    数据智能产业创新服务媒体 --聚焦数智 · 改变商业 01.中国信通院:八成互联网电视系统存在非法采集共享用户数据问题 近日,中国信通院联合电信终端产业协会发布了 < OTT 终端数据安全和个人 ...

  3. 前亚马逊工程师:广告系统架构解密

    一.无处不在的广告 广告的形式分为线上和线下模式. 线上广告以互联网的高速发展作为媒介,在 pc 端和移动端有着多种多样的发展模式: 线下广告以传统方式,以公交站牌.门头.交通等媒介的发展模式. 在当 ...

  4. 来自亚马逊总裁Jeff Bezos的一些建议

    亚马逊总裁Jeff Bezos昨天到我们的办公室坐了一会,他花了90分钟跟我们谈论产品策略问题.在他离开前,他又花了45分钟和办公室里的所有人进行了常见的问/答交流. 在回答中,他分享了一个非常具有启 ...

  5. 成立十周年,亚马逊云科技合作伙伴网络是如何吸引12万家伙伴的?

    摘要:亚马逊云科技的合作伙伴网络有哪些值得借鉴之处? 云计算市场竞争中,合作伙伴生态的重要性与日俱增.近年来,头部云厂商纷纷在合作伙伴生态上大力投入.作为全球最大的云厂商,亚马逊云科技早在2012年就 ...

  6. 众所周知亚马逊是全球最大的在线电子商务公司。如今,它已成为全球商品种类最多的在线零售商,日活跃买家约为20-25亿。另一方面,也有大大小小的企业,但不是每个人都能赚到刀! 做网店的同学都知道,

    众所周知亚马逊是全球最大的在线电子商务公司.如今,它已成为全球商品种类最多的在线零售商,日活跃买家约为20-25亿.另一方面,也有大大小小的企业,但不是每个人都能赚到刀! 做网店的同学都知道,对于网店 ...

  7. 微软Excel竟能实现CV算法:亚马逊工程师妙用,人脸检测、字符识别都不在话下...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 感觉计算机视觉操作起来很难?一个Excel就能搞定. 没错,就是我们经常会用到的微软电子表格软件Excel. 通过它就能快速实现计算机视觉中 ...

  8. 他山之石,可以攻玉——来自亚马逊的电商启示录

    题记:"创新是我们的DNA,技术是我们改善客户体验的基础2009 年致股东的信" 1. 从亚马逊的成功讲起 1.1 历经8 年亏损始成正果 它是世界上所有电商的龙头和楷模,是毫无争 ...

  9. 25+本来自亚马逊的JavaScript jQuery畅销书籍

    今天给大家介绍一些亚马逊上畅销的JavaScript & jQuery方面的书籍.它们固然都来自国外的作者之笔, 不过这些技术对于对于我们来说并不陌生,想学习JavaScript & ...

最新文章

  1. php模块介绍,Python模块介绍
  2. 零拷贝 zero-copy 原理
  3. 开发提交审核流程_小游戏上线发布全流程详解?
  4. 网络编程学习笔记(recvfrom很奇怪的一个地方)
  5. 备份集中的数据库备份与现有的 '***' 数据库不同 RESTORE DATABASEnbs
  6. Python引起的混乱解决之道——感悟
  7. 软件设计中的一些原则
  8. C语言结构体通过 scanf初始化
  9. 知识图谱(五)——实体消歧
  10. jsp中@import导入外部样式表与link链入外部样式表的区别
  11. volatile用法
  12. JavaScript DOM编程艺术(第2版) 笔记
  13. 迅雷下载的都是download.php,CMS_dedecms 下载地址加迅雷专用链的操作方法 比较全,特别注意!!!!!!!!! - phpStudy...
  14. ANSI X9.8标准 PIN xor PAN获取PIN BlOCK
  15. [转]Delphi的运算符重载
  16. Xamarin iOS教程之使用按钮接接收用户输入
  17. MySQL运算符介绍(萌新必备!!)
  18. c语言写的电脑开关机代码,只需要几行代码制作电脑开关机控制软件
  19. 我的并行计算之路(二)MPI点对点通信MPI_Send和MPI_Recv
  20. 【友盟+】国庆假期旅游类APP使用报告(下)

热门文章

  1. windows下mysql-8.0.11-winx64解压版配置
  2. MySQL常见错误代码及代码说明
  3. lnmp.org + phpstorm + xdebug
  4. 代码大全读后感(二)
  5. 移动端应用类型及特点
  6. iview select选中值取值_vue+iview 项目
  7. 仿qq邮箱源码程序_巧用小程序·云开发实现邮件发送功能丨实战
  8. MyBatis框架学习DAY_01:概念/创建运行流程
  9. 下列哪个不是python合法的变量名_下列哪个不是Python中合法的数据类型?
  10. Xamarin XAML语言教程使用使用Progress属性设置当前进度