天天看點

面試IT企業的書單

摘自《怎樣花兩年時間去面試一個人》中列出的書單

http://mindhacks.cn/2011/11/04/how-to-interview-a-person-for-two-years/

你面試微軟前必須要讀的十本書:

  1. Code: The Hidden Language of Computer Hardware and Software (《編碼的奧秘》)
  2. Computer System: A Programmer’s Perspective (《深入了解計算機系統》) / Windows via C/C++ (《Windows核心程式設計》 / 《程式員的自我修養》
  3. Code Complete 2(《代碼大全》)/ The Pragmatic Programmer (《程式員修煉之道》,我也把這本書稱為《代碼小全》)
  4. Programming Pearls (《程式設計珠玑》) / Algorithms / Algorithm Design / 《程式設計之美》
  5. The C Programming Language
  6. The C++ Programming Language / Programming: Principles and Practice Using C++ / Accelerated C++
  7. The Structure and Interpretation of Computer Programs (《計算機程式的構造和解釋》)
  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 詳解

馮大輝(丁香園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. TAOCP (不解釋)
  5. The Pragmatic Programmer (《程式員修煉之道》)
  6. Design Patterns (《設計模式》)
  7. The Structure and Interpretation of Computer Programs (《計算機程式的構造和解釋》)
  8. Refactoring (《重構》)
  9. The C Programming Language
  10. Introduction to Algorithms (《算法導論》)

鄭昀(窩窩團研發副總裁):

  1. 工程師入門:
    1. Code Complete 2
    2. 程式員修煉之道
    3. 深入了解計算機系統
  2. 工程師更新:
    1. 設計模式
    2. 重構——改善既有代碼的設計
  3. 工程師轉型:
    1. 快速軟體開發——有效控制與完成進度計劃
    2. 人月神話
    3. IT項目管理那些事兒
    4. 軟體随想錄
    5. 最後期限
    6. 走出軟體作坊
    7. 你的燈亮着嗎?——發現問題的真正所在

張峥(微軟亞洲研究院副院長):

  1. Algorithms (by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani)
  2. Data Structure and Algorithms
  3. The C Programming Language
  4. The Design of the UNIX Operating System
  5. Compilers (龍書)
  6. Computer Architecture: A Quantitative Approach
  7. Flow
  8. Outliers (why hard work and luck are both important)

鄒欣(MSRA創新工程中心首席研發經理):

關于創新的書籍(http://book.douban.com/doulist/1253169/):

  1. The Myths of Innovation
  2. The Innovator’s Dilemma
  3. The Innovator’s Solution
  4. Crossing the Chasm
  5. Inside Intuit
  6. 盛田昭夫
  7. 傑克·韋爾奇自傳
  8. 夢斷代碼
  9. Innovation
  10. 浪潮之巅

繼續閱讀