• 请不要在回答技术问题时复制粘贴 AI 生成的内容
BearCookie
V2EX  ›  程序员

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

  •  
  •   BearCookie · Dec 5, 2020 via Android · 11410 views
    This topic created in 2164 days ago, the information mentioned may be changed or developed.

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

    我回答:没看过……

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

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

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

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

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

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

    数据结构和算法 --> leetcode

    APUE --> linux 内核

    基础就这三条路 全走一遍


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

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

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

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

    毕业三年及三年以内都可以,,
    三年以后,请专心选择一条路走下去、、计算机有点难,
    bQ3u9RAQt4125PUK
    bQ3u9RAQt4125PUK
    Dec 7, 2020 via Android
    64
    @laminux29 你完全不懂金融,你说的对数学有要求的金融岗位是 mfe 也就是 quant,这岗位在金融行业里连 1 %都没有。靠个人所谓数学能力是赢不过电脑自动化交易的。金融最赚钱的职位都是销售,干的事情跟房产销售和保险销售是一回事,房产销售在中国反而更符合传统金融的定义。至于为什么你会觉得他们数学强,只是他们需要这一点让你觉得他们比碧桂园房产销售逼格高而已。
    laminux29
    laminux29
    Dec 7, 2020
    65
    @zackwan95 你是央财毕业的?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1452 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 91ms · UTC 05:10 · PVG 13:10 · LAX 21:10 · JFK 00:10
    ♥ Do have faith in what you're doing.