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” courseFocus 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 languagesAdd to your repertoire:
  • JavaScript®
  • CSS & HTML
  • Ruby®
  • PHP®
  • Perl®
  • Shell® script
  • Lisp®
  • Scheme®

Online resources:

Test your codeLearn how to catch bugs, create tests, and break your software

Online resources:

Develop logical reasoning and knowledge of discrete mathOnline resources:
Develop a strong understanding of algorithms and data structuresLearn 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 systemsOnline resources:

UC Berkeley Computer Science 162

Learn UX designOnline resources:

Udacity - UX Design for Mobile Developers

Learn artificial intelligenceOnline resources:
Learn how to build compilersOnline resources:

Coursera - Compilers

Learn cryptographyOnline resources:
Learn parallel programmingOnline Resources:

Coursera - Heterogeneous Parallel Programming

Work on projects outside of the classroomCreate 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 debugGitHub is a great way to read other people’s code or contribute to a project

Online resources:

Work on projects with other programmersThis 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 skillsPractice your algorithmic knowledge through coding competitions like CodeJam or ACM’s International Collegiate Programming Contest.

Online resources:

Become a teaching assistantHelping to teach other students will help enhance your knowledge in the subject matter.
Gain internship experience in software engineeringIn 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

转载于:https://www.cnblogs.com/pinganzi/p/5306316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值