如题,最近想看 8.624 ,一位仁兄问我:你有学过这些需要提前理解的知识吗?如:操作系统 并发编程 数据库理论等
我回答:没看过……
因为不是计算机相关专业出身,很多时候都觉得自己和别人从底子上就差距很大
想问下各位大佬们,有没有什么方法可以尽量弥补这些不足?是找相关书籍看就可以了吗,相关书籍很多,可以推荐一些吗?
1
ruixue 2020-12-05 08:31:50 +08:00 23
|
2
holulu 2020-12-05 08:35:13 +08:00 1
同是非科班的,大部分时候都是在写 CRUD,操作系统、并发编程、数据库理论这些基础空闲的时候一点一点地补,主要看国外的一些经典教材,就是国内翻译的那个黑封面系列的,在网上找原版的电子书看。
|
3
IsaacYoung 2020-12-05 08:47:59 +08:00 via iPhone
csapp
|
4
levelworm 2020-12-05 09:08:48 +08:00 via Android
可以找国外好大学的 lab 。很希望有个列表。目前只知道 CMU 的 csapp 和伯克利的 SICP 。CMU 的数据库应该也很好但是需要很多前置课程。操作系统和编译原理
|
5
IndexOutOfBounds 2020-12-05 09:09:33 +08:00
没基础,只看书很容易劝退
|
6
levelworm 2020-12-05 09:12:01 +08:00
@IndexOutOfBounds 我觉得也是。其实大学上课往往也不是看整本书,而是比如说其中几章。
|
7
Cielsky 2020-12-05 09:21:26 +08:00 via Android
先找 mooc 视频过一下,有个大致框架
|
11
V2KN 2020-12-05 09:36:13 +08:00 via Android
8.624 是什么鬼啊哈哈。你想说 6.824 嘛
|
12
hello2060 2020-12-05 09:37:51 +08:00 via iPhone
最好顺便学习编译原理,电子线路,大规模电路设计,理论物理能看懂也可以看看。
|
13
OneOrange417 2020-12-05 09:51:10 +08:00
@ruixue 谢谢
|
17
em2046 2020-12-05 10:07:35 +08:00
|
18
wangyuescr 2020-12-05 10:11:34 +08:00 via Android
歪个楼说个付费的,我在关注但不知道效果。
学堂在线付费的 cs 疾风计划,5000 多 |
19
securityCoding 2020-12-05 10:15:30 +08:00
timegeek 上面很多计算机基础体系的课程,啃了几门了,比如数据库,算法,网络等等
|
20
echowuhao 2020-12-05 10:16:59 +08:00 2
我给你说个偏门。玩单片机,这玩意真是底层 。有乐趣,也能学东西。
|
21
JamesR 2020-12-05 10:19:30 +08:00
B 站各种公开视频课程,Github 一堆项目,看都看不完,足够学习了。
|
22
mahaonan1994 2020-12-05 10:44:25 +08:00
@JamesR 资源太多也是问题,很多想自学的人都能找到这些资源,但是不知道有限的时间到底看哪个效率更高
|
24
Fengyesuixiang 2020-12-05 10:53:17 +08:00 1
很多科班的应届毕业的水平也实际也没有太高都是在做中学到的,抑或是环境加持的;非科班的一定要自信不要习惯性否认自己欠缺很多
|
25
raaaaaar 2020-12-05 11:07:40 +08:00 via Android 2
0 -> 1 的时候最难,科班很多人也没学好,但是他知道是什么知识,大概是个什么东西,要学也能迅速找个方向去学,但是非科班的却连是个什么东西,有个什么东西都不懂,很劝退。
|
26
namelosw 2020-12-05 11:14:42 +08:00 3
想看 8.624 就直接看, 然后缺啥再看啥就行了. top down 比 bottom up 靠谱.
还有就是很多东西你要跟着做基本上很快就会放弃. 这些大部头最好从快到慢读两三遍, 这样即使中间放弃也不是那种每本书只精读了第一章. 有一个窍门是把自己想象成领导视察, 只关心每个模块做什么, 不关心细节怎么实现的, 这样就能快速读很多书, 都有一些概念, 然后哪个东西用得着的时候再细化就行了. |
28
carlclone 2020-12-05 11:20:18 +08:00 via Android
6824 没太多前置要求,我反正是直接做的,目前到 lab3b
|
30
neochen13 OP @mahaonan1994 #22 大佬好,主要是不知道在看哪个,也不知道在哪看
|
32
jojojo 2020-12-05 14:30:26 +08:00 via Android
其实科班也差不多,大学教的那些东西,太枯燥浅显了。当然和学校本身也有关系
|
33
zackwan95 2020-12-05 14:44:18 +08:00 1
这么跟你说吧,你最需要的一是耐心,二是找到自己能钻研下去的方向,三是彻底摒弃科班这个概念。
其实一二做到了三也就不是问题了,科班这两个字其实非常 sb,给人感觉是当工具人还要分优越感。 如果你热爱一件事情你不会介意你是从哪里获取的知识,simple as that 。 2020 年了即使不用谷歌用百度也能搜出足够让你成为一个好工程师的材料,只是大部分人既没有耐心又每天看知乎啥的东一榔头西一棒子找不到一个沉下去的方向而已。 |
34
neochen13 OP @zackwan95 唔,大佬说得对,其实我就是想知道缺什么补什么,看什么比较好
国内很多极客时间的课程,看来看去都浮于表面,有点吹牛逼的意思…… 或者说大量复制粘贴的技术文章……所以我才发这个贴,没想到有这么多前辈指点迷津,我打算先从《深入理解计算机系统》开始,一本一本看,顺便做一个简单的思维导图方便回顾复习 |
35
cmostuor 2020-12-05 14:57:30 +08:00
英语好的话看国外的 mooc 视频, 国内的话尽量看 985/211 的 mooc 其他学校或个人团体的质量还真不咋得好.
|
36
angryfish 2020-12-05 14:58:59 +08:00 via iPhone 5
科班也没学到啥个人认为。
计算机组成原理,操作系统,数据结构,都忘得七七八八了吧,而且实践性太差。 涨工资还不如学点装逼的东西像什么高并发,分布式,阿里出版的那些书。兴趣就另外说了。 说下兴趣吧,以前大学撸了个嵌入式操作系统,基本把汇编,计算机组成原理和操作系统给过了一遍。数据库本来想撸,可惜毕业了。 所以我觉得吧,可以从嵌入式玩起。自己搞下 uboot,搞下文件系统,内存管理,线程调度。学有余力的再搞下精简版的 tcp/ip,这不连计算机网络都给整明白了。 结论,操作系统可以把科班的大部分内容涵括。 |
37
Jooooooooo 2020-12-05 14:59:41 +08:00
把大学计算机系上的课都学一遍
|
38
52coder 2020-12-05 16:45:36 +08:00
csapp,一起努力吧少年
|
40
overthemoon 2020-12-05 17:20:54 +08:00
自顶向下学习,别一来就是二进制,学了也忘得快
|
41
taogen 2020-12-05 18:49:28 +08:00 via Android
|
42
noogler67 2020-12-05 18:52:19 +08:00 1
做完斯坦福-编译器 lab,清华大学-操作系统 lab,6824 lab 的路过。
找工作帮助不大。面试官很多自己也不懂,也觉得这个没用。还是盯着你以前项目或者面试官自己会的问。 |
44
abcd106 2020-12-05 19:11:37 +08:00
b 站的王道考研
|
45
chaleaoch 2020-12-05 19:27:34 +08:00 1
数电 --> 计算机组成原理 --> 操作系统 --> 8.624
汇编 数据结构和算法 --> leetcode APUE --> linux 内核 基础就这三条路 全走一遍 剩下的是 编译原理 --> 这个 找个博客看看概念就行.因为中国也没有正经的编译原理,老师能讲成啥样可想而知. 数据库原理 --> 这个工作中经常用到没比要补基础. |
48
axxahut233 2020-12-05 22:49:59 +08:00
什么时候 6.824 变 8.624 了。。。楼里好几个人都是
|
49
neochen13 OP @axxahut233 #48 抱歉我写错了,可是编辑不了
|
50
RedBeanIce 2020-12-06 00:09:26 +08:00 1
如果你是学生,,请按照清北或者什么学校的计算机来一遍就可以了
如果你是工作党,且是后端(不懂前端),请直接数据结构 + 数据库系统设计就可以了,再继续研究的话,我也不清楚。操作系统?高数?还是什么 |
51
kidlj 2020-12-06 00:50:01 +08:00 via iPhone
楼上好几位提到了,自顶向下学习。这不我这会儿还在看数据结构与算法的书,因为有了几年的编程经验,链表啊,树啊,堆栈什么的都有了不少实际使用的经验,学起来就很轻松了。不建议自下而上自学,很难坚持。
|
52
OHyn 2020-12-06 01:04:43 +08:00
@neochen13 不难,你做得很细,到头来一样望。不如掌握全局。能沉淀到教科书上的知识是比较稳固的,能掌握个框架就不会误入歧途。
|
53
chen006 2020-12-06 02:13:25 +08:00 via Android
南大袁春风的《计算机基础》不错,mooc 上哈工大的课程都挺好的
|
54
laminux29 2020-12-06 05:50:11 +08:00 1
鸡汤我就不灌了。
科班与非科班最大的差别,并不是科班多学了几门计算机课程,而在于科班的数学基础扎实,分析能力、归纳能力强,终身学习的意愿强。就算是毕业后,工作后,甚至双休日或年假,都能保持学习。 不过也别妄自菲薄,计算机课程在整个理工体系中,对数学要求并不高,甚至接近文科水准。一些实用性的课程,比如编程、数据库、操作系统,对数学的程度不多,这也是为什么青鸟之类的课外补习班能够赚钱的主要原因之一。从这个角度出发,非科班的教程选择,应该偏重于工程与实际应用类型。 另外提一点,金融方向对数学的要求更高,这就是为什么高端岗位中,金融行业收入远高于计算机。因为数学要求高,造成金融高端职位的入职门槛极高,接着导致人才市场供远小于求,最终造成金融高端岗位收入更高。不过我并不是建议大家都改行,在不缺钱的情况下,按照自己的兴趣爱好选择事业,比收入更重要。 |
57
RDF 2020-12-06 23:59:43 +08:00
MIT 6.824 分布式系统 可以观看 https://www.simviso.com 的译制课程。
simviso 有很强的 CS 专业功底和研发经验,想尽一些绵薄之力,通过组合各个顶级国外高校的课程,构建一整个计算机从本科到研究生的学习体系。也在尽最大的努力,做好每一点翻译,每一点知识分享。 ~在哔哩哔哩 https://www.bilibili.com/video/BV1x7411M7Sf 已经有前 20 集译制课程免费分享~ [MIT 6.824 Distributed Systems Spring 2020 分布式系统 中文翻译版合集] ~~ https://www.simviso.com 官网体验更佳~~ |
58
RDF 2020-12-07 00:01:21 +08:00
|
59
chihiro2014 2020-12-07 00:08:24 +08:00
6.824 其实还是蛮有用的,前 12 级讲理论,后 8 集讲落地。面试拿这些思想,基本能秒一片吧
|
60
levelworm 2020-12-07 00:52:47 +08:00
@neochen13 不一定。这两门课其实我觉得,对于普通人来说,都是有些编程经验再学比较好。SICP 理论上是提供给 MIT 的新生学习的,作为编程的介绍课程,然而 MIT 的新生是什么样子我想大家心里都有点数。。。而 CSAPP 里头需要大量写 C 的系统编程项目,所以至少得先过一遍 C,不用多熟,看过基础就行了。
|
61
levelworm 2020-12-07 00:55:39 +08:00
@zackwan95 虽然我之前回过了,但是越想越觉得你这个批评很到位,真是很感谢了。也许尝试回到学校也是另外一种逃避。我觉得我还是需要想办法沉下去,虽然仅仅是爱好,不靠它吃饭,但是也需要沉下去。
|
62
huhexian 2020-12-07 09:15:42 +08:00 via Android
同问,文科出身,现在专业是人力资源管理,对计算机感兴趣,能否学学计算机语言之类的
|
63
RedBeanIce 2020-12-07 10:08:56 +08:00
|