面试微软

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

Code: The Hidden Language of Computer Hardware and Software (《编码的奥秘》)
Computer System: A Programmer’s Approach (《深入理解计算机系统》) / Windows via C/C++ (《Windows核心编程》 / 《程序员的自我修养》
Code Complete 2(《代码大全》)/ The Pragmatic Programmer (《程序员修炼之道》,我也把这本书称为《代码小全》)
Programming Pearls (《编程珠玑》) / Algorithms / Algorithm Design / 《编程之美:微软技术面试心得》
The C Programming Language 《C程序设计语言》
The C++ Programming Language 《C++程序设计语言》 / Programming: Principles and Practice Using C++ 《 C++程序设计原理与实践 》 / Accelerated C++
The Structure and Interpretation of Computer Programs (《计算机程序的构造和解释》)MIT的这门课程视频地址
Clean Code 《代码整洁之道》/ Implementation Patterns《实现模式》
Design Patterns (《设计模式》) / Agile Software Development, Principles, Patterns, and Practices《 敏捷软件开发(原则模式与实践) 》
Refactoring (《重构》)
(注:1. 以上同一条目下用“/”隔开的表示任选,当然你也可以都读了,相信我,时间是足够的。2. 读这些书并不意味着逐字逐句从第一页读到最后一页——当然你也可以这么做。怎么是聪明高效的读法,可以参考我之前写的关于如何阅读和查找/鉴别书籍/资料的博文)

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

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

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

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

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

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

软件随想录
黑客与画家
重来
UNIX编程艺术
编程人生
洪强宁(豆瓣技术总监):

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

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

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



相关文档
最新文档