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

谷歌员中的 6 个关键点

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

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

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

标记说明:

# 可选的

**必须的

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

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

**第二点:调整态度

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

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

在谷歌,通常大多数软件工程师的角色主要是处理数学问题。你掌握了多少种语言或者你把Java、C、C 等玩得多溜是无所谓的。

重要的是这个四个目标:

你创造有效算法的能力

你阅读别人写的代码以及发现其中存在任何问题的细心品质

你的学习和实现新技术趋势并且适应需求的好奇心

最后也是最重要的:你创造了什么,如何创造的?

我必须之处要实现以上四个目标并不容易。我们大多数谷歌员工都有一段苦逼时间来达到这些目标,但是我们尝试过,所以你也应该去尝试。

每个人都有不同的学习方法。于我,我每天读一篇我在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

版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。

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

  1. 新编大学计算机基础教程txt,新编大学计算机基础教程新大学计算机基础教程.doc...

    新编大学计算机基础教程新大学计算机基础教程 <新编大学计算机基础教程>教学设计设计人:hbx基本信息课时:75 课程类型:新编大学计算机基础教程学分:10后续课程:组网技术.操作系统课程设 ...

  2. 阿里云服务器购买详细教程以及建站入门基础教程

    本系列教程汇总: 买了域名一定需要备案吗?什么情况下不需要备案? 如何购买阿里云服务器(图文教程) 如何购买阿里云香港服务器(图文教程) 如何购买阿里云学生服务器(图文教程) 阿里云是国内第一大云服务 ...

  3. Trimble RealWorks处理点云数据基础教程

    目录 Trimble RealWorks处理点云数据(一)之坐标转换 Trimble RealWorks处理点云数据(二)之点云切割 Trimble RealWorks处理点云数据(三)之点云抽稀取样 ...

  4. ex计算机绘图基础教程怎么画图,计算机绘图基础教程(第2版)

    计算机绘图基础教程(第2版) 语音 编辑 锁定 讨论 上传视频 <计算机绘图基础教程(第2版)>是2020年3月机械工业出版社出版的图书,作者是吴佩年.宫娜. 书    名 计算机绘图基础 ...

  5. sql基础教程和mysql基础教程_书评「SQL基础教程(第2版)」| 你应该知道的基础知识点梳理·上...

    写在前面关于这本书:SQL的基础教程,可以使你在SQL的学习中轻松实现从0到1的过程,循序渐进地掌握SQL的基础知识和技巧.对于零基础来说非常友好,看完能够迅速上手SQL. 关于本文:一篇对这本书的知 ...

  6. python基础教程是什么意思-python基础教程都有什么?

    分享一下传智播客的python基础教程 第一阶段 Python核心编程 可掌握的核心能力 1.掌握Python基础语法,具备基础的编程能力; 2.建立起编程思维以及面向对象程序设计思想.解决的现实问题 ...

  7. python基础教程第四版-python基础教程第4版pdf

    python基础教程第4版pdf内容摘要 第二.针对青少年人群的计算机python视频教程.青少年的特点就是有个性.复杂多变.没有耐心.如果他们浏览一个计算机的时候,打开的比较慢,或者是计算机的课程凌 ...

  8. python基础教程第4版-Python基础教程(第3版) 笔记(四)

    第二章 列表和元素 2.1 序列概述 列表和元组的主要不同在于,列表是可以修改的,而元组不可以. 创建一个由数据库中所有人员组成的列表: >>> edward = ['Edward ...

  9. python基础教程运行程序_Python入门基础教程:WSGI

    原标题:Python入门基础教程:WSGI WSGI 简介 WSGI 是什么 WSGI 是 Python Web Server Gateway Interface 的缩写,是描述 Web 服务器与 P ...

最新文章

  1. 前端学习(2189):Promise的介绍和基本使用二
  2. LeetCode 1536. 排布二进制网格的最少交换次数
  3. 安卓系统组态软件_力臻智合分布式组态软件安卓版解决方案
  4. 在菲律宾人民币换php怎么换,菲律宾汇率换算人民币(人民币兑换比索计算器)
  5. notablilty笔记本模板_notability实测,让你上天的笔记软件
  6. 计算关联系数matlab,matlab相关系数计算公式
  7. 算术右移与逻辑右移的转换
  8. centos挂载盘到根下_centos挂载磁盘及扩展根目录
  9. MacOS系统安装fish,替代bash
  10. 《标题党》自我修炼的10个秘籍
  11. 【ROS入门学习05|自定义话题消息,并且编程实现publisher和subscriber】
  12. 公告:请访问我Blog新站——酷壳 CoolShell.me
  13. kali下载中文输入法
  14. 人脸识别不开手机也能解锁吗_为什么不应该用脸解锁手机
  15. 树莓派安装python坑太多
  16. 爬虫取中间文本_一线大厂爬虫工程师给初学者的 5 个建议
  17. 基于autojs7的番茄免费小说辅助
  18. 创建好的小程序如何正式发布?
  19. “最美”的C语言代码
  20. JS Date对象计算100天以后的时间

热门文章

  1. python 手机测试_python脚本如何测试手机
  2. 内蒙古广播电视大学计算机专修学院电话,内蒙古广播电视大学
  3. wireshark-win64-3.4.0安装_万达讲堂轴承安装后易损坏的原因,点进来,告诉你!
  4. 深度学习入门笔记系列(一)——深度学习框架 tensorflow 的介绍与安装
  5. python定积分_python定积分
  6. python程序一定要有主函数_Python 没有main函数的原因
  7. dbscan算法_DBSCAN聚类算法探索
  8. 隐藏在计算机网卡怎样删除,如何卸载电脑中隐藏的虚拟网卡设备
  9. mysql数据库与oracle_oracle与mysql数据库的区别
  10. 【干货特供】dotNet core 应用部署至 centos(超详解附截图)