Zhenrui Chen' Blog

风吹流水,大漠留香

编程入门技能和学习资源


2015-07-26 作者: Zhenrui Chen 标签: 编程
原文链接: http://zhenruichen.com/2015/07/26/Learn-CS.html

清平世界,朗朗乾坤。互联网浪潮势不可挡,CS 大军横扫六合。正所谓,美帝工作共一石,CS 独占八斗,EE 得一斗,天下共分一斗。

好了,我们从扯淡的开篇词回到正常的现代汉语。比较当前的就业形势,CS 专业一枝独秀,无论是岗位数量还是薪资水平都远远优于其他行业。上至养了十多年小白鼠的生物学博士后,下至刚入大学的本科小鲜肉,很多人都准备转行学习 CS. 那么,如何开始转行之路呢?这篇博客整理了一些有用的信息。后续不定期更新,欢迎收藏。

技能分类

没有点对技能树就只能点蜡烛……

从工作需要来看,需要学习的技能可以分为必备技能和可选技能。可以根据自己的情况确定学习次序,也可以参照下面罗列的这个次序进行。

必备技能

  • 脚本语言,学习 Python 或 PHP
  • 面向过程编程,学习 C
  • 面向对象编程,学习 Java 或 C++
  • 算法基础,学习常见数据结构和基本算法
  • 计算机网络,学习网络分层结构、TCP/IP 等基础知识

可选技能

  • 网页前端,学习 HTML、CSS 和 JavaScript
  • 手机客户端开发,学习 iOS 或者 Android 开发的基础知识
  • 操作系统,学习 Linux 或者 Windows 系统的基础知识
  • 机器学习和数据挖掘的基础知识

学习资源

公开课

  • 网易公开课
    上面有很多经典课程,配有中英文字幕。

  • Coursera
    大量的世界一流大学课程,类似于远程课程,有课程作业和考试。

  • Udacity
    Google、Facebook 等互联网公司资助的在线课程,部分免费。

算法学习网站

技术论坛

  • 一亩三分地论坛-找工求职版
    新手入门的最佳论坛,刷题、求内推。

  • Stack Overflow
    著名的技术问答社区,搜索大部分技术问题时都可以看到这个网站。

  • 图灵社区
    中文技术社区,技术类电子书。整理出版的技术文摘《码农》内容很不错,有免费电子版。

经典汇总贴

刷题网站

  • LeetCode
    必刷,面试中最容易考的算法题目。

  • TopCoder
    刷题,还可以写代码赚外快。

面试资料

经典书籍

  • Cracking the Coding Interview
    第六版2015年7月1号上市。第五版的名字叫《Cracking the Coding Interview: 150 Programming Questions and Solutions》,因此被大家简称为 CC150. 北美技术面试必须准备的一本书。

  • Programming Interviews Exposed

  • Elements of Programming Interviews

  • 编程之美
    微软亚洲研究院邹欣主编的技术面试题目集锦。国内技术面试几乎避不开这本书。

  • 浪潮之巅
    Google 研究院吴军回顾 IT 行业发展历史的书。在下一个浪潮来临时,很多曾经红极一时的巨头公司倒下了,还有一些在苟延残喘,AT&T、网景、太阳、摩托罗拉、诺基亚……微软和苹果这样屹立40年不倒的巨头公司,在 IT 行业内已经成为奇迹了。

代码托管

  • git
    新兴的版本控制软件,在互联网公司和创业型小公司中比较流行。不建议学习 SVN,在技术上落伍了。

  • GitHub
    代码托管网站,大部分开源代码都托管在这里。

文本编辑器

文本编辑器之战已经持续了很久。至少学习下列文本编辑器中的一种。

  • vim
    号称“编辑器之神”,速度快,操作简单。

  • Emacs
    号称“神的编辑器”,扩展功能多。

其他建议

  • 尽早开始写代码,不要一味地看书或者看视频。代码不亲自写,看很多遍也没有用。
  • 万事不决问 Google. 善于使用搜索引擎寻找需要的资源,或者解决遇到的问题。
  • 使用版本控制软件,掌握团队协作开发的基本技能。
  • 在 GitHub 上提交自己的代码,保持良好的提交记录。
  • 建立个人博客,记录学习编程时的问题和解决方案。
  • 参与开源项目或者其他社区活动,为开发者社区做贡献。