GitHubGitHub上最励志的计算机自学教程:8个月,成百万年薪软件工程师( 二 )


本文插图
这位Steve曾经在亚马逊、Google都工作过 , Washam的这个项目就大量地引用了他的技术博客内容 。
在面试时 , 你可能会遇到这20个问题 , 每个问题准备 2-3 种回答 。 准备点故事 , 而不要只是摆一些你完成的事情的数据 。
GitHubGitHub上最励志的计算机自学教程:8个月,成百万年薪软件工程师
本文插图
面试官在也会问你还有哪些问题 , 不要说自己没有什么要问题 , 可以试试问一些此类问题:
GitHubGitHub上最励志的计算机自学教程:8个月,成百万年薪软件工程师
本文插图
当然 , 进入Google也不意味着结束 , 你还要新的学习过程 。
Washam还有一份附加内容 , 包括Emacs和Vim、Unix命令行工具、密码学 。 这些内容虽然不会直接用到 , 但是会大大提高你的效率 。
一个Web前端的新征程
其实严格来讲 , John并不是一个编程小白 。
从高中起 , John就开始学习编程 , 学的是BASIC语言 , 这还在是上世纪90年代 。
大学毕业拿到经济学学位后 , 他先是在军队服役两年 , 驻扎韩国 。
退役后他留在韩国教英语 , 突然发现自己离开CS领域的这几年间 , 太多的新技术新工具出现 , 自己的知识结构出现了断层 , 无法支撑起一个程序员的职业生涯了 。
于是他利用一切业余时间 , 艰苦地学习Perl、HTML、CSS(当时这还是新东西)、JavaScript和SQL 。
GitHubGitHub上最励志的计算机自学教程:8个月,成百万年薪软件工程师
本文插图
终于在2001年 , John正式成为了一个网页开发程序员 , 开始了19年的码农生涯 。
截止2017年 , John的职业生涯可谓十分成功:在大小公司都有过任职、组建管理过项目团队、经营壮大过初创公司 , 自己还亲自创办了3家软件公司 , 其中2家至今还在健康运营 。
按照John自己的话说 , 这十几年的工作经历 , 将他锻炼成了一个合格的程序员、一个优秀的产品经理、一个CEO、一个市场销售 。
但是他的目标不止于此 。 他的梦想是在谷歌任职软件工程师 , 在充满智慧和创造力的团队里提高自己 。
GitHubGitHub上最励志的计算机自学教程:8个月,成百万年薪软件工程师
本文插图
最初他认为凭自己的工作经验可以轻松获得职位 , 但拿到了谷歌面试题他才发现自己欠缺太多 。
一个优秀的软件工程师应该精通数据结构和算法、汇编语言、内存设计等 , 还要综合考虑代码和程序结构对机器在应用场景下的影响 。
于是他以这份谷歌试题为指导 , 开始了编程自学 。
并且在github上建立了「9894项目」 , 因为谷歌建立与1998年9月4日 。
后来这个项目改名为现在的「coding interview university」 。
CS自学三点注意事项
John结合自己的学习经历 , 给出了三点自学编程的建议 。
一、早问早计划 , 不要想当然
John最大的教训是自己花了太多时间学习根本用不上的东西 , 比如他曾经用了3周时间阅读了1000多页C++的资料 , 但是最后面试和工作中用的却是Python 。
GitHubGitHub上最励志的计算机自学教程:8个月,成百万年薪软件工程师
本文插图
△这是John的算法学习资料 , 最后证明走了冤枉路
原因是他担心面试时可能会被问到 。
这个例子不是说C++没必要学 。
而是强调你要提前收集信息做出计划 , 在不同的项目上分配合理的学习时间 , 提高效率 。 切忌「我觉得……」 。
二、视频比看书效率更高
观看视频的学习效率自然要比自己啃书快 。
找到好的教学视频 , 意味着你有更多的时间实际演练编程题目 。