通用技术 面试 XX 前,我要读的书

在路上 · 2022年01月18日 · 最后由 剪烛 回复于 2022年02月09日 · 4368 次阅读

参考:《怎样花两年时间去面试一个人?---刘未鹏》

说明:仅以此文,记录希望未来 3 年阅读的技术书单。

前言:很赞同文中提到的,未来对于人才的判断可以来源于两方面:
(1)github 上你的代码记录;(2)你阅读过的技术书籍,以及对这些书籍的理解;

github 体现技术实战能力,对技术书籍的理解体现技术视野和理解力。

[Fr: 刘未鹏] 面试微软前必须要读的十本书:

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、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、编程人生

洪强宁(豆瓣技术总监)

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(《算法导论》)

郑昀(窝窝团研发副总裁)

工程师入门:
Code Complete 2
程序员修炼之道
深入理解计算机系统
工程师升级:
设计模式
重构——改善既有代码的设计
工程师转型:
快速软件开发——有效控制与完成进度计划
人月神话
IT 项目管理那些事儿
软件随想录
最后期限
走出软件作坊
你的灯亮着吗?——发现问题的真正所在

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

Algorithms (by Sanjoy Dasgupta, Christos Papadimitriou and Umesh Vazirani)
Data Structure and Algorithms
The C Programming Language
The Design of the UNIX Operating System
Compilers(龙书)
Computer Architecture: A Quantitative Approach
Flow
Outliers (why hard work and luck are both important)

邹欣(MSRA 创新工程中心首席研发经理)

关于创新的书籍 (http://book.douban.com/doulist/1253169/:)

The Myths of Innovation
The Innovator’s Dilemma
The Innovator’s Solution
Crossing the Chasm
Inside Intuit
盛田昭夫
杰克·韦尔奇自传
梦断代码
Innovation
浪潮之巅


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

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 25 条回复 时间 点赞
在路上 回复

👍👍👍

剪烛 回复

即使是技术,也不是都是纯实践性的。
比如很多底层的技术和理论,我们需要了解原理,但是不一定需要实践。

因为 1+1=2 的理论,不需要咱们去实践强化技术什么的。

我想从这些书中,更多的是得到思考方法或方向,比如你看飞哥(高飞)的文章,并不需要全部实践一遍,但是通过文章中的思路或知识点,可以作为参考,也可以作为字典。

剪烛 回复

工作生活大多数时候应该是无法实践的,有害的刻意实践一定要避免。
另外,好记性不如烂笔头,整理阅读笔记并定期回顾,尊重自己曾经在阅读上花的时间,至少在需要的时候能通过笔记快速回忆要点

在路上 回复

有这个打算并且正在实践,以前看书不留下笔记,最多划划线(但是不会去回顾),现在开始留下点子文档,一来方便回顾只是,二来方便二次阅读追加理解

如果没有实践的环境,怎样能够巩固读这些书的效果呢?

王稀饭 回复

我觉得可以通过写读后感或笔记来强化,持续迭代一本书的读书笔记,可以得到持续的成长

在路上 回复

多多少少还是会有,就是程度的多与少或深与浅(大部分时间我觉得收获度不高),今年期望通过一些读书的硬性指标来逼迫自己改掉这个毛病

王稀饭 回复

读完觉得有成长吗?

在路上 回复

为了达到月均一本的目标,经常会潜意识选择一些易读低难度的书,避开几斤重的硬核经典书😂

叉叉敌 回复

是的, 走了好几年了

优秀。
fenng 没有在丁香了吧。在无码科技的创始人了

王稀饭 回复

一个月看一本已经非常厉害了。我去年一年都没好好看完一本书。

我个人的豆瓣上标记了几百本书……
其中很多都是硬技术和软技术相关的高分书,真的去到了 “书荒” 的同学可以去翻翻看看有无合适,我比较懒自己只能一个月看一本。
我的观点有点接近 10 楼,虽然不至于那么功利,但工作之后最缺的确实是时间,看书要把时间投入和收益考虑进去,尽量多看对生活工作有利的少看乱七八糟的。如果已经把看书融入到日常生活分分秒秒当我没说😂。

这些全看完之后:
研发你给我跪着听,我来教你怎么优雅的写代码!
你这什么烂设计,快去给爷重构!功能实现我不管,像诗一样的代码得这么写!
你这么实现,虽然性能和安全上没毛病,但可读性太差!能不能为后面的接手的人想想!

爱偷懒的QA 回复

不同意哈,从测试的职业角度来看,工具书提高的是下限,底层和原理的书增加的是上限。

所以,还是要比较观众上层建筑的建设(精神建设)

工作后不能和上学期间一样了,要调整一下学习方法。以解决当前问题为目的,带着问题去学习。如果要看书,从现在看到死,也看不完,而且很多书你看完也没有用。这点儿可以借鉴一下犹太人,如果不能给你带来金钱的书,都可以不看!

徐汪成 回复

我羡慕哥哥之前跟我说的 写代码写到半夜

都偏开发类啊

书看的不少,看完的却少;
看完的书,理解透彻的少;
理解透彻的书,自己思考并有新的想法的又很少。

然而这些大佬都不会告诉你,他为什么选择这些书来读。
照猫画虎,真能画出虎来?

徐汪成 回复

看书是美好的愿望,主要是发现,最近几年,真正的成长其实非常少。

唯有认真读书的时候,才有真正的成长。

徐汪成 回复

我是佩服有毅力的人,如果我不刷视频不打游戏,有大把时间看书

羡慕还有时间看书的人哈!

还记得刘未鹏的暗时间

你推荐什么书呢?

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册