设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

干货!谷歌推荐的技术能力提升指南

2015-5-15 22:50| 发布者: joejoe0332| 查看: 1501| 评论: 0|原作者: 小峰|来自: 码农网

摘要: 打好扎实的计算机科学基础对于成为一个成功的软件工程师是非常重要的。本指南主要关于如何提升自己的技术能力,非常适合学生用于制定教学课程,当然这里提供的网络资源,并不意味着就可以完全取代现有的课程,正式的 ...

  译者注:本文是翻译自 Google Career 的一篇职业规划指南,需阅读原文的请自备墙梯。以下是译文:


  打好扎实的计算机科学基础对于成为一个成功的软件工程师是非常重要的。本指南主要关于如何提升自己的技术能力,非常适合学生用于制定教学课程,当然这里提供的网络资源,并不意味着就可以完全取代现有的课程,正式的课程安排还是要学的(除非你不想拿到毕业证书)。



学术学习的推荐

CS课程入门

计算机科学课程导论,介绍编码的基本知识。

在线资源:Udacity – intro to CS courseCoursera – Computer Science 101


至少要会一种面向对象的编程语言:C ++、Java或Python

初级在线资源: Coursera – Learn to Program: The FundamentalsMIT Intro to Programming in Java,Google’s Python ClassCoursera – Introduction to PythonPython Open Source E-Book

中级在线资源: Udacity’s Design of Computer ProgramsCoursera – Learn to Program: Crafting Quality CodeCoursera – Programming LanguagesBrown University – Introduction to Programming Languages


了解其他的编程语言

注:添加到你的知识库中——JavaScript、CSS & HTML、Ruby、PHP、C、Perl、shell script、Lisp和Scheme

在线资源: w3school.com – HTML TutorialCodecademyUdacity – Mobile Web DevelopmentUdacity – HTML5 Game Development


测试代码

注:学习如何捕捉bug,创建测试,破坏软件

在线资源: Udacity – Software Testing MethodsUdacity – Software Debugging


培养逻辑推理和学习数学离散知识

在线资源: MIT Mathematics for Computer Science, Coursera – Introduction to Logic, Coursera – Linear and Discrete Optimization, Coursera – Probabilistic Graphical Models, Coursera – Game Theory


深刻理解算法和数据结构

注:了解基本的数据类型(栈、队列和包),排序算法(快速排序、归并排序、堆排序),数据结构(二叉搜索树、红黑树、哈希表),和算法的时间复杂度.

在线资源: MIT Introduction to Algorithms, Coursera Introduction to Algorithms Part 1 & Part 2List of AlgorithmsList of Data Structures, 书籍: The Algorithm Design Manual


深刻理解操作系统

在线资源:UC Berkeley Computer Science 162


学习UX设计

在线资源: Udacity – UX Design for Mobile Developers


学习人工智能

在线资源: Stanford University - Introduction to RoboticsNatural Language ProcessingMachine Learning


学习如何构建编译器

在线资源:Coursera – Compilers


了解密码学

在线资源:Coursera – CryptographyUdacity – Applied Cryptography


了解并行编程

在线资源: Coursera – Heterogeneous Parallel Programming


尝试课外项目

注:可以是创建和维护网站,构建服务器,或打造机器人。

在线资源: Apache List of ProjectsGoogle Summer of CodeGoogle Developer Group


阅读和理解来自于一个大型系统(代码库)的代码,追踪文档并调试。

注:可以在GitHub上阅读他人的代码,研究他们的项目。

在线资源:GitHubKiln


与其他程序员一起开发项目

注:这能有助于你提高团队合作能力,同时还可以取长补短。


实践算法知识和编码技能

注:通过类似于CodeJam和ACM国际大学生程序设计竞赛的方式来实践自己的算法知识。

在线资源:CodeJamACM ICPC


成为助教

这有利于增强和巩固自我的学科知识。


实习

注:提前申请实习。比如说美国的实习期是在夏天的5至9月,那么你应该提前几个月就开始申请。


酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部