我认为做到下面这些就够了:
算法:只熟悉那些最常用的数据结构和算法,avl-tree、rb-tree、hash、heap、quickly-sort、冒泡 etc
kernel:进程管理、文件系统、IPC,其他如驱动、网络部分根据工作需要时再深入
编译原理:对前端,自动机、LL/LR只做原理上的了解,重点熟悉lex&yacc的用法,后端就完全看你的实际工作需要了
体系架构:x86 & arm. 这方面个人认为如果想做一个有含金量的程序员,尤其是搞嵌入式的,至少对一种架构寻根究底。
软件工程:要明白我们绝大多数不是搞研究,而是搞工程。必须培养准确的需求分析、良好的工程方向和进度把握能力
除了上面这些基本功外,其他都是次要的
如果你的志向是做一个普通的工程人员,那么到此为止,请节制你的求知欲望,珍爱生命,享受生活!
如果你的志向是做一个变态的工程人员,那就请进一步深入数理逻辑、离散数学、TAOCP……
语言选择,需要什么学什么
工具选择,什么称手用什么
学无止境。
如果有那个设有上百台终端的局域网的单位通过试用,愿意聘请你当网管的时候,就可以了。
然后在实践中继续学习理论。
最少你要可以称的上是熟悉。
而且是你学专业的常用软件都要熟悉使用。
思维要好,。逻辑能力要好。。
如果你只会个WORD。电子表格。幻灯片。打打字的。那就算了。这个谁多会。还有什么装装机。装个系统。 排除毛病。 我相信这个谁都会的。现在这种时代。会这些算是计算机基础。