V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neochen13
V2EX  ›  程序员

非计算机科班出身想要提高自己,请问有适合的路线吗?

  •  
  •   neochen13 · 2020-12-05 08:17:29 +08:00 via Android · 8482 次点击
    这是一个创建于 665 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,最近想看 8.624 ,一位仁兄问我:你有学过这些需要提前理解的知识吗?如:操作系统 并发编程 数据库理论等

    我回答:没看过……

    因为不是计算机相关专业出身,很多时候都觉得自己和别人从底子上就差距很大

    想问下各位大佬们,有没有什么方法可以尽量弥补这些不足?是找相关书籍看就可以了吗,相关书籍很多,可以推荐一些吗?

    65 条回复    2020-12-07 11:30:39 +08:00
    holulu
        2
    holulu  
       2020-12-05 08:35:13 +08:00   ❤️ 1
    同是非科班的,大部分时候都是在写 CRUD,操作系统、并发编程、数据库理论这些基础空闲的时候一点一点地补,主要看国外的一些经典教材,就是国内翻译的那个黑封面系列的,在网上找原版的电子书看。
    IsaacYoung
        3
    IsaacYoung  
       2020-12-05 08:47:59 +08:00 via iPhone
    csapp
    levelworm
        4
    levelworm  
       2020-12-05 09:08:48 +08:00 via Android
    可以找国外好大学的 lab 。很希望有个列表。目前只知道 CMU 的 csapp 和伯克利的 SICP 。CMU 的数据库应该也很好但是需要很多前置课程。操作系统和编译原理
    IndexOutOfBounds
        5
    IndexOutOfBounds  
       2020-12-05 09:09:33 +08:00
    没基础,只看书很容易劝退
    levelworm
        6
    levelworm  
       2020-12-05 09:12:01 +08:00
    @IndexOutOfBounds 我觉得也是。其实大学上课往往也不是看整本书,而是比如说其中几章。
    Cielsky
        7
    Cielsky  
       2020-12-05 09:21:26 +08:00 via Android
    先找 mooc 视频过一下,有个大致框架
    neochen13
        8
    neochen13  
    OP
       2020-12-05 09:24:06 +08:00
    @ruixue !!!我仿佛看到了光!!!谢谢大佬
    neochen13
        9
    neochen13  
    OP
       2020-12-05 09:29:17 +08:00
    @levelworm 嗯嗯,是的,前置知识没看过,是先看这两会比较好对吗
    neochen13
        10
    neochen13  
    OP
       2020-12-05 09:31:13 +08:00
    @Cielsky 慕课网对吗
    V2KN
        11
    V2KN  
       2020-12-05 09:36:13 +08:00 via Android
    8.624 是什么鬼啊哈哈。你想说 6.824 嘛
    hello2060
        12
    hello2060  
       2020-12-05 09:37:51 +08:00 via iPhone
    最好顺便学习编译原理,电子线路,大规模电路设计,理论物理能看懂也可以看看。
    OneOrange417
        13
    OneOrange417  
       2020-12-05 09:51:10 +08:00
    @ruixue 谢谢
    neochen13
        14
    neochen13  
    OP
       2020-12-05 09:52:30 +08:00
    @V2KN 对的对的,地铁上写的帖子,写错了,对不起……
    neochen13
        15
    neochen13  
    OP
       2020-12-05 09:52:56 +08:00
    @hello2060 电子和电路都要看吗 0.0
    liuxu
        16
    liuxu  
       2020-12-05 10:03:41 +08:00   ❤️ 5
    @hello2060 #12 硅提纯呢?
    em2046
        17
    em2046  
       2020-12-05 10:07:35 +08:00
    https://www.xuetangx.com/page/jsjxy

    操作系统看 操作系统(RISC-V)(2020 秋) 用 rust 语言写操作系统真香呀
    wangyuescr
        18
    wangyuescr  
       2020-12-05 10:11:34 +08:00 via Android
    歪个楼说个付费的,我在关注但不知道效果。
    学堂在线付费的 cs 疾风计划,5000 多
    securityCoding
        19
    securityCoding  
       2020-12-05 10:15:30 +08:00
    timegeek 上面很多计算机基础体系的课程,啃了几门了,比如数据库,算法,网络等等
    echowuhao
        20
    echowuhao  
       2020-12-05 10:16:59 +08:00   ❤️ 2
    我给你说个偏门。玩单片机,这玩意真是底层 。有乐趣,也能学东西。
    JamesR
        21
    JamesR  
       2020-12-05 10:19:30 +08:00
    B 站各种公开视频课程,Github 一堆项目,看都看不完,足够学习了。
    mahaonan1994
        22
    mahaonan1994  
       2020-12-05 10:44:25 +08:00
    @JamesR 资源太多也是问题,很多想自学的人都能找到这些资源,但是不知道有限的时间到底看哪个效率更高
    zhuangjia
        23
    zhuangjia  
       2020-12-05 10:50:50 +08:00
    @ruixue 点开发现已 star,但是并没有看过……
    Fengyesuixiang
        24
    Fengyesuixiang  
       2020-12-05 10:53:17 +08:00   ❤️ 1
    很多科班的应届毕业的水平也实际也没有太高都是在做中学到的,抑或是环境加持的;非科班的一定要自信不要习惯性否认自己欠缺很多
    raaaaaar
        25
    raaaaaar  
       2020-12-05 11:07:40 +08:00 via Android   ❤️ 2
    0 -> 1 的时候最难,科班很多人也没学好,但是他知道是什么知识,大概是个什么东西,要学也能迅速找个方向去学,但是非科班的却连是个什么东西,有个什么东西都不懂,很劝退。
    namelosw
        26
    namelosw  
       2020-12-05 11:14:42 +08:00   ❤️ 3
    想看 8.624 就直接看, 然后缺啥再看啥就行了. top down 比 bottom up 靠谱.

    还有就是很多东西你要跟着做基本上很快就会放弃. 这些大部头最好从快到慢读两三遍, 这样即使中间放弃也不是那种每本书只精读了第一章.

    有一个窍门是把自己想象成领导视察, 只关心每个模块做什么, 不关心细节怎么实现的, 这样就能快速读很多书, 都有一些概念, 然后哪个东西用得着的时候再细化就行了.
    Cielsky
        27
    Cielsky  
       2020-12-05 11:18:18 +08:00 via Android
    @neochen13 中国大学 MOOC,还是有很多不错的课的,拿来入门挺好的,要不学堂在线也可以
    carlclone
        28
    carlclone  
       2020-12-05 11:20:18 +08:00 via Android
    6824 没太多前置要求,我反正是直接做的,目前到 lab3b
    OHyn
        29
    OHyn  
       2020-12-05 12:09:58 +08:00
    @namelosw 对,最后一条很管用,建立概念体系的时候可以稍微忽略细节。
    neochen13
        30
    neochen13  
    OP
       2020-12-05 12:32:19 +08:00 via Android
    @mahaonan1994 #22 大佬好,主要是不知道在看哪个,也不知道在哪看
    neochen13
        31
    neochen13  
    OP
       2020-12-05 12:33:27 +08:00 via Android
    @OHyn #29 这样感觉很容易遗忘
    jojojo
        32
    jojojo  
       2020-12-05 14:30:26 +08:00 via Android
    其实科班也差不多,大学教的那些东西,太枯燥浅显了。当然和学校本身也有关系
    zackwan95
        33
    zackwan95  
       2020-12-05 14:44:18 +08:00   ❤️ 1
    这么跟你说吧,你最需要的一是耐心,二是找到自己能钻研下去的方向,三是彻底摒弃科班这个概念。
    其实一二做到了三也就不是问题了,科班这两个字其实非常 sb,给人感觉是当工具人还要分优越感。
    如果你热爱一件事情你不会介意你是从哪里获取的知识,simple as that 。
    2020 年了即使不用谷歌用百度也能搜出足够让你成为一个好工程师的材料,只是大部分人既没有耐心又每天看知乎啥的东一榔头西一棒子找不到一个沉下去的方向而已。
    neochen13
        34
    neochen13  
    OP
       2020-12-05 14:48:17 +08:00
    @zackwan95 唔,大佬说得对,其实我就是想知道缺什么补什么,看什么比较好
    国内很多极客时间的课程,看来看去都浮于表面,有点吹牛逼的意思……
    或者说大量复制粘贴的技术文章……所以我才发这个贴,没想到有这么多前辈指点迷津,我打算先从《深入理解计算机系统》开始,一本一本看,顺便做一个简单的思维导图方便回顾复习
    cmostuor
        35
    cmostuor  
       2020-12-05 14:57:30 +08:00
    英语好的话看国外的 mooc 视频, 国内的话尽量看 985/211 的 mooc 其他学校或个人团体的质量还真不咋得好.
    angryfish
        36
    angryfish  
       2020-12-05 14:58:59 +08:00 via iPhone   ❤️ 5
    科班也没学到啥个人认为。
    计算机组成原理,操作系统,数据结构,都忘得七七八八了吧,而且实践性太差。
    涨工资还不如学点装逼的东西像什么高并发,分布式,阿里出版的那些书。兴趣就另外说了。
    说下兴趣吧,以前大学撸了个嵌入式操作系统,基本把汇编,计算机组成原理和操作系统给过了一遍。数据库本来想撸,可惜毕业了。
    所以我觉得吧,可以从嵌入式玩起。自己搞下 uboot,搞下文件系统,内存管理,线程调度。学有余力的再搞下精简版的 tcp/ip,这不连计算机网络都给整明白了。
    结论,操作系统可以把科班的大部分内容涵括。
    Jooooooooo
        37
    Jooooooooo  
       2020-12-05 14:59:41 +08:00
    把大学计算机系上的课都学一遍
    52coder
        38
    52coder  
       2020-12-05 16:45:36 +08:00
    csapp,一起努力吧少年
    cmostuor
        39
    cmostuor  
       2020-12-05 17:06:43 +08:00
    @angryfish 确实, 学完不用学再多也会忘记.
    overthemoon
        40
    overthemoon  
       2020-12-05 17:20:54 +08:00
    自顶向下学习,别一来就是二进制,学了也忘得快
    taogen
        41
    taogen  
       2020-12-05 18:49:28 +08:00 via Android
    noogler67
        42
    noogler67  
       2020-12-05 18:52:19 +08:00   ❤️ 1
    做完斯坦福-编译器 lab,清华大学-操作系统 lab,6824 lab 的路过。
    找工作帮助不大。面试官很多自己也不懂,也觉得这个没用。还是盯着你以前项目或者面试官自己会的问。
    Cielsky
        43
    Cielsky  
       2020-12-05 18:54:48 +08:00
    @liuxu 最好也看一下,重点区分一下国内的硅和国外的硅有什么异同点
    abcd106
        44
    abcd106  
       2020-12-05 19:11:37 +08:00
    b 站的王道考研
    chaleaoch
        45
    chaleaoch  
       2020-12-05 19:27:34 +08:00   ❤️ 1
    数电 --> 计算机组成原理 --> 操作系统 --> 8.624
    汇编

    数据结构和算法 --> leetcode

    APUE --> linux 内核

    基础就这三条路 全走一遍


    剩下的是
    编译原理 --> 这个 找个博客看看概念就行.因为中国也没有正经的编译原理,老师能讲成啥样可想而知.
    数据库原理 --> 这个工作中经常用到没比要补基础.
    CamelName
        46
    CamelName  
       2020-12-05 21:10:04 +08:00
    @liuxu 哈哈,那我得推荐一下《光刻机原理》了
    levelworm
        47
    levelworm  
       2020-12-05 22:30:15 +08:00 via Android
    @zackwan95 对,我就是的,所以现在重回大学让环境逼迫我一下。
    axxahut233
        48
    axxahut233  
       2020-12-05 22:49:59 +08:00
    什么时候 6.824 变 8.624 了。。。楼里好几个人都是
    neochen13
        49
    neochen13  
    OP
       2020-12-05 23:05:41 +08:00 via Android
    @axxahut233 #48 抱歉我写错了,可是编辑不了
    RedBeanIce
        50
    RedBeanIce  
       2020-12-06 00:09:26 +08:00   ❤️ 1
    如果你是学生,,请按照清北或者什么学校的计算机来一遍就可以了
    如果你是工作党,且是后端(不懂前端),请直接数据结构 + 数据库系统设计就可以了,再继续研究的话,我也不清楚。操作系统?高数?还是什么
    kidlj
        51
    kidlj  
       2020-12-06 00:50:01 +08:00 via iPhone
    楼上好几位提到了,自顶向下学习。这不我这会儿还在看数据结构与算法的书,因为有了几年的编程经验,链表啊,树啊,堆栈什么的都有了不少实际使用的经验,学起来就很轻松了。不建议自下而上自学,很难坚持。
    OHyn
        52
    OHyn  
       2020-12-06 01:04:43 +08:00
    @neochen13 不难,你做得很细,到头来一样望。不如掌握全局。能沉淀到教科书上的知识是比较稳固的,能掌握个框架就不会误入歧途。
    chen006
        53
    chen006  
       2020-12-06 02:13:25 +08:00 via Android
    南大袁春风的《计算机基础》不错,mooc 上哈工大的课程都挺好的
    laminux29
        54
    laminux29  
       2020-12-06 05:50:11 +08:00   ❤️ 1
    鸡汤我就不灌了。

    科班与非科班最大的差别,并不是科班多学了几门计算机课程,而在于科班的数学基础扎实,分析能力、归纳能力强,终身学习的意愿强。就算是毕业后,工作后,甚至双休日或年假,都能保持学习。

    不过也别妄自菲薄,计算机课程在整个理工体系中,对数学要求并不高,甚至接近文科水准。一些实用性的课程,比如编程、数据库、操作系统,对数学的程度不多,这也是为什么青鸟之类的课外补习班能够赚钱的主要原因之一。从这个角度出发,非科班的教程选择,应该偏重于工程与实际应用类型。

    另外提一点,金融方向对数学的要求更高,这就是为什么高端岗位中,金融行业收入远高于计算机。因为数学要求高,造成金融高端职位的入职门槛极高,接着导致人才市场供远小于求,最终造成金融高端岗位收入更高。不过我并不是建议大家都改行,在不缺钱的情况下,按照自己的兴趣爱好选择事业,比收入更重要。
    wander639
        55
    wander639  
       2020-12-06 09:39:15 +08:00
    @laminux29 金融没学历的话是真的劝退
    nicoley
        56
    nicoley  
       2020-12-06 10:49:32 +08:00
    @zackwan95 说的太好了!!!
    RDF
        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 官网体验更佳~~
    RDF
        58
    RDF  
       2020-12-07 00:01:21 +08:00
    chihiro2014
        59
    chihiro2014  
       2020-12-07 00:08:24 +08:00
    6.824 其实还是蛮有用的,前 12 级讲理论,后 8 集讲落地。面试拿这些思想,基本能秒一片吧
    levelworm
        60
    levelworm  
       2020-12-07 00:52:47 +08:00
    @neochen13 不一定。这两门课其实我觉得,对于普通人来说,都是有些编程经验再学比较好。SICP 理论上是提供给 MIT 的新生学习的,作为编程的介绍课程,然而 MIT 的新生是什么样子我想大家心里都有点数。。。而 CSAPP 里头需要大量写 C 的系统编程项目,所以至少得先过一遍 C,不用多熟,看过基础就行了。
    levelworm
        61
    levelworm  
       2020-12-07 00:55:39 +08:00
    @zackwan95 虽然我之前回过了,但是越想越觉得你这个批评很到位,真是很感谢了。也许尝试回到学校也是另外一种逃避。我觉得我还是需要想办法沉下去,虽然仅仅是爱好,不靠它吃饭,但是也需要沉下去。
    huhexian
        62
    huhexian  
       2020-12-07 09:15:42 +08:00 via Android
    同问,文科出身,现在专业是人力资源管理,对计算机感兴趣,能否学学计算机语言之类的
    RedBeanIce
        63
    RedBeanIce  
       2020-12-07 10:08:56 +08:00
    @huhexian #61

    毕业三年及三年以内都可以,,
    三年以后,请专心选择一条路走下去、、计算机有点难,
    zackwan95
        64
    zackwan95  
       2020-12-07 11:13:13 +08:00 via Android
    @laminux29 你完全不懂金融,你说的对数学有要求的金融岗位是 mfe 也就是 quant,这岗位在金融行业里连 1 %都没有。靠个人所谓数学能力是赢不过电脑自动化交易的。金融最赚钱的职位都是销售,干的事情跟房产销售和保险销售是一回事,房产销售在中国反而更符合传统金融的定义。至于为什么你会觉得他们数学强,只是他们需要这一点让你觉得他们比碧桂园房产销售逼格高而已。
    laminux29
        65
    laminux29  
       2020-12-07 11:30:39 +08:00
    @zackwan95 你是央财毕业的?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1204 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 18:08 · PVG 02:08 · LAX 11:08 · JFK 14:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.