如何规划研究生三年最后成为谷歌软件工程师
谷歌员中的 6 个关键点
在我向你提供列表前,先读二点
全职工作人员——基于你的经验和学术背景去选择性的看待这个回答
准大学生——请直接跳到第七点
标记说明:
# 可选的
**必须的
#第一点:让我们回到这个问题本身,也即是如何准备才能让自己成为“优秀”的软件工程师/p>
是的!这个问题的剩余部分都是可选的。加入谷歌不是登月计划。任何优秀的软件工程师都有好机会成为谷歌工作文化的一部分。问题是你如何定义“优秀”。
**第二点:调整态度
在你给谷歌招聘人员留下深刻印象之前,让我们来看看谷歌的软件工程师这一角色是否是你真正想要的。
在谷歌,通常大多数软件工程师的角色主要是处理数学问题。你掌握了多少种语言或者你把Java、C、C 等玩得多溜是无所谓的。
重要的是这个四个目标:
你创造有效算法的能力
你阅读别人写的代码以及发现其中存在任何问题的细心品质
你的学习和实现新技术趋势并且适应需求的好奇心
最后也是最重要的:你创造了什么,如何创造的/p>
我必须之处要实现以上四个目标并不容易。我们大多数谷歌员工都有一段苦逼时间来达到这些目标,但是我们尝试过,所以你也应该去尝试。
每个人都有不同的学习方法。于我,我每天读一篇我在Quora链接上找到的研究论文(可能和也可能不和计算机科学有关),一篇谷歌的研究文章(内部记录)。
一旦你加入谷歌,将可以访问所有的代码库,数据库,论坛,研究论文和一些能给你学习时提供巨大帮助而你却无法在维基百科上找到的项目。但当你在为加入谷歌而准备路上时,有几样事情在学习的过程中很常见。在第五点中,你将会更多地了解到——怎样来实现这四个目标——但在这之前有些前提还是需要看看的。所以,我们进入下一点吧。也即是:
#第三点: 2014年技术发展指南——来自谷歌
作为一个成功的软件工程师,有着扎实的计算机基础是很重要的。对于大学生,通过自我把握节奏地亲身实践学习,来专业性地或者非专业性地培养他们的技术能力,跟随这份谷歌指南是一条建议路径。
请自己权衡使用这份指南
这份指南之外可能也有你想学或者想做的其他东西——尽管去做吧!
**第四点:对专业性学习的建议
计算机科学入门课程
注:计算机科学的入门课能提供编程的一些指导。
在线资源:
Udacity – intro to CS course,
Coursera – Computer Science 101
*译者注:这些在线资源大都是英文授课,因此没有翻译课程名(下同),另外作为程序员英语必须得好啊,可以参看伯乐在线老码农写的《老码农教你学英语》一文。
至少用一种面向对象的编程语言写代码:C ,Java,或者Python
初学者在线资源:
Coursera – Learn to Program: The Fundamentals,
MIT Intro to Programming in Java,
Google’s Python Class,
Coursera – Introduction to Python,
Python Open Source E-BookIntermediate Online Resources:
Udacity’s Design of Computer Programs,
Coursera – Learn to Program: Crafting Quality Code,
Coursera – Programming Languages,
Brown University – Introduction to Programming Languages
学习其他编程语言
注:可以将这些语言加到你的仓库里:Java Script, CSS, HTML, Ruby, PHP, C, Perl, Shell. Lisp, Scheme.
在线资源:w3school.com – HTML教程*, Learn to code
测试你的代码
注:学会如何跟踪bugs,创建测试,并且破坏你的软件
在线资源: Udacity – Software Testing Methods, Udacity – Software Debugging
培养逻辑思维和积累离散数学知识
在线资源:
MIT Mathematics for Computer Science,
Coursera – Introduction to Logic,
Coursera – Linear and Discrete Optimization,
Coursera – Probabilistic Graphical Models,
Coursera – Game Theory.
译者注:coursera课程大多都有中文字幕,对于学习语言门槛会降低,不过仍推荐学习原版课程。
培养算法和数据结构的深刻理解能力
注:了解一些基本数据类型(栈、队列和包),排序算法(快排、合并排序、堆排序)和数据结构(二分查找、红黑树、哈希表),大O表示法等
在线资源:
MIT Introduction to Algorithms,
Coursera – Introduction to Algorithms Part 1
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览208061 人正在系统学习中 相关资源:virtualbow:设计和模拟弓箭的软件-其它代码类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!