1
rsy 2023-09-04 23:12:38 +08:00
都是很经典的教材,能透彻掌握的话能起飞,但如果只是翻过就当看过的话就不一定了
|
2
amlee 2023-09-04 23:13:23 +08:00
你要是学生,推荐 https://csdiy.wiki/
你要不是,当我没说 |
3
nikenidage1 2023-09-04 23:14:24 +08:00
能全掌握的话,30k/month 不成问题
|
4
rimworld 2023-09-04 23:14:48 +08:00
同推荐 https://csdiy.wiki/
|
5
ufan0 2023-09-04 23:19:26 +08:00 via iPhone
先把学历拉上才能起飞。
|
6
lostberryzz 2023-09-04 23:23:09 +08:00
都是基础课,打基础很不错,起飞不至于
|
7
golangLover 2023-09-04 23:25:26 +08:00 3
没有用的。程序员就整天弄这点虚的,还不如刷刷题,做下业务。会这些理论知识,然而没有实践,在现在这环境大部分时候根本没用。
|
9
lbprivateacc 2023-09-04 23:29:27 +08:00 via Android
点进去报错了
|
10
levelworm 2023-09-04 23:29:55 +08:00 via Android
我觉得还是得做项目,MIT 和 Berkeley 挑一些项目做做蛮好的。
工作中很难接触到真正有难度的东西,没啥意思,做的再多也没用,还不如自己 hack 一下 kernel ,或者找 cve 。 当然顶尖公司的顶尖组就当我没说,问题是都顶尖了还操心这些做啥。 |
11
pocarisweat 2023-09-04 23:52:28 +08:00 5
SICP 拖了好几年都没读完,但这本书真的很有意思(或者说和 Lisp 相关的那几本著名的书都很有意思),最起码来说它可以治愈一个人的 Lisp 恐惧症,以及理解「抽象」这个抽象的词(递归了这下)。
而 CSAPP 的话呢…一大作用应该是治愈很多程序员的「底层」恐惧症,即看到所谓底层相关的知识又觉得害怕,又盲目崇拜。从这个角度说,这本书当然是每个程序员都必读的(没说要读完或者全部弄懂)。 文章里面提到的操作系统教材我没有读过。但从我读过的一些操作系统书籍来看,理论背景太深厚也会导致读起来过于抽象,只适合考试。如果能够结合操作系统的若干 API ,比如创建进程线程,映射内存,会好一点。南大还是哪个大学在 B 站上有个操作系统课,那个不错。 数据库那本也没读过,当年学校用的教材是《数据库系统概念》,到今天也就记得若干 SQL 、关系代数那套理论,还有 ACID 的定义了。更进阶的一本是《数据库系统实现》,讨论了为什么数据库的索引要用 B 树,如何根据 SQL 创建查询计划等等。所以对应了两个路线的实操,一个是多写点 SQL (如果你不熟悉的话,多和聚合函数以及 HAVING 字句斗智斗勇能很快增进对关系代数的认识),一个是试着写一个数据库引擎。其实数据库实现这块知识挺有意义的,因为这可能是第一次思考内存之外的模型(比如如何优化磁盘写入),而且 CRUD 程序员很需要这个。 说到 CRUD ,后面那本《数据密集型系统设计》就更推荐了。我觉得大多数喜欢装 X 问高并发的面试官问的问题都不会超过这本书的某个子集…而且相比偏老一些的数据库教材,这本书讨论了很多 NoSQL 的内容和新的索引结构。 而学编译原理,真的不推荐龙书。《编译器设计》或者《现代编译原理》都比龙书更容易入门。或者有一本九十年代的书,叫《编译原理与实践》,这个更适合初学者。这本书国内有翻译版也有影印版,翻译翻得很垃圾。但从普通程序员的角度看,学编译原理并不代表真的要做编译器或者发明新语言(虽然这是很有意思的事),而主要是 (1) 会用编译器;(2) 了解编译器大概能做什么优化,写代码的时候心里有数;(3) 了解底层链接器、加载器、runtime 等的工作原理。1 你看编译原理书没啥用,得看你用的编译器的文档加多用; 2 的话有点用,但你也得先懂点汇编; 3 虽然做编译器都绕不开这个,但大部分编译原理的书都不会讲,CSAPP 倒是会讲,这个有用。 |
12
loading 2023-09-05 08:19:31 +08:00 1
|
13
chenyu0532 2023-09-05 09:32:05 +08:00
建议边工作/实践边看,另外编译原理你们真的这么推荐么,太底层了吧。。。
|
14
heheheheljxx OP @chenyu0532
编译原理不推荐,推荐的是 Crafting Interpreters 这本,文章也说确实编译原理不适合 |
15
heheheheljxx OP @rimworld 东西很全
|
16
mikasa1024 2023-09-05 09:52:49 +08:00
|
17
wangpugod2003 2023-09-05 10:01:56 +08:00
《数据库系统实现》->《 DDIA 》
做分布式工程师(偏重于数据)必读,了解从 relational DB 的 B+树结构,到 noSQL 数据库的 LSM 结构的演进;了解从 ACID 到 CAP ,不同的分布式系统的 tradeoff 。 适合有一定基础的分布式工程师,新手看了也白看,根本不理解为啥要耍这么大一摞作甚。 |
18
wangpugod2003 2023-09-05 10:03:04 +08:00
新手工程师推荐:《 21 天从入门到精通 XXX 》,边看边速成 CRUD boy~
|
19
keepRun 2023-09-05 12:34:51 +08:00
如果你是学生的话,如果是初学,建议先从实践性较强的书籍开始学,先去动手,学计算机一定要多动手。
我认为比较合适的学习一个领域的学习方法是: 前期先看实践性比较强的书籍,适合入门阶段。 后期适合看理论性相对多点的书籍,适合有一定基础后看。 看的过程中,如果某个知识点不懂,就去 CSDN 、掘金、知乎、B 站等搜索相关内容补充知识,然后继续。 与此同时,我建议刷书,针对某个领域,我一般至少挑 3 本书,遇到不懂的可以先跳过或者换本书,这样保证自己对这个领域认识比较全面。 这个学习方法我认为适合学习大部分领域。 读书最关键的是要看懂,如果一本书让你看得一点都看不懂,先得去补齐前置知识。 |
20
wei2629 2023-09-05 13:52:50 +08:00
说实话 夸夸其谈。一问都能扯到一点,一具体什么都差点。书上得来终觉浅欲知此事需躬行,直接看杀手级的应用或者中间件,存储数据库,比这强。
|
21
donatello 2023-09-05 16:59:55 +08:00
巧了,目前跨专业考的研究生,就剩下分布式了(基本按照这个网站的推荐视频看的,原版是 teachyourselfcs.com ,部分书籍都看了),分布式难度太大了可能都不考虑,推荐的书籍感觉没啥操作性针对业务来说的...不知道有没有大佬推荐推荐分布式学习哪些 cs 课程好一点。我的建议是按照他流程的视频来看比较好,特别是 cs61a b c 对我的提升就特别大了
|
22
donatello 2023-09-05 17:01:29 +08:00
上面挺多人都认为这些没用,其实上面不只有书啊,还有一大堆 UCB mit 的课程可以跟着学习,基本都有一大堆的项目可以做,难度有些真不低
|