Google Careers 程序员必修课
quote from : https://www.google.com/about/careers/students/guide-to-technical-development.html
Technical Development Guide
This guide provides tips and resources to help you develop your technical skills (academically and non-academically) through self-paced, hands-on learning.
This guide is intended to target Computer Science students seeking an internship or university grad role at Google.
How to use this guide
- You can use this guide to determine which courses to take, but be sure stay on track with your courses required for your major to graduate.
- We encourage you to learn more outside of this guide. The more you know, the better!
- The online resources we’ve cited aren’t meant to replace courses available at your university, but they may help supplement your education or provide an introduction to a topic.
- The information and recommendations in this guide were gathered through our work with students and candidates in the field. It is a work-in-progress, living document, so be sure to periodically check back for updates.
Note: Following the recommendations in the guide does not guarantee a job at Google.
Tips and Resources
Follow our Google for Students +Page to get additional tips and resources, and connect with other students.
Recommendations and Resources
| Take an “Introduction to CS” course | Focus on basic coding instructions
Online resources: |
| Code in (at least) ONE object-oriented programming language (C++, Java®, Python®) | Beginner online resources:
Intermediate online resources: |
| Learn other programming languages | Add to your repertoire:
Online resources: |
| Test your code | Learn how to catch bugs, create tests, and break your software
Online resources: |
| Develop logical reasoning and knowledge of discrete math | Online resources: |
| Develop a strong understanding of algorithms and data structures | Learn about fundamental data types (stack, queues, and bags), sorting algorithms (quicksort, mergesort, heapsort), data structures (binary search trees, red-black trees, hash tables), and Big O.
Online resources:
|
| Develop a strong knowledge of operating systems | Online resources: |
| Learn UX design | Online resources: |
| Learn artificial intelligence | Online resources:
|
| Learn how to build compilers | Online resources: |
| Learn cryptography | Online resources: |
| Learn parallel programming | Online Resources: |
| Work on projects outside of the classroom | Create and maintain a website, build your own server, or build a robot
Online resources: |
| Work on a small piece of a large system (codebase), read and understand existing code, track down documentation, and debug | GitHub is a great way to read other people’s code or contribute to a project
Online resources: |
| Work on projects with other programmers | This will help you improve your ability to work well in a team and enable you to learn from others. |
| Practice your algorithmic knowledge and coding skills | Practice your algorithmic knowledge through coding competitions like CodeJam or ACM’s International Collegiate Programming Contest.
Online resources: |
| Become a teaching assistant | Helping to teach other students will help enhance your knowledge in the subject matter. |
| Gain internship experience in software engineering | In the U.S., internships take place during summer (May–September). Applications are usually accepted several months in advance. |
https://www.google.com/about/careers/students/guide-to-technical-development.html
Google Careers 程序员必修课的更多相关文章
- 90后iOS开发者的出路,如何规划30岁前的自己(程序员必修课)
前言: 最近发生了一些和我们没有直接关系但是有间接关系的事情.比如华为“清洗”高龄基层员工,比如游戏公司2号员工拿不到股份而离职.先不说事实到底如何,起码很多码农是心有戚戚焉. 最近一年多也发生了一些 ...
- 漫谈程序员(十一)老鸟程序员知道而新手不知道的小技巧之Web 前端篇
老鸟程序员知道而新手不知道的小技巧 Web 前端篇 常充电!程序员只有一种死法:土死的. 函数不要超过50行. 不要一次性写太多来不及测的代码,而是要写一段调试一段. UI和编码要同步做. 多写注释方 ...
- 【Java分享客栈】Java程序员为争一口气熬夜硬刚CSS实现掘金首页
前言 如果我做不了最厉害的Java工程师,那我就做Java工程师中最厉害的前端工程师. 前段时间,我默默给自己又喂了这碗心灵鸡汤-- 我不是很厉害的Java工程师,哪怕我已经工作八年,我依然觉得自己和 ...
- 技术|程序员必须要学会Google搜索技巧
程序员必须要学会Google搜索技巧 摘要: 因为Google在我天朝被墙,学FQ请通过Bing进行搜索如何FQGoogle搜索技巧我曾经多次劝我的另一个朋友花10分钟学习一下Google通配符的使用 ...
- [闲谈] 有经验的程序员用Google用得多么?
关于程序员有没有必要记一些API什么的讨论有很多,我个人觉得能Google到的就没必要刻意去记,可以简单的做个笔记,需要用的时候查一下就好了.真正有必要记的东西,用得多了自然也就能记住了. 文章不难, ...
- 程序员的自我修养:高效使用Google解决问题
如果票选近二十年最伟大的发明,我相信搜索引擎肯定会占据一个不容小觑的位置,它不单是一项发明,更是一项成就,最大程度消灭了信息的不平等.既然人人都可以接触到海量的信息,那么衡量信息财富多寡就只剩下技巧这 ...
- 【转载】Google 程序员消灭 Bug 的 5 大法宝!
遇到问题怎么办?还能怎么办,解决呗.那到底怎么解决呢?你是有什么惯用的逻辑模式.解决策略,还是全靠直觉手感? 本文中,一位 Google 程序员将“现场”演示其解决编程问题的始末,看看有套路的问题解决 ...
- 什么?作为程序员的你还不知道怎么访问 Google
今天就一个目的,让你可以FQ成功,其他人我不知道,但就程序员来说,不能使用 Google 那真是一大损失,当然还有对所有人适用的 YouTobu 这个视频网站,资源多的没话说,别的不说,学习英语很方便 ...
- 程序员必备技能:代码审查 (Google牛人谈Code Review)
在上一篇博客里我暗示自己将不在为Google工作. 我还没有决定好去哪儿-有几个非常不错的工作机会让我选择.鉴于这段时间内我不受雇于任何公司,我想我可以写点和专业相关的东西,这些东西很有趣,但是如果我 ...
随机推荐
- ES6笔记之参数默认值(译)
原文链接:http://dmitrysoshnikov.com/ 原文作者:Dmitry Soshnikov 译者做了少量补充.这样的的文字是译者加的,可以选择忽略. 作者微博:@Bosn 在这个简短 ...
- java源码阅读System
1类签名与注释 public final class System System类包含一些有用的类属性和方法.该类不能被实例化,所以其所有属性与方法都是static的. 2标准输入输出流 public ...
- 第五章:关于ESearch的应用
ElasticSearch是一个开源的分布式搜索引擎,具备高可靠性,支持非常多的企业级搜索用例. 我在这里做一下简单介绍和整理: 首先.ES搜索引擎给予java开放使用之前必须安装java环境,使用j ...
- Tempter of the Bone——DFS(王道)
Problem Description The doggie found a bone in an ancient maze, which fascinated him a lot. However, ...
- 9.11排序与查找(三)——给定一个排序后的数组,包括n个整数,但这个数组已被旋转过多次,找出数组中的某个元素
/** * 功能:给定一个排序后的数组.包括n个整数.但这个数组已被旋转过多次,次数不详.找出数组中的某个元素. * 能够假定数组元素原先是按从小到大的顺序排列的. */ /** * 思路:数组 ...
- 一个简单的java回调函数的实现
回调函数 回调函数涉及的3个函数 登记回调函数 回调函数 响应回调函数 简单的解释 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话.过了几天店里有货了,店员就打了你的电话,然 ...
- Unity3D教程宝典之Web服务器篇:(第二讲)从服务器下载图片
转载自风宇冲Unity3D教程学院 从Web服务器下载图片 上一讲风宇冲介绍了wamp服务器及安装.这回介绍如何从服务器下载内容至 ...
- 百度MUX:APP动效之美需内外兼修
移动互联网时代已经到来.APP已如天空的繁星.数也数不清.随着手机硬件的不断升级,实现炫酷且流畅的动效不再是遥远的梦想.假设你是APP达人,喜欢试用各种APP,你肯定会发现越来越多的APP開始动效化. ...
- C++11 新特性之 变长參数模板
template <typename ... ARGS> void fun(ARGS ... args) 首先明白几个概念 1,模板參数包(template parameter pack) ...
- DSP6455的cmd文件
DSP6455的cmd文件 CMD 的专业名称叫链接器配置文件,存放链接器的配置信息,DSP编译器的编译结果是未定位的,DSP也没有操作系统来定位执行代码,DSP系统的配置需求也不尽相同,因此需要定义 ...