python3教程廖雪峰云-python3基础教程廖雪峰云(如何规划研究生三年最后成为谷歌软件工程师)…

如何规划研究生三年最后成为谷歌软件工程师

谷歌员中的 6 个关键点

在我向你提供列表前,先读二点

全职工作人员——基于你的经验和学术背景去选择性的看待这个回答

准大学生——请直接跳到第七点

标记说明:

# 可选的

**必须的

#第一点:让我们回到这个问题本身,也即是如何准备才能让自己成为“优秀”的软件工程师/p>

是的!这个问题的剩余部分都是可选的。加入谷歌不是登月计划。任何优秀的软件工程师都有好机会成为谷歌工作文化的一部分。问题是你如何定义“优秀”。

**第二点:调整态度

在你给谷歌招聘人员留下深刻印象之前,让我们来看看谷歌的软件工程师这一角色是否是你真正想要的。

软件工程师并不是像普遍观念所说的那样有趣。除了用户界面和用户体验的职位,通常来说,不管你用什么文字编辑器——Eclipse、Vim或者Emacs——你的屏幕将是黑的,无聊和枯燥的。全职的软件工程师,不仅需要有从事复杂算法的能力,还需要足够的包容和耐心来一丝不苟地关注大型程序上的细节。

在谷歌,通常大多数软件工程师的角色主要是处理数学问题。你掌握了多少种语言或者你把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文库

来源:weixin_39760919

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月9日
下一篇 2020年10月9日

相关推荐