Technical Development Guide---for Google
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 for Computer Science students seeking an internship or university grad role at Google.
What this guide is for
- 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, a 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.
How to use this guide
- The guide lists topics and resources in a rough progression, from possible places to begin if you have little or no technical skills, to resources for those with increasing skills, to ways to gain exposure in the Computer Sciences field.
- You can use any of the resources you want, in any order.
Recommendations and Resources
|
Take an “Introduction to CS” course |
Focus on basic coding instructions. Online resources: |
|||
|
Learn to code in (at least) one object-oriented programming language (C++, Java®, Python®) |
Online resources for beginning programmers:
Online resources for more experienced programmers:
|
|||
|
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: Computer Science 162, UC Berkeley, YouTube |
|||
|
Learn artificial intelligence and machine learning |
Online resources:
|
|||
|
Learn Android development |
Online resources:
|
|||
|
Learn web development |
Online resources:
|
|||
|
Learn other developer skills |
Online resources: |
|||
|
Learn cryptography |
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 of the subject matter. |
|||
|
Gain internship experience in software engineering |
Find Google’s internships in Engineering and Technology on our Students site. Online resource to prepare to interview for software engineering positions, including for internships:
|
|||
Technical Development Guide---for Google的更多相关文章
- Website Speed Optimization Guide for Google PageSpeed Rules
原链接地址:http://www.artzstudio.com/2016/07/website-speed-optimization-guide-for-google-pagespeed-rules/ ...
- 转:Oculus Unity Development Guide开发指南(2015-7-21更新)
http://forum.exceedu.com/forum/forum.php?mod=viewthread&tid=34175 Oculus Unity Development Guide ...
- Google coding Style Guide : Google 编码风格/代码风格 手册/指南
1 1 1 https://github.com/google/styleguide Google 编码风格/代码风格 手册/指南 Style guides for Google-originated ...
- Beginning Windows Azure Development Guide
目 录 一 初始化Windows Azure 二 云应用程序的编写. 2.1云应用程序的创建. 2.2一个简单的云应用程序. 2.3 托管云程序. 三 云程序的数据库操作. 3.1通过Cloud平台 ...
- Google Careers 程序员必修课
quote from : https://www.google.com/about/careers/students/guide-to-technical-development.html Techn ...
- The Google Test and Development Environment (持续更新)
最近Google Testing Blog上开始连载The Google Test and Development Environment(Google的测试和开发环境),因为blogspot被墙,我 ...
- What technical details should a programmer of a web application consider before making the site public?
What things should a programmer implementing the technical details of a web application consider bef ...
- Google Chrome开发者工具-移动仿真:触摸事件仿真
如果你在开发PAD/手机所用WEB版应用,需要在桌面审查页面元素.调试脚本,模拟移动设备尺寸.事件.位置等信息, 那么可以使用Chrome开发者工具(DevTools)提供的强大的移动仿真功能,支持主 ...
- google calendar
1. user guide on google https://developers.google.com/google-apps/calendar/instantiate 2. google app ...
随机推荐
- linux 环境变量设置
sudo gedit ~/.bashrc source ~/.bashrc
- Python输出和输入
一.input()函数 在 Python 中,使用内置函数 input()可以接收用户的键盘输入. input()函数的基本用法如 下: variable = input("提示文字") 其中,var ...
- c/c++二叉树的创建与遍历(非递归遍历左右中,破坏树结构)
二叉树的创建与遍历(非递归遍历左右中,破坏树结构) 创建 二叉树的递归3种遍历方式: 1,先中心,再左树,再右树 2,先左树,再中心,再右树 3,先左树,再右树,再中心 二叉树的非递归4种遍历方式: ...
- 百度地图在web中的使用(一)
百度地图在web中的使用(js) 背景:在公司做一个地理位置的自定义字段,需要用到地图来获取经纬度和地址,在这选择了百度地图 准备工作 注册百度地图开发者,创建应用获取key http://lbsyu ...
- 联想x3650m5服务器安装windows2008R2系统
服务器型号:联想x3650 M5 2U服务器 硬盘:一块300G硬盘 阵列:raid0 系统:windowsserver2008R2系统 安装开始时间:20180930晚上9点 客户手里有window ...
- Docker: docker image常用命令实战
#docker列出镜像[root@192 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 881bd08c0b08 ...
- C#基础知识之托管代码和非托管代码
什么是托管代码(managed code)? 托管代码(Managed Code)就是中间语言(IL)代码,在公共语言运行库(CLR)中运行.编译器把代码编译成中间语言,当方法被调用时,CLR把具体的 ...
- Nginx使用教程(八):使用Nginx缓存之Memcached缓存
使用Memcache <br\>Memcache是一个通用的内存缓存系统. 它通常用于加速缓慢的数据访问. NGINXmemcached模块提供各种指令,可以配置为直接访问Memcache ...
- 获取Spring容器Bean对象工具类
在开发中,总是能碰到用注解注入不了Spring容器里面bean对象的问题.为了解决这个问题,我们需要一个工具类来直接获取Spring容器中的bean.因此就写了这个工具类,在此记录一下,方便后续查阅. ...
- How to get Docker
Docker 通俗的理解就是像VM一样的虚拟技术,但是不完全相同. Docker可以打包为镜像文件,在镜像中运行容器. 镜像和容器可以理解成类和对象的关系. 拿VM虚拟机和docker来举例,一个容器 ...