CS基础知识

时间:2013-02-07 17:56:09

标签: computer-science

多年来,我一直在编程。我在Linux中使用C / C ++和make / open源代码。我用Python来算法算法。我使用C#/ Visual C ++ MFC在Windows上创建玩具程序。这些代码保存在版本控制系统下。但在审查了软件工程的面试问题之后,我意识到我仍然没有CS的基本知识。我的大部分编程都是“盲目的”,没有任何仔细的设计。所以我的问题是SE必须知道的基本CS知识是什么?

1)数据结构和算法

2)离散数学

我还应该学习其他什么吗?

2 个答案:

答案 0 :(得分:2)

熟悉(至少)主要大学要求获得学士学位的相同主题是个好主意。例如:http://www.engin.umd.umich.edu/SRA/pdf/curriculum/Curr_SWE_Fall_2008.pdf

答案 1 :(得分:1)

从“编码员”到“软件工程师”的过渡是一个终身的过程。您认识到该区域的弱点这一事实表明您已经朝着正确的方向迈出了一些步伐。恭喜!

在熟悉数据结构和基本算法之后,我建议将“设计模式”作为你的#2。这方面的经典文本是“设计模式:可重用的面向对象软件的元素”

第三个研究领域可能是“软件工程过程”。这些是人员团队创建软件时使用的技术和工作流程。公司对这些流程的知识以及以协调的方式与他人合作的能力表示赞赏。