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

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

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

说明:仅以此文,记录希望未来 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 条回复 时间 点赞

你推荐什么书呢?

还记得刘未鹏的暗时间

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

徐汪成 回复

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

徐汪成 回复

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

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

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

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

都偏开发类啊

徐汪成 回复

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

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

爱偷懒的QA 回复

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

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

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

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

王稀饭 回复

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

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

叉叉敌 回复

是的, 走了好几年了

在路上 回复

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

王稀饭 回复

读完觉得有成长吗?

在路上 回复

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

王稀饭 回复

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

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

在路上 回复

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

剪烛 回复

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

剪烛 回复

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

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

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

在路上 回复

👍👍👍

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