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

科班程序员对于专业课知识掌握得怎么样?

  •  
  •   nowheremanx · 243 天前 via iPhone · 5015 次点击
    这是一个创建于 243 天前的主题,其中的信息可能已经有所发展或是发生改变。
    题主转行写代码好几年了,一直在碎片化学习编程知识,计算机知识。基本属于遇到问题,寻找答案。

    今天看到国内计算机考研的课目,发现自己苦苦学习的碎片化知识,其实就是计算机的专业课。

    《数据结构》 45 分

    《计算机组成原理》 45 分

    《操作系统》 35 分

    《计算机网络》 25 分


    也许自己曾经纠结了一两周的问题,科班程序员因为知识面的原因,一天就搞定了,而且会做得更好。想到这里,一身冷汗。
    60 条回复    2023-09-22 15:46:12 +08:00
    iOCZ
        1
    iOCZ  
       243 天前
    在开发中不断加深对计算机世界的了解
    cp19890714
        2
    cp19890714  
       243 天前
    对于学习来说,管中窥豹不可取,系统化学习才重要。
    wanei
        3
    wanei  
       243 天前   ❤️ 3
    还有编译原理,这个是大杀器
    CocoCoding
        4
    CocoCoding  
       243 天前
    真正掌握的科班生还是很少的
    liprais
        5
    liprais  
       243 天前   ❤️ 1
    "也许自己曾经纠结了一两周的问题,科班程序员因为知识面的原因,一天就搞定了,而且会做得更好。想到这里,一身冷汗。"
    你想多了,解决问题靠经验,靠知识面能解决的问题早固化进系统了
    f14g
        6
    f14g  
       243 天前 via Android
    感觉计网和数据结构用的较多一些,其次是 OS ,计组不搞嵌入式不做硬件的好像很少用到(都忘干净了)
    Pantheoon
        7
    Pantheoon  
       243 天前
    搞 java 不需要智慧
    wqhui
        8
    wqhui  
       243 天前
    操作系统挺有意思,很多现有的业务系统也借鉴了里面的解决方案
    AFOX
        9
    AFOX  
       243 天前
    大概需要一辈子消化这几门科目
    thinkershare
        10
    thinkershare  
       243 天前   ❤️ 1
    如果想要系统学习,将考研课程涉及的书籍全部买了啃一遍,需要耐性和时间。
    我虽然是科班(计科)专业,现在毕业也快 8 年,现在还是有空就拿出来啃,机械工业出版社那一整套书籍我都买了,其中计算机组成原理最值得入门看。
    另外就是大学四年根本无法深入掌握,很多专业课程都只能过一遍,毕业工作后,有空那是要回来重新一本一本过,尽量将基础知识累计扎实。
    另外就是工程化&专业领域知识,只能通过工程实践和看书结合,在辅以别人的代码,前辈的指导才能综合学习了。
    onice
        11
    onice  
       243 天前   ❤️ 1
    大部分高校的计算机科班,学计算机都跟文科似的。

    数据结构是试卷上手写代码,并不是上机考试。操作系统,计网和数据库这些课,也是试卷上考理论。

    大多数高校并不会像美国 MIT 一样,学操作系统就要写操作系统,写数据库都要写数据库,学计网就要写自己的协议。

    除了 top 高校,大多数科班生也只是掌握了理论和原理而已。

    工作这么多年,我甚至觉得自己是高校扩招制度下的炮灰。现阶段的计算机高等教育,一言难尽。

    我 13 年读大学,学校还在用 vc6.0 ,git 和 svn 也不知道是啥。课程大纲看上去从九几年计算机专业成立,十多年就没变动过。
    meta
        12
    meta  
       243 天前
    其实上学的时候根本不知道这些有什么用,就是混吧。工作过后比外行好一点的地方就是遇到问题知道有这么个东西能解决,但是怎么解决的早忘光了,再现去翻书。
    Nich0la5
        13
    Nich0la5  
       243 天前
    其实吧 大部分科班也就是能记住书上的概念,发现问题的时候能多往那边想一下
    7gugu
        14
    7gugu  
       243 天前
    @onice 放心,2018 年学的也是 vc6
    Genshin2020
        15
    Genshin2020  
       243 天前
    就饭吃掉了,但是排查问题的时候,上课有印象的定位快点,没有印象的就看运气了
    Pteromyini
        16
    Pteromyini  
       243 天前
    感觉其实这就是优势,很多东西哪怕知道个概念然后知道个大概的用途就能做到快速检索查阅解决,但是如果想不到这个东西可能搜都不知道怎么搜,查询解决的时间成本就上去了
    googlefans
        17
    googlefans  
       243 天前
    计算机靠死学不行的
    NoobNoob030
        18
    NoobNoob030  
       243 天前
    @onice 2019 年也是 vc6 ,绷不住了
    rpish
        19
    rpish  
       243 天前
    好奇 OP 遇到的是什么问题
    rpish
        20
    rpish  
       243 天前
    @wqhui 大大可以展开说说吗?
    我能想到的只有一个利用锁解决并发问题,很好奇还有怎样的应用。
    encro
        21
    encro  
       243 天前
    你需要一本 《数据密集型应用系统设计》。。。
    sankooc
        22
    sankooc  
       243 天前
    @onice 不能同意更多
    BuffDog
        23
    BuffDog  
       243 天前
    学了只是学个概念,知道有那么个东西
    实际都是需要遇到问题再深入

    不然学多少忘多少
    rokycool
        24
    rokycool  
       243 天前
    很多其实就是早 4 年开始学习而已;更多是有广度没深度
    然后<曾经纠结了一两周的问题,科班程序员因为知识面的原因,一天就搞定了>其实更多是你有没有想到,直接搜一下解决方法也可以了
    standchan
        25
    standchan  
       243 天前
    顶多就是上课有印象,排查问题的时候会最后想到还有这些可能的原因。其实就是思维方向更加多元化把,会意识到可能是这方面的原因。然后还是一样的各种谷歌,各种排查,没啥太大的区别
    langhuishan
        26
    langhuishan  
       243 天前
    @wanei 我到现在只记得有限永动机
    fiveStarLaoliang
        27
    fiveStarLaoliang  
       243 天前
    还是得自学,学校里学的东西绝大多数都是为了考试,如果不是那种目的性特别强的学习,绝大多数都记不住的,反而是工作以后捡起来再学一遍,突然就有了一种,朝闻道夕死可矣的感觉
    silencil
        28
    silencil  
       243 天前
    408 考了 80 多分,当时没学明白,工作了之后再看了很多课,也包括 MIT 这些国际名校的课,最起码遇到操作系统、网络问题的时候不至于太懵了,但你要问计算机组成原理那还是一窍不通
    z1645444
        29
    z1645444  
       243 天前
    @onice 当 2023 的学弟在老乡群问你要祖传的 vc6 绿色安装板下载包时...
    gps949
        30
    gps949  
       243 天前
    首先,你想多了。
    其次,得看你说的是啥专业和啥学校,毕竟你所谓的科班其实应该包括“计算机科学与技术”、“软件工程”,甚至范围扩大些电子、通信、自动化啥的也可能算。。。而学校又有面向就业和面向深造两种风格的。

    假设说的是 CS 专业,那么其实
    STEAM ( A 和 M 扣掉),CS 有的是 S 和 T ,注重理论和抽象知识。而实践中很多是 E ,注重经验和具象知识。

    但你要说差异还是有的,不在知识(有搜索引擎甚至 GPT 的时代,知识不值钱),而在于思维方式。
    科班(系统化学习)培养的是一种思维方式,通过实践积累的经验也是一种思维方式。
    broken123
        31
    broken123  
       243 天前
    @onice 卧槽 你们这个也太惨了 我 11 年读大专 ,已经是 jdk1.6 了。还好啦
    broken123
        32
    broken123  
       243 天前
    @NoobNoob030 这个确实过分了
    masellum
        33
    masellum  
       243 天前
    记得之前看到一个人说的感觉很有道理:对于有经验的非科班来说,你的水平和能力并不会不如科班;你和科班的唯一区别就在于你遇到不会的问题的时候会以为是自己非科班没学过,科班的会知道自己就是不会。所以心态打开,科班其实菜的人也很多。
    lincanbin
        34
    lincanbin  
       243 天前
    你想多了,就算是 985 、211 的科班,真正能把这几门课学到登堂入室的,按我个人生活经验估算也不会超过 30%。
    其他普遍一些的学校能学会的就更少了。
    adoal
        35
    adoal  
       243 天前
    大部分科班人也就是混个热门专业文凭。
    murmur
        36
    murmur  
       243 天前
    全忘了,数据结构 这些当年面试看过的也忘了 工作的时候都是用轮子 自己写的再好,别人的身经百战各种参数校验
    nowheremanx
        37
    nowheremanx  
    OP
       242 天前 via iPhone
    @Pteromyini 是的,我并不怕工程上的问题,所有可以解决的问题都可以解决,只是不一定做到最优。

    我怕的是不知道一些概念,在做设计的时候考虑不周,走了弯路,大力出奇迹,后面的人要一直背债。

    职业早期 CRUD 的时候没有太多这方面的考虑,都是 high level 编程,懂一点数据结构就行了。但做比较低层的项目的时候,知道这些概念很重要(不是背名词,主要是知道一个名词到底在干啥)。
    collery
        38
    collery  
       242 天前
    我试试网络工程专业出身,网络知识 一塌糊涂
    Pony69
        39
    Pony69  
       242 天前
    @onice 17 年,vc6
    chinaguaiu
        40
    chinaguaiu  
       242 天前
    大学老师教应用开发的水平称得上是一言难尽,我总觉得和老师们不是生活在一个时代。

    单说 web 应用吧:
    刚读书的时候就觉得这帮子老师生活在 2014 年( Java8 ),自学了一点东西以后觉得还是高估他们了,觉得他们生活在 2009 年(JavaEE)。临近毕业后知后觉,认为老师们的水平也就是 1997 年水准( http/1.1)。

    我现在工作了,觉得这个问题可以盖棺定论了:实际上他们生活在 1996 年( http/1.0)。
    还是吃了普通学校的亏。
    54qyc
        41
    54qyc  
       242 天前
    这东西和科班不科班关系不大,全靠自学。所以取决于你自己学的咋样。
    NoKey
        42
    NoKey  
       242 天前
    原来读书的时候,编程( c ,java ),数据库,网络,离散数学,电路等等,全学了,当时觉得好无聊,学这么多干啥,工作了,才逐渐感受这些基础学科的用处,反过来感谢学校开设了这些课程
    prosgtsr
        43
    prosgtsr  
       242 天前
    科班的优势一般在于对学科有个成体系的认知,看到什么东西知道大概要往什么方向去查。。真学的很好的人还是极少数。
    GeruzoniAnsasu
        44
    GeruzoniAnsasu  
       242 天前
    > 曾经纠结了一两周的问题,科班程序员因为知识面的原因,一天就搞定了

    想多了。

    但是, 你纠结一辈子也想不出任何入门方向的问题,科班的确实能受益于知识储备结构起码找到研究方向。

    之前有过这样一个帖子:
    https://www.v2ex.com/t/845892#r_11550945

    我描述了一点科班出身的工程师解决问题的小优势。

    最近几天我又见识了几个新问题,你可以尝试思考一下这个问题你有没有思路:





    我要开发一款能分析二进制程序漏洞的自动化扫描器,我需要先搜索哪些论文?
    ruimz
        45
    ruimz  
       242 天前 via iPhone
    本科科班是遇到的一个问题能想起来类似的东西原来学过,知道是哪门课学的,知道该去哪本书里去找,说不定还能记起来一些内容。

    对那些没有专门做过项目、课设的内容,所谓掌握也只是如此了
    laminux29
        46
    laminux29  
       242 天前
    对于计算机来说,最低层次是普通人。普通人只会计算机的基本操作,用于日常办公与娱乐,对计算机知识,是望尘莫及。

    稍微强一些的是计算机爱好者,他们会在计算机方向,投入一定的精力与财力,并参与各种讨论,也会自行学习一些零碎的知识。

    科班比爱好者强很多,原因是科班首先门槛很高,其次科班会接受到系统化的学习与培训,而且科班需要根据教材,掌握知识点的原理,并且通过考试。爱好者是知其然,科班则是知其所以然。

    科班之上,还有兴趣者。兴趣者是从小就对计算机很感兴趣,提前系统化地学习计算机知识,并且能以很好的成绩与论文水准通过科班阶段。这类不仅是天赋超然,家底也很丰厚,才能让其从小接触各种教材、教师、设备。

    兴趣者之上还有一个境界,是设计者。这类人是科技进步的推进者,是各种新技术的探路者,是旧时代的掘墓人。这类人不仅需要天赋、兴趣,还需要足够强大的家底来支撑他烧钱完成各种大型工程的实验实践。
    duke807
        47
    duke807  
       242 天前 via Android
    现在学计算机原理,好学校是要自己用 verilog 在 fpga 上自己实现 riscv cpu 的
    xuanbg
        48
    xuanbg  
       242 天前
    只是知识多并没有多少用,形成体系才能快速解决问题。
    beidounanxizi
        49
    beidounanxizi  
       242 天前
    科班程序员 那是名门正派 我可以不会 但我学起来也快 🐶
    v2erxh
        50
    v2erxh  
       242 天前
    普普通通的 curd 遇不到什么问题
    JiangkaaiShenng
        51
    JiangkaaiShenng  
       242 天前
    申论和行测才是亘古不变的真理,学通了够用一辈子
    nobody111
        52
    nobody111  
       242 天前
    科班只能说少走点弯路,愿不愿意学,学啥还是看自己。408 这几个你考研想考上不会都不行(当然 408 考个 120 以上也挺难的),其实这还是基础的,建议继续看看 912 的专业课,那是那几本黑书都要融会贯通。
    ZhuWenJian
        53
    ZhuWenJian  
       242 天前
    普通 curd 遇不到什么问题。
    但如果你想写一些优秀的代码出来,那么还是需要学习的。
    比如:
    构建 MRU 最近最常使用逻辑的数据库管理类,解决 XXX 问题;
    使用状态机制进行 UI 管理的界面设计逻辑;
    画流程图、时序图、用例图等多种图,进行系统的设计和说明;
    …………
    Kumo31
        54
    Kumo31  
       242 天前
    @onice #11 现在头部高校已经慢慢追上了,比如南京大学:
    omniversia
        55
    omniversia  
       242 天前
    我跟楼主差不多的经历,也是凭着兴趣转行计算机,目前工作了 n 年了,工作以后,平时一直有在学,理论方面也是招过来找过去,转头也是发现其实就是 408
    但是只要是稍微有点心,对技术和计算机理论感兴趣,408 很值得,或者说迟早得学习的。
    技术学过来学过去,万变不离其宗,理论方面,学好一次,认知上就通了,受益终生。
    如果是业务开发的实际手头工作,大部分理论确实用不到
    黑书系列还是很不错的,我最推荐的是《深入理解计算机系统》
    另外推荐《计算机网络》国内教材也写得不错。
    mawerss1
        56
    mawerss1  
       242 天前
    6.828
    6.824
    nju jyy 操作系统
    cs61b
    1055619878
        57
    1055619878  
       242 天前
    干了 10 多年了 还是没怎么看 crud 真的用不到 也没空学 估计就去大厂面试作用大点吧
    wjx0912
        58
    wjx0912  
       242 天前
    通用读这几本够了:
    深入理解计算机系统
    代码大全
    设计模式
    重构
    整洁之道( 3 本)
    程序员的自我修养
    程序员修炼之道

    编程语言的书尽量找老外的中文译本,可以省不少时间
    Pythoner666666
        59
    Pythoner666666  
       242 天前
    想多了兄弟,就我身边的案例来讲,那些 985CS 本科的同事强也是真的强,剩下的那些科班不科班的没啥区别
    wqhui
        60
    wqhui  
       242 天前   ❤️ 1
    @rpish 也不是什么大佬,只是工作的时候有时候会突然发现很多设计其实在以前读书时学的操作系统、计算机网络上前人已经做过了。你这么一问突然之间也想不起来什么,就随便说一下吧。比如 DNS 做域名解析,查本地缓存,没缓存就逐级向上查询,把流量逐级减少,防止全打到根服务器。对应到平时写并发较高的系统也是通过应用本地缓存、分布式缓存、数据库这套路去分担数据库压力
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3493 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:20 · PVG 18:20 · LAX 03:20 · JFK 06:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.