这个thread好象很奇怪了。程序员怎么能不会编程?项目经理为什么必须会编程? 其实搞cs的有很多方向,各有各的需求,哪有什么笼统的CS。你若是做系统的,不懂OS ,architecture,parallel computing,甚至mobile,security,肯定不行的。若是做 算法,information retrieval的,算法和数学得好吧。若是程序员,当然得会写code 啊。 要想做码农,不懂怎么装电脑,修电脑,没有一点问题。不太懂OS,architecture, algorithm,data mining,会有一些问题,但问题也不大。关键是写简单高效的code, 写的还要快。基本的知识要会,比如OO design,basic data structure and algorithm (Introduction To Algorithm is more than enough),linux,one scripting language,c++/stl, lots of coding experience,and good sense of coding style。 最后,熟读100道面试题。基本做到:看道一道题,5分钟内给一个普通算法,5分钟内 能写完code,code需要简单清楚。再牛的话,10分钟之内给出一个接近最优的解。 这些准备,对一个聪明人而言,基础知识学1年(OS,database,linux,OO,2 languages,basic data structure and algorithm, possibly data mining),半年 做1-200道题。找个大公司的码农的工作应该没问题。