首页 > 经验 > 关键词 > GitHub最新资讯 > 正文

GitHub上最励志的计算机自学教程:8个月,从中年Web前端到亚马逊百万年薪软件工程师

2020-05-06 14:28 · 稿源:量子位公众号
文章目录

声明:本文来自于微信公众号 量子位(ID:QbitAI),作者:十三 贾浩楠,授权站长之家转载发布。

谷歌工程师条件:名校出身、CS专业背景、博士学位加持,技术过硬?

国外一个叫John Washam的小哥告诉你:不用,自学 8 个月也可以!

John Washam励志要成为一名谷歌软件工程师,但没有CS专业背景的他,只能通过自己的努力来达成理想。

于是, 8 个月的时间里,小哥花了数千小时阅读书籍、编写代码、观看CS技术讲座,一路披荆斩棘、打怪升级。

最终,虽然没有去谷歌,但他人到中年,还顺利成为了一名亚马逊AWS的技术专家,年薪百万。

更加难能可贵的是,小哥还将自学经验编写成了一份教程,在GitHub上线以来,已收获近 10 万星的好评。

正如他所说:

即便没有面上(?)梦寐以求的谷歌,但是教程,也可以用来好好充实一下自己。

PS:教程有中文版哦~~

GitHub超 10 万星自学宝典

是什么样的编程教程,能如此火爆?

小哥最初的目的是“考上”谷歌,于是每天自学8- 12 个小时,坚持了 8 月有余。边学还顺手整理出了这份自学项目。

不过在完成这项学习计划后,他最终被亚马逊录取,成为一名软件工程师。

Washam表示:

无论你要面试哪家软件公司,这里的项目可以让你做好充分的准备,包括像亚马逊、Facebook、谷歌和微软这样的科技巨头。

接下来,我们就跟着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命令行工具、密码学。这些内容虽然不会直接用到,但是会大大提高你的效率。

一个Web前端的新征程

其实严格来讲,John并不是一个编程小白。

从高中起,John就开始学习编程,学的是BASIC语言,这还在是上世纪 90 年代。

大学毕业拿到经济学学位后,他先是在军队服役两年,驻扎韩国。

退役后他留在韩国教英语,突然发现自己离开CS领域的这几年间,太多的新技术新工具出现,自己的知识结构出现了断层,无法支撑起一个程序员的职业生涯了。

于是他利用一切业余时间,艰苦地学习Perl、HTML、CSS(当时这还是新东西)、JavaScript和SQL。

终于在 2001 年,John正式成为了一个网页开发程序员,开始了 19 年的码农生涯。

截止 2017 年,John的职业生涯可谓十分成功:在大小公司都有过任职、组建管理过项目团队、经营壮大过初创公司,自己还亲自创办了 3 家软件公司,其中 2 家至今还在健康运营。

按照John自己的话说,这十几年的工作经历,将他锻炼成了一个合格的程序员、一个优秀的产品经理、一个CEO、一个市场销售。

但是他的目标不止于此。他的梦想是在谷歌任职软件工程师,在充满智慧和创造力的团队里提高自己。

最初他认为凭自己的工作经验可以轻松获得职位,但拿到了谷歌面试题他才发现自己欠缺太多。

一个优秀的软件工程师应该精通数据结构和算法、汇编语言、内存设计等,还要综合考虑代码和程序结构对机器在应用场景下的影响。

于是他以这份谷歌试题为指导,开始了编程自学。

并且在github上建立了「 9894 项目」,因为谷歌建立与 1998 年 9 月 4 日。

后来这个项目改名为现在的「coding interview university」。

CS自学三点注意事项

John结合自己的学习经历,给出了三点自学编程的建议。

一、早问早计划,不要想当然

John最大的教训是自己花了太多时间学习根本用不上的东西,比如他曾经用了 3 周时间阅读了 1000 多页C++的资料,但是最后面试和工作中用的却是Python。

这是John的算法学习资料,最后证明走了冤枉路

原因是他担心面试时可能会被问到。

这个例子不是说C++没必要学。

而是强调你要提前收集信息做出计划,在不同的项目上分配合理的学习时间,提高效率。切忌「我觉得……」

二、视频比看书效率更高

观看视频的学习效率自然要比自己啃书快。

找到好的教学视频,意味着你有更多的时间实际演练编程题目。

三、反复温习十分重要

不断反复是形成记忆的关键,正如我们在上文提到的,John推荐使用记忆卡。

他自己制作了 1792 个电子记忆卡。一有空闲时间就掏出来温习,比如超市排队时、公交车上等等。

对于一个卡片的的问题,回答正确还不够,John会在一段时间内多次回答正确才会标记为「已掌握」。

最终这位小哥没有去谷歌,而是接到了亚马逊的offer,现在他在亚马逊做软件工程师。

但是他自己说之前的学习经历并不是无用功,现在他已经全面掌握了软件工程的基本技能,无惧工作中的任何挑战,并且实现自我飞跃的那一天越来越近。

而且John小哥的经历,也不局限于程序员本身,多于更多人而言,也有值得参考之处。

他认定了一个目标,然后制定计划、勤奋付出,最后天道酬勤获得回报。

John可能也是一个「一万小时定律」的拥趸,但就算按照他每天 12 小时、坚持 8 个月(每月 31 天),他从一个网站前端到AWS技术专家,历时也不过 2976 小时——远未到 1 万小时。

但就是这样目标坚定的 8 个月,John从入门到获得大厂认可,百万年薪加持。

外媒调查亚马逊软件工程师平均年薪超过百万人民币

这是我们在GitHub看到最励志的故事,也是我们希望让更多人看到的原因,并且由衷希望更多人因为这样的经历和分享,创造属于自己的故事。

坊间笑谈太多的“从入门到放弃”,但也有人“从入门到百万年薪”。

生命不息,奋斗不止,Keep walking~

传送门:

GitHub项目地址:

https://github.com/jwasham/coding-interview-university

电子记忆卡项目地址:

https://github.com/jwasham/computer-science-flash-cards

参考链接

个人博客:

https://www.freecodecamp.org/news/why-i-studied-full-time-for-8-months-for-a-google-interview-cc662ce9bb13/

  • 相关推荐
  • 大家在看
  • 亚马逊联手高盛推出小型亚马逊,最高100万美元额度

    亚马逊正与合作银行高盛为美国商家推出一项新的数字信贷额度。据知情人士透露,在该电商巨头平台上销售商品的小企业主很快就会收到来自高盛Marcus品牌的定向邀请,最高可获得100万美元的信贷额度。潜在的借款人将在亚马逊商家的在线中心Seller Central上看到该入口,并可以通过简单的两步程序进行申请。由于没有被授权公开讨论合作关系,知情人士要求匿名。信用额度将附带6.99%

  • 亚马逊员工跳槽谷歌遭起诉 称其违反亚马逊竞业禁止协议

    近日,亚马逊前营销主管莱恩·霍尔因跳槽到谷歌被老东家亚马逊起诉。亚马逊云服务部门AWS周一在诉状中称,霍尔跳槽到谷歌云部门违反了和亚马逊的竞业禁止协议,可能泄露AWS的商业机密。因为亚马逊的诉讼,霍尔目前还没有正式入职谷歌。

  • 亚马逊宣布成立全球打假团队 专门打击违法售假者

    凤凰网科技讯 (作者/薛星星)6月24日消息,亚马逊宣布成立全球打假团队,专门负责打击违反法律法规和亚马逊商城规则、在亚马逊上销售假冒商品的售假者,并将其诉诸法律。亚马逊方面透露,这支全球性的跨职能团队由前美国联邦检察官、资深调查人员和数据分析师组成。亚马逊表示,他们的首要目标是阻止假冒商品在亚马逊商城中上架。目前,亚马逊已能确保消费者浏览的99.9%的商品未出现有效的假冒商品投诉。亚马逊称,2019年,亚马逊

  • 加州和华盛顿正在审查亚马逊的商业行为是否存在垄断

    加利福尼亚州和华盛顿州的官员正在审查亚马逊的商业行为,以确定该公司是否违反了任何有关在其网站上销售商品的独立商家的法律。

  • 亚马逊部署AI 距离助手 保证工人维持社交距离

    据observer报道,亚马逊将在各仓库部署AI智能工具,帮助员工们保持社交距离。这套工具包括显示器、深度传感器和支持人工智能的摄像头,可以实时跟踪员工的行动。当工人们相距6英尺以内时,电视上员工脚边的圆圈就会闪烁红光,提示员工应移至安全距离。这些设备是独立的,这意味着它们可以在需要的地方快速部署和移动。目前该工具已经在少数地区完成了测试,将会在未来几周内在亚马逊的各仓库中部?

  • 亚马逊宣布成立全球打假团队 阻止假冒商品上架

    今日,亚马逊宣布成立全球打假团队,负责打击违反法律法规和亚马逊商城规则的售假者,该团队由前美国联邦检察官、资深调查人员和数据分析师组成。据悉,亚马逊将阻止假冒商品在亚马逊商城中上架。亚马逊还推出一系列品牌保护工具和服务,帮助品牌所有者发现并报告违规行为或者自动移除假货。

  • Genesys选择亚马逊(AMZN)为首选云提供商

    [TechWeb]亚马逊 AMZN一直致力于加强云计算部门Amazon Web Services(AWS)的客户群,以扩大在云行业的影响力。最近,公司的云计算部门Amazon Web Services(AWS)已被Genesys选为Genesys Cloud(领先的公共云联络中心平台)的首选云提供商。这加强了亚马逊的云客户基础。由AWS提供支持的Genesys Cloud依靠AWS全面的云服务集。它使用AWS强大的数据库功能为客户提供新功能,并使组织能够轻松部署和扩展平台。值得注意的是,该公司?

  • 亚马逊将首次尝试在Twitch上免费直播英超比赛

    亚马逊将在英国Twitch站点上免费播放英超足球比赛,公司表示计划在比赛进行时给球迷一个相互交流的机会,由于冠状病毒的爆发,英超比赛目前只能够闭门举行。亚马逊希望流媒体服务上的用户在使用聊天功能分享自己的观点时,能表现得有点像专家。时间方面,Twitch用户不会在第一场直播比赛之前等待那么久,因为月底就可以看到水晶宫对伯恩利的比赛。

  • 亚马逊称:贝佐斯愿意出席美国反垄断听证会

    周日,亚马逊(Amazon)的一名律师致信国会议员,称该公司CEO杰夫·贝佐斯愿意在众议院针对大型科技公司市场影响力的反垄断调查之前与其他首席执行官一起作证。

  • 强强合作!Slack与亚马逊达签署协议,共同对抗微软

    Slack与亚马逊签署了一项多年协议,这意味着所有亚马逊员工都将开始使用Slack。在该交易达成之际,Slack正面临来自Microsoft Teams的日益激烈的竞争。同时随着亚马逊网络服务(AWS)的广泛采用,Slack还将把语音和视频通话功能转移到亚马逊的Chime平台上。

  • 矛盾升级!马斯克推特喊话贝佐斯:是时候拆分亚马逊了

    特斯拉CEO埃隆·马斯克(Elon Musk)直接在推特上喊话称,“是时候分拆亚马逊了”,这使得其与亚马逊公司CEO杰夫·贝佐斯的竞争再次升级。

  • GitHub将替换master、slave等术语 反对种族歧视

    DoNews 6月15日消息(记者 刘文轩)GitHub CEO Nat Friedman在Twitter表示,GitHub将使用中性词如“main”去替换“master”这个让人联想到奴隶制的术语。GitHub 成为最新一个支持移除可能冒犯部分群体的术语的公司。包括“master”和“slave”将被替换为“main/default/primary”和“secondary”,“whitelist”和“blacklist”将被替换为“allow list”和“deny/exclude list”。最近几周,由于“Black Lives Matter”的抗议活动?

  • 德国亚马逊员工将举行罢工 防疫不利致近40人感染新冠

    德国工会Verdi 称,在物流中心的一些员工新冠状病毒检测呈阳性后,德国六个亚马逊网站的工人将于周一举行罢工,以抗议安全问题。

  • Pensando在云基础架构霸权之战中挑战亚马逊

    统一网络组件,以便可以整体使用它们是思科系统公司通过恰当地命名为统一计算系统(通常称为UCS)解决的难题。现在,随着软件使用量的不断发展变化,随处可用,随时可用的模型,挑战在于如何使网络变得灵活。随着Pensando Systems Inc.在隐身模式下于2019年底推出,思科著名的MPLS帮派及其USC团队正着手为网络基础架构创造新的选择,并挑战Amazon Inc.的Annapurna Labs创新王冠。“让我们建造更大,更美的东西,即使我们

  • 亚马逊AWS称其阻止了创纪录的 2.3 Tbps DDoS 攻击

    亚马逊表示,其AWS Shield服务经受住了有记录以来最大的DDoS攻击,今年 2 月份中旬它阻止了一场2.3 Tbps DDoS攻击。

  • 特斯拉CEO马斯克在推特上炮轰贝佐斯 呼吁分拆亚马逊

    【TechWeb】6月5日消息,据国外媒体报道,当地时间周四,电动汽车制造商特斯拉的CEO埃隆·马斯克(Elon Musk)再次在推特上发表了引人注目的言论,这次的目标是杰夫·贝佐斯(Jeff Bezos)创立的亚马逊。当天,马斯克在推特上表示:“是时候分拆亚马逊了,垄断是错误的。”马斯克此次炮轰亚马逊及其创始人贝佐斯,是对一位作家在推特上发布的一条推文做出的回应。此前,这位作家在推特上称,他的一本书因违反亚马逊的指导方针而被

  • 亚马逊言行不一:支持针对种族歧视的抗议,同时与警方密切合作

    员工指责亚马逊言行不一凤凰网科技讯 北京时间6月4日消息,亚马逊发表声明对针对种族歧视的抗议活动表示支持,但员工却不买账。亚马逊星期日发表声明,呼吁结束“国内非洲裔人遭遇的不公正对待和暴力执法。在消除种族歧视方面,我们与非洲裔社区站在一起。”星期二,多名激进的亚马逊员工在Twitter上针对公司的声明发声:“公司取消了与警方的哪些合同?还保留有多少?”通过Ring门铃相机和人脸识别软件Rekognition,亚马逊与警方?

  • 再怼老冤家 马斯克在亚马逊宣布收购Zoox后称贝索斯是抄袭者

    【TechWeb】6月28日消息,据国外媒体报道,在亚马逊宣布收购Zoox后,电动汽车制造商特斯拉首席执行官(CEO)埃隆·马斯克在推特上再怼亚马逊首席执行官杰夫·贝索斯(Jeff Bezos)是“抄袭者”。此前,亚马逊宣布收购自动驾驶初创公司Zoox,但它并未透露收购价格。分析师预计,收购价格将超过10亿美元。报道称,此举将扩大亚马逊在自动驾驶技术方面的影响力。亚马逊表示,Zoox将继续作为独立部门运营,并继续开发自己的自动驾驶汽

  • PS5售价499欧元?亚马逊回应:页面为假

    按照索尼公布的PS5主机的配置和一大波大作的加持情况,新主机不到4000元的售价,还是很超值的,但很可惜这个消息还有待确认。之前曾有消息称,索尼PS5的售价为499欧元(约合人民币3982元) ,无

  • 亚马逊CEO贝佐斯:取消所有会议纪念奴隶解放节 种族主义仍在

    亚马逊公司CEO杰夫·贝佐斯(Jeff Bezos)周二在一封发给全公司的邮件中称,他将在周五的“六月节”取消所有会议安排,并鼓励亚马逊员工也这么做,以拿出时间来“反思、学习以及彼此支持”。“六月节”时间为6月19日,旨在庆祝美国德州废除奴隶制。贝佐斯称,奴隶制很久之前就已经废除了,但种族主义依旧存在。(作者/箫雨)

  • 参与评论
文明上网理性发言,请遵守新闻评论服务协议