书单

来源:互联网 发布:光信息科学与技术知乎 编辑:程序博客网 时间:2024/05/01 21:52

列一下我所认为的,你面试微软前必须要读的十本书:

  1. Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)
  2. Computer System: A Programmer’s Approach (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》
  3. Code Complete 2(《代码大全》)/ The Pragmatic Programmer (《程序员修炼之道》,我也把这本书称为《代码小全》)
  4. Programming Pearls (《编程珠玑》) / Algorithms / Algorithm Design / 《编程之美:微软技术面试心得》
  5. The C Programming Language 《C程序设计语言》
  6. The C++ Programming Language 《C++程序设计语言》 / Programming: Principles and Practice Using C++ 《 C++程序设计原理与实践 》 / Accelerated C++
  7. The Structure and Interpretation of Computer Programs (《计算机程序的构造和解释》)MIT的这门课程视频地址
  8. Clean Code 《代码整洁之道》/ Implementation Patterns《实现模式》
  9. Design Patterns (《设计模式》) / Agile Software Development, Principles, Patterns, and Practices《 敏捷软件开发(原则模式与实践) 》
  10. Refactoring (《重构》)

(注:1. 以上同一条目下用“/”隔开的表示任选,当然你也可以都读了,相信我,时间是足够的。2. 读这些书并不意味着逐字逐句从第一页读到最后一页——当然你也可以这么做。怎么是聪明高效的读法,可以参考我之前写的关于如何阅读和查找/鉴别书籍/资料的博文)

注意:以上是我个人认为你面试微软开发职位前必须要读的10本书,它不代表我的雇主的观点。它也只是一个初步的书单,肯定会受到我个人经验和眼界的限制。欢迎大家提意见。

此外,IT不同子领域的必读书单可能千差万别,所以在发布之前我把这篇文章发给了一些朋友,他们给出了自己的书单(你是不是能看到一些有趣的共同点呢):

云风(中国游戏编程先行者,前网易游戏部门资深程序员,简悦创始人):

如果面试,我会挑以下的我自己读过的书,让人选择他也读过的部分,再了解他对这些书的理解。这些书其实本质上就是两类,对所面对的东西(程序语言也好,操作系统也好,底层设施也好)本身的理解程度。以及另一类:对设计思想和原则的理解:

  1. C++编程思想
  2. Effective C++中文版
  3. 深度探索C++对象模型
  4. C++语言的设计和演化
  5. C专家编程
  6. C陷阱与缺陷
  7. C语言接口与实现
  8. Lua程序设计
  9. Linkers and Loaders 链接器和加载器
  10. COM本质论
  11. Windows核心编程
  12. 深入解析Windows操作系统
  13. 程序员修炼之道
  14. 代码大全
  15. UNIX编程艺术
  16. 设计模式
  17. 代码优化:有效使用内存
  18. 深入理解计算机系统
  19. 深入理解LINUX内核
  20. TCP/IP 详解(卷1:协议、   卷2:实现 )

冯大辉(丁香园CTO,贝塔咖啡创始人):

  1. 软件随想录
  2. 黑客与画家
  3. 重来
  4. UNIX编程艺术
  5. 编程人生

洪强宁(豆瓣技术总监):

StackOverflow上有一个程序员必读书单帖子,这里仅列出top10。

  1. Code Complete 2 《代码大全》
  2. The Mythical Man-Month (《人月神话》)
  3. Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)
  4. The Art of Computer Programming(《计算机程序设计艺术 卷一 & 卷二》不解释)
  5. The Pragmatic Programmer (《程序员修炼之道》)
  6. Design Patterns (《设计模式》)
  7. The Structure and Interpretation of Computer Programs (《计算机程序的构造和解释》)MIT的这门课程视频地址
  8. Refactoring (《重构》)
  9. The C Programming Language 《C程序设计语言》
  10. Introduction to Algorithms (《算法导论》)

张峥(微软亚洲研究院副院长):

  1. Algorithms 《算法概论》(by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani)
  2. Data Structure and Algorithms 《数据结构和算法:C++语言描述》
  3. The C Programming Language 《C程序设计语言》
  4. The Design of the UNIX Operating System 《Unix操作系统设计》
  5. 编译原理(龙书)
  6. Computer Architecture: A Quantitative Approach《计算机系统结构(量化研究方法)》
  7. Flow: The Psychology of Optimal Experience
  8. Outliers (why hard work and luck are both important)《 异类:不一样的成功启示录 》

 

读好书是如此的重要,因为好书往往带领你去到更好的书,更大的世界。


来源地址:http://blog.jobbole.com/5204/