计算机的哪些学科是被建议在本科阶段学掉的_-多眼的智天使
给一个比较务实的回答。
任何活儿,无论是存储、网络、ai infra、编译器后端、cuda,等等,都非常简单。外表高大上,看着是宾利的壳,其实核心动力是几个老鼠在壳里面蹬三轮呢。只要你干一两年基本都懂了。
你能把活儿干出花来,能快速的超越自己的限制,最重要的是计算机各个领域的基本视野和概念。
你必须知道计算机科学几乎所有的领域基本的想法是什么。比如 tcp 怎么维护虚拟链接传递信息,如何做微观的拥塞控制;编译器怎么 parse 出来 ir,如何对 ir 优化;分布式算法如何协调工作;流式计算里面 unbounded data 怎么做 window/trigger;机器学习里面各种模型是如何拟合数据的,为什么需要不同的拟合方式;mysql 中事务怎么做,行锁怎么设计的;linux kernel 的进程调度怎么设计、异步 io 怎么设计……
有了这些视野之后,你要把它们从具体的领域中抽象成概念。
千万不要把自己的精力放在“tcp 包头几个字节都是什么”、“c++ 17 引入了什么”这种无聊的东西上。除非你决定把你的事业投入到上面。
概念就是计算机科学最精华的部分,你必须学会在不同的领域复用这些概念,这样你就是有 insight 的。
比如你去写一个最简单的业务,你一定会遇到事务、parse 配置规则、限流控制、调度,是否有一些策略可以采样训练模型自动优化……你能否把学到的概念,结合实际应用起来,这个才是工程师的意义所在。
什么时候能惊艳你的概念越来越少,到最后你看绝大部分东西的时候都能说出“就这”,你就是合格的工程师了。
评论区
cmbbq: 观察具体的ideas,并抽象成指导未来系统设计的heuristics。这是一种知识内化,对于高Ni的人来说是自然而然而且高效的,弊端则是有些领域理解的似是而非,就退化成educated guess了。帮你补充一些我对heuristic principles的观察。1. 近似计算:向量检索里的ANN(hnsw),ai infra的量化、矩阵稀疏化、低秩化、subsampling,kv store的bloomfilter都是“近似计算”的应用。2. dfa: 各种ascii protocol parser,toplingdb里的string index,路由表的address lookup都是“dfa”的应用,因此都可以用大量dfa转nfa转单个dfa的方式优化。3. 规约-泛化:rust trait属于archetype,go接口和c++模板属于ducktype,OO语言的继承属于subtype,归根到底都是在type上订规约/protocol,有了规约,才能泛化。thrift/pb等idl的设计。4. 软硬件协同设计:各类高性能存储引擎,256kb设备上实现训练,numa-aware的虚拟化,利用hardware locality的share-nothing架构。5. 统计物理学:复杂系统的tuning和optimization有时只能依赖大量实验数据统计和严肃的数学分析。一切都没有头绪时,只能依靠人类最终手段,实验+分析,groundtruthing+reasoning,将mysteries转化为problems,例如系统的极限优化,大量参数的trade-off,可解释性成谜的非凸优化,llm训练。6. 形式化论证:生命攸关系统,金融系统,需要形式化证明正确性,而不仅仅是用测试减少bug。可惜即使是波音的航电也没做到这一点。能糊弄过去,已经是大多数工程师的极限了。7. 分层和反分层:将复杂系统切分成不同抽象层次,这在cs领域无所不在。分层几乎可以解决一切复杂度问题,但也带来抽象和通信开销,所以zero-copy io,向vm暴露hypervisor状态等技术实际上是解决分层带来的问题,算是反分层。8. 信息论:如何训练一个生成式模型,让它在某种certainty上增加某种variance?信息论能解释diffusion低频信息多样性(latent space维度没有降)因而细节惊人,gan缺乏对uncertainty建模因而模式坍塌,vae作为可控滤波器(latent space降维)可以选择保留特定低频信息,比如图片边缘,细节不如diffusion。信息论显然太过泛泛而谈,所以这个领域more art than tech。 👍🏽432 💭上海 🕐2023-06-02 10:00:24
│ └── 洪荒之贝利: 问题前提是“本科阶段”。你列的这些很多单拎出来形成概念都不是短时间的事儿。 👍🏽83 💭陕西 🕐2023-06-02 23:12:55
│ └── Eidos: 能意识到分层与反分层已经是俺读大四的时候的事情了[大哭]还是得好好努力 👍🏽2 💭北京 🕐2023-06-05 17:29:01
│ │ └── 多眼的智天使: 可以平时多看看 system design 相关的东西。国内有一些大厂技术号,比如“美团技术团队”,会写真实设计过程,这个比较有帮助。 👍🏽11 💭北京 🕐2023-06-05 18:22:17
│ └── 落翼: 作者话太抽象了以至于说的不太像人话,我复述一下。作者观察到,从具体的理念中提炼出用于指导未来系统设计的启发式原理,这是一种知识内化的过程。对于善于抽象思考的人来说这个过程很自然并且高效,但是对某些领域的理解可能会不太准确,降级为“有依据的猜测”。作者补充了自己对启发式原理的几点看法:1. 近似计算:在许多场景下采用近似方法可以获得足够精度,如向量检索的ANN算法,AI基础设施的矩阵压缩和下采样,KV存储的布隆过滤器等。2. 有限状态机:许多ASCII协议解析器,字符串索引,地址查找都是有限状态机的应用,可以通过有限状态机到非确定有限状态机再到单个有限状态机的转换来优化。3. 约束-泛化:像Rust的trait,Go的interface,C++的模板等都是在类型上设置协议或约束,有了约束就能实现泛化,像Thrift和Protobuf的IDL设计也是如此。4. 软硬件协同设计:高性能存储引擎,在256KB设备上实现训练,考虑NUMA的虚拟化,利用硬件局部性的共享无关系架构等。5. 统计物理学:复杂系统的调优和优化有时只能依靠大量实验数据的统计分析和严格的数学分析。当一切都没有头绪时,只能依靠人类的终极手段:实验+分析,真实性验证+推理,将未知转化为问题,如系统的极限优化,大量参数的权衡,不可解释的非凸优化,语言模型训练等。6. 形式化证明:生命关键系统和金融系统需要形式化证明其正确性,而不仅仅是通过测试减少bug。但即使是波音的航空电子系统也并未做到这一点,能糊弄过去已经是大多数工程师的极限。7. 分层和反分层:将复杂系统切分为不同抽象层次,这在计算机科学各个领域无处不在。分层几乎可以解决所有复杂性问题,但也带来抽象和通信开销,所以零拷贝I/O,向虚拟机公开管理程序状态等技术实际上是解决分层带来的问题,可以看作是反分层。8. 信息论:如何训练生成模型让它在一定确定性下增加某种变化?信息论可以解释像Diffusion这样的模型信息丰富且细节惊人,GAN由于未建立对不确定性的建模而模式崩溃,VAE作为可控滤波器可以选择保留特定低频信息,如图片边缘,但细节不如Diffusion。信息论显然太过笼统,这个领域更像技艺而非技术。 👍🏽294 💭浙江 🕐2023-06-13 12:53:14
│ │ └── ZzzZ: 这是准备读十年本科是吧[捂脸] 👍🏽12 💭美国 🕐2023-06-24 11:46:19
│ │ │ └── 落翼: 十年?一辈子! 👍🏽8 💭浙江 🕐2023-06-27 19:05:01
│ │ └── 勃辽兹: 他掺杂一堆单词更容易阅读 👍🏽9 💭河南 🕐2023-07-05 14:09:23
│ │ └── 知乎用户9baObH: 他这单纯是有什么就恨不得全说出来,但最近也仅有这些,每一个方向都没做精,一点点“启发”甚至缺乏联系和综合,食之无味,弃之可惜,放ppt上没问题,实际做,一个都不能成为真正的指导原则,遇到问题该google还是google,该复制粘贴还是复制粘贴。除了英文达标,看不出来有任何价值。为什么这么说,这些我都浅尝辄止过,简单的结论需要不简单的过程,真正的天才还不至于来评论区浪费时间。 👍🏽12 💭北京 🕐2023-12-28 09:18:14
│ │ └── 光阴的故事: 其实一句话,计算机科学最重要的就是“抽象的能力”,没有之一。 👍🏽0 💭安徽 🕐2025-05-03 14:27:47
│ └── 魔女焰: 你们是真牛,我看都看不懂[大哭] 👍🏽3 💭福建 🕐2023-07-13 12:35:24
│ └── Cliches: 唯一一本启发我思维方式的书就是《模块化设计》。老师根本不会教这种问题处理的分析与模型建立,只能自己去翻翻书,问问大佬[衰] 👍🏽5 💭湖北 🕐2023-08-23 22:22:48
│ │ └── 琦先生: 大佬,求个更详细的信息,搜索出来的不对应。 👍🏽0 💭贵州 🕐2024-05-06 08:32:28
│ │ │ └── Cliches: 查看图片 👍🏽1 💭浙江 🕐2024-05-06 12:30:02
│ │ └── Dufresne: 那本书的作者是谁呀,豆瓣上没搜到[捂脸] 👍🏽0 💭北京 🕐2024-12-30 16:00:17
│ └── 祁纪辰: 足以把我埋没的知识关键字… 👍🏽0 💭北京 🕐2024-09-26 09:57:29
│ └── ShiinaKaze: 请问dfa和fsm有什么区别吗? 👍🏽0 💭湖北 🕐2025-05-15 18:21:19
君莫笑hhhhhhhhh: “概念就是计算机科学最精华的部分”,不谋而合 👍🏽286 💭重庆 🕐2023-06-01 21:52:55
│ └── 翟中巍: 所谓的概念,其实就是解决问题的思路。 👍🏽102 💭北京 🕐2023-06-02 13:48:15
│ │ └── 昔年不朽: 是名词,本科学计算机的时候名词满天飞 👍🏽0 💭北京 🕐2024-11-06 14:47:46
│ └── 今朝: [看看你][看看你][看看你]你真厉害[为难] 👍🏽0 💭北京 🕐2023-06-19 10:34:21
│ └── lorenzoyang: 所以不用读那些黑皮书了,直接去网上大佬的博客上看那些大佬们的总结?学个概念混个眼熟? 👍🏽5 💭意大利 🕐2023-07-24 04:00:24
│ │ └── XCreeperPa: 我想是应该读明白黑皮书,自己成为可以总结的大佬。 👍🏽3 💭法国 🕐2023-09-24 23:19:48
│ │ └── 刘看: 然而网上大佬讲概念没黑书讲的好 👍🏽2 💭广东 🕐2023-12-18 17:27:50
│ │ └── AVX512: 黑皮书恰恰是把概念讲解得最清晰的那个,别看那么厚一本,实际上读下来非常清晰流畅,和那些过度注重细节忽略整体的书高下立判 👍🏽46 💭广东 🕐2024-04-22 17:24:43
│ │ │ └── 臭卖鱼的: 黑皮书一大堆,具体哪本?计组? 👍🏽0 💭四川 🕐2024-05-31 20:08:03
│ │ │ │ └── 龙骑士: Csapp吧 👍🏽0 💭广东 🕐2024-09-12 23:53:22
│ │ │ └── 等灯等灯: 黑皮书纯垃。 👍🏽0 💭天津 🕐2025-06-15 17:46:36
│ │ │ └── AVX512: 需要一点知识储备,其实更偏向于参考书 👍🏽0 💭广东 🕐2025-06-15 22:47:00
│ │ │ └── 等灯等灯: 参考啥,当教材太厚,参考又不好找。你见谁打acm带算法导论的?就一毛用没有的过时字典,当古籍年份又不够 👍🏽0 💭天津 🕐2025-06-16 11:51:17
│ │ └── 生如逆旅: 概念是自己理解出来的,别人总结的其实还停留在外在的阶段 👍🏽3 💭浙江 🕐2024-05-11 10:47:52
│ └── Cliches: 不如说是一类问题的抽象,及其理论解决方案[思考] 👍🏽0 💭湖北 🕐2023-08-23 22:25:01
马季MAGI: TCP包头几个字节分别表示什么,真的太真实了,一些学校的计网就是这样 👍🏽174 💭江苏 🕐2023-06-02 08:32:37
│ └── 阿喀琉斯: 有次面试,坐车一小时过去,对方问我tcp请求,前几个参数是什么,我说我不知道,对方让我等通知,我只想骂人。 👍🏽90 💭上海 🕐2023-06-02 12:19:31
│ │ └── ryanh: 笑:-D,这种面试 👍🏽0 💭山东 🕐2023-07-23 07:28:52
│ │ └── 魂魄妖梦: 你应该随身带个平板,他问完你就说:等一下,我要连锁你的问题打开文档。然后打开对应的文档,把答案大声读出来[惊喜] 👍🏽16 💭江西 🕐2023-09-14 15:53:46
│ │ └── 潇枫: 要是我会觉得没和这种人共事是种幸运 👍🏽0 💭陕西 🕐2024-12-27 23:23:24
│ └── Tracer: 哎,我就喜欢研究这个,[doge] 👍🏽0 💭陕西 🕐2023-09-05 15:57:54
│ └── 黄四郎家花满蹊: wxg面委真问过这个[大笑] 👍🏽1 💭河北 🕐2024-02-19 22:52:32
│ └── 定洋: 这种问题的意义在哪 👍🏽0 💭北京 🕐2024-11-21 18:59:57
知乎用户GTk52a: 这就属于吃了六个馒头认为只有第六个馒头管饱的例子 👍🏽113 💭上海 🕐2023-06-12 22:00:52
│ └── 刨根问底: 他说这个适合学完了计算机然后总结经验, 不适合初学者 👍🏽33 💭上海 🕐2024-08-16 13:54:42
│ └── hawav: 他的建议适合所有人。我就见过太多会点语法写点应用就自觉不错止步不前的,一探基础一概不知 👍🏽8 💭广东 🕐2024-11-12 07:41:03
什么都不知道: 计算机就是认人为搭建的,所以各部分都是内涵精妙的逻辑,因此概念相当重要,可以这样理解么[害羞] 👍🏽79 💭山东 🕐2023-06-01 22:37:38
│ └── 怪火: 我老师,就这样说过,这是人的想法的集成体 👍🏽5 💭上海 🕐2024-05-21 21:52:05
│ └── 风清月明: 计算机是人造物 👍🏽1 💭福建 🕐2024-07-29 20:39:58
│ └── 智能宣言: 根本不是,虽然是人造的,但也不是人随心所欲的,本质还是人妥协自然规律的结果。 👍🏽0 💭江西 🕐2025-04-06 22:05:03
穆旋风: 我觉得实践与理论缺一不可,工程师有一个很重要的能力就是解决各种corner case,只会谈宏观设计就成务虚的人了。 👍🏽51 💭江苏 🕐2023-06-02 11:56:24
│ └── 陈纯洁: 本科阶段有大把时间,就应该务虚呀,务实就变成廉价劳动力了,一天100补贴那种。 👍🏽35 💭北京 🕐2023-06-05 09:08:44
│ │ └── 卡卡不放电: 要搞清楚知识的学习都是理论结合实际,然后从实际出发,印证理论,理论进步再指导实际。这样反复递进的过程的。光理论的东西,讲起来门门是道,但一上手就错。这是很常见的事情。不要怼我,怼,就你对 👍🏽14 💭海南 🕐2023-06-23 22:14:00
│ └── Nocole: corner case是工程中遇到然后case by case解决的… 👍🏽1 💭北京 🕐2023-06-15 16:42:35
moonwind: 大佬有点高端了,95%以上的人达不到。网络这块,从理解tcp到写服务器,完整做的覆盖基本5年跑不掉。 大佬说的1 2年,基本是1%不到的人。专业做学术的。不从事生产的。 👍🏽50 💭湖北 🕐2023-06-02 12:03:33
│ └── linkp: 用udp模拟一个tcp,然后再写一个简单http1.0 的server,也不用一两年吧 👍🏽4 💭广东 🕐2023-06-02 12:12:41
│ └── 山栀: 不是吧。。这写个tcp 1.0,再上升到http1.0,再写个server,也是就本科生三门课的功夫,按普通本科生一年修6门专业课的强度来看,也就是半年的时间就搞定了 👍🏽2 💭广东 🕐2023-06-04 23:03:56
│ │ └── moonwind: [捂脸],整个服务器知识体系,我把逻辑理解完,再把源码看完,。花了6年。好些地方看的比较潦草,上面的知友说1 2年把所有逻辑理解完成,并写一个tcp协议,我是真不相信。 👍🏽5 💭湖北 🕐2023-06-05 08:25:40
│ │ │ └── 山栀: 理解和看源码不是对等的[飙泪笑]抽象思维理解之后,看源码是具体事务性项目的时候才会去做,而且看源码不需要这么多年啊,我这些年给kernel找过漏洞打过patch,改过spark,改过kvm,写过graal+jvm,魔改过pytorch mindspore,上到分布式和应用,下到cuda kernel[飙泪笑]感觉要是用六年才能contextswitch,那我现在五十岁了 👍🏽4 💭广东 🕐2023-06-05 18:31:52
│ │ │ └── 山栀: [飙泪笑]tcp真的就是一个本科网络课大作业的水平 👍🏽2 💭广东 🕐2023-06-05 18:37:06
│ │ │ │ └── moonwind: 那写个发送端高效率的拥塞控制算法?[捂脸] 👍🏽0 💭湖北 🕐2023-06-05 20:52:37
│ │ │ │ └── 山栀: congestion control这东西有啥难的[飙泪笑]真的很不理解 👍🏽2 💭广东 🕐2023-06-05 21:30:48
│ │ │ │ └── moonwind: 大佬大佬,[赞][赞][赞]感觉像您这个级别的应该算是顶尖的计算机专家了。重构个os应该也不是什么难事儿。 👍🏽4 💭湖北 🕐2023-06-06 01:05:31
│ │ │ └── yyyyyes: 6年的时间你是每天学24小时还是学一小时,又或是不学,去和人家1-2年每天高效率的学习比吗,不要认为自己长时间做不成的事情,别人短时间内就一定做不成。2年的时间写tcp协议很难吗,国外一门本科课程好像就要手写tcp大部分吧。 👍🏽5 💭北京 🕐2023-06-24 14:20:38
│ │ │ │ └── moonwind: 。。。小兄弟英雄出少年,来试试呗。2年复刻tcp,不要别的你,就把你写的tcp协议栈,把linux的内核换了,能进行日常的运行就行。 👍🏽9 💭湖北 🕐2023-06-24 21:02:10
│ │ │ └── linkp: 本科生嘛,要求不需要这么高,理解协议的主干思想就好。我个人体会,实现一个简单的协议不需要这么大精力消耗,整个协议的proposal太多了,光看完就很费劲。但比如用UDP实现一个tcp握手和拥塞控制应该不难吧(不考虑corner case的处理,挂了就挂了),实现一个简单的http server,只要根据请求头显示相应的网页应该也不难。真的有兴趣,就继续叠加协议的功能,没兴趣,到这里,我觉得课程的目的也达到了。但是完整实现所有协议的标准,的确是一件很有工作量的事情,我是没搞定这个。 👍🏽2 💭广东 🕐2023-09-18 11:00:37
│ │ │ └── moonwind: 倒也不是死杠,我看之前人家回答的,从硬件开始做协议栈到web实现,好像是清华的网络课,我倒是相信他们能搞定。 👍🏽0 💭湖北 🕐2023-09-18 19:16:31
│ │ │ └── linkp: top的学校是有的,有同学硬件到操作系统到C编译器一套搞上来,然后在这里面编译了一个开源项目。 👍🏽1 💭广东 🕐2023-09-19 09:26:56
│ │ └── 晓月清风: 大作业和工业能跑是完全不同的东西 👍🏽1 💭上海 🕐2024-05-16 09:36:23
│ │ │ └── HElyuM: 工业能跑的东西要考虑太多细枝末节的东西,这些东西往往不能作为可迁移的经验和知识,埋头进去只是浪费生命,如果你不做这方面开发,搓个demo能理解基本概念就行了 👍🏽6 💭浙江 🕐2024-05-19 13:17:02
│ │ │ │ └── 晓月清风: 反之如果做这方面开发,这些“细枝末节”的东西才是领域内真正的门槛和经验。 👍🏽2 💭上海 🕐2024-07-02 09:01:54
│ │ │ │ └── HElyuM: 理解 PostgreSQL 里面各种屎山的陈年逻辑并不能帮助你写出 TiDB. 这些玩意是比八股文还要无聊的东西, 很多就是单纯为了解 issue 不停迭代出的特殊逻辑. 这些怎么能算门槛, 连当面试题的资格都没有. 👍🏽1 💭浙江 🕐2024-07-07 04:26:05
│ │ │ │ └── 晓月清风: 你问问tidb的人回到当年希不希望有个理解pg各种屎山的人。无知无畏。 👍🏽2 💭上海 🕐2024-07-07 09:30:55
│ │ │ └── lyp: 他们这种写作业跟现实世界是不同的,他们有答案这种东西的。 👍🏽0 💭广东 🕐2024-07-01 23:00:38
│ │ │ └── 晓月清风: 你想表达啥?不是重复了一遍我的观点吗 👍🏽0 💭上海 🕐2024-07-02 09:00:39
│ │ │ └── lyp: 不一样,你说的是他们能跑起来就行,我说的是有答案可仿着写。 👍🏽0 💭广东 🕐2024-07-02 09:38:34
│ │ │ └── 晓月清风: 抄答案是另一个维度的问题 👍🏽0 💭上海 🕐2024-07-02 09:46:40
│ │ └── 梦神幻影: 是未明子的粉丝吗 👍🏽0 💭匈牙利 🕐2024-09-26 00:49:11
│ └── 杜威: 有点过于简化理解过程了,实际不是几个老鼠蹬三轮,是几千个老鼠在按一定规则有序干活。每一个方向深化都可以挖掘很多内容,一般人短时间内掌握不了这么多,硬塞给你就跟大学教学一样,看的懂实际上也没理解,更别谈应用了 👍🏽7 💭江苏 🕐2023-06-06 11:08:29
│ │ └── moonwind: 上面有位大佬 @山栀 特厉害,计算机行业top专家,轻松的设计一个厉害的拥塞控制算法。好身佩服,您可以和大佬多学习一下。 👍🏽4 💭湖北 🕐2023-06-06 12:37:24
│ │ └── 行走: 感觉上能参考论文看懂就很不错的,能把代码当小说自己看明白就相当厉害,能自己写个高效的适应性好的?应该顶刊发出来了算法进内核了吧。 👍🏽1 💭湖南 🕐2023-06-12 21:57:46
│ │ └── moonwind: [捂脸]我是讽刺他的,就那种光动嘴巴的,写个拥塞控制算法像买小菜一样。怎么不上天。一般实操厉害的都是都是回复比较严谨的。也很谦虚。 👍🏽44 💭湖北 🕐2023-06-12 23:13:27
│ │ └── 你说的都对: 这些估计都是没做过工业界项目的,天天喝着科研圈的宫廷玉液酒 👍🏽16 💭安徽 🕐2023-06-24 13:20:59
│ └── Kagero: 这作者写的我眼睛都看花了 👍🏽1 💭浙江 🕐2023-06-26 23:08:12
│ └── Dylan: 这个我理解你,学术界和工业界本来就有巨大的鸿沟。就拿自己的例子说,导师觉得这个idea很容易实现,但是实际很难复现,从导师的角度忽略的很多细节,导致只是认为逻辑行得通就行。还有自己在写代码时,光阅读源码,嘎嘎两下就读懂了,但是让我具体实现,真不简单。 👍🏽2 💭四川 🕐2023-10-26 15:15:15
│ │ └── moonwind: 读代码,如果能深刻的理解,并且举一反三,写代码就容易了,不能举一反三,写代码寸步难行。 👍🏽0 💭湖北 🕐2023-10-26 22:55:51
│ └── never pass: 那么大佬们有什么推荐学习路线吗,诚心发问 👍🏽0 💭浙江 🕐2024-12-08 02:31:58
│ └── moonwind: 学好基础知识比啥都强。 👍🏽1 💭湖北 🕐2024-12-09 23:40:43
Zivolve: 简单来说,还是要在把几门专业课学扎实的基础上,略加进阶的概念学习,并且多在实践中练习,以至熟练掌握、灵活迁移就可以了 👍🏽47 💭广东 🕐2023-06-01 19:15:11
Youky: 我觉得你说的很对,但是这样毕业的时候是找不到工作的,这才是现实[捂脸] 👍🏽32 💭湖北 🕐2023-06-06 18:45:07
│ └── 多眼的智天使: 其实我也不知道现在校招找工作是啥要求,我们当年是问问基础就给过了。。 👍🏽7 💭北京 🕐2023-06-06 19:18:10
│ │ └── Youky: 没人愿意背tcp包头字节,xx新特性这种八股文,但现在这市场就是卷成畸形,你不背别人背,上来几道八股文题目回答不上来直接就寄,那不背能咋办呢。但是人的精力又是有限的,背多了八股文也就没那么多时间研究原理了,哎,不知道怎么破局 👍🏽31 💭湖北 🕐2023-06-06 23:20:57
│ │ └── 黄四郎家花满蹊: wxg面试把每个字节过了一遍的,过完tcp还想过ip,特别离谱 👍🏽0 💭河北 🕐2024-02-19 23:10:27
│ └── 利群就是利群: 不至于,大家都背八股写烂大街高并发项目的时候你对这些底层,宏观的东西有独到的理解是很显眼的 👍🏽0 💭陕西 🕐2025-04-06 12:36:26
│ └── Youky: 你面试试试就知道了,除非真的是做出很牛逼的东西,不然八股文就是必备的 👍🏽0 💭北京 🕐2025-04-06 22:23:31
│ └── 利群就是利群: 没说八股不是必备的啊,也没说我没面试过啊[思考] 👍🏽0 💭陕西 🕐2025-04-06 22:41:04
deep-pro: “就这”,你就是合格的工程师了----能到这种程度还只是工程师[思考] 👍🏽13 💭陕西 🕐2023-06-02 09:27:00
│ └── 知乎用户0rUU4I: 在外国,工程师是很受人尊重的,能力也很强,国内是因为垃圾码农太多了,而且也不重视技术人才,工程师地位低下 👍🏽42 💭湖北 🕐2023-06-02 09:47:11
│ └── 知乎用户4TzZoE: 不要去看膨胀的title,工程师本身就是对一个大类工作的高度概括了。 👍🏽23 💭浙江 🕐2023-06-02 10:26:33
王一: 我的建议是学好数学和逻辑 👍🏽12 💭江苏 🕐2023-06-02 08:35:26
│ └── 猫老赵: 等于没说 哪个工程学科不依赖数学? 👍🏽3 💭美国 🕐2023-06-13 03:59:46
│ │ └── Hunter19019: 可是仍然有很多人没学好[飙泪笑] 👍🏽1 💭安徽 🕐2023-06-23 13:49:09
│ └── bobkly: Logic? 👍🏽1 💭澳大利亚 🕐2023-07-04 23:35:27
山栀: somehow这种思维一般都是做系统的居多,因为做系统的人的一生就是伴随着技术进步不断切换上层APP和算法,给他们做下层infra的。跟算法的可能还不太一样,不过最近我side project研究算法(也很有用,毕竟现在system challenges大部分都是面向支撑算法),发现算法其实也算是在某个大方向上一通百通的 👍🏽9 💭广东 🕐2023-06-04 23:08:55
无双帝释天: 你说的这个应该叫abstraction吧 👍🏽11 💭广西 🕐2023-06-02 00:52:58
zhihu enhjb2Rlcg: 不敢苟同。 👍🏽11 💭浙江 🕐2023-06-02 09:36:42
│ └── Toki: 但又什么都说不出来 👍🏽1 💭陕西 🕐2024-08-02 01:24:05
shitake: 一堆人还指责国内大学cs不教他们 git和vue呢[捂脸] 👍🏽9 💭甘肃 🕐2023-06-04 09:57:46
│ └── 江南烟雨客: 有问题吗?他们不教就算了,还上课占据我们的时间。 👍🏽6 💭广东 🕐2023-06-07 02:06:22
│ └── 我变成了一条鱼: 因为现在教的东西还不如git vue 呢 👍🏽31 💭广东 🕐2023-06-09 18:20:31
│ └── 今朝: 现在教的是什么呢[看看你][看看你] 👍🏽1 💭北京 🕐2023-06-19 10:37:06
│ └── 不想说的猪: 国内大学如果能把数据结构 算法 计算机网络三门课讲清楚也不至于给市场上那么多机构机会。可惜大部分的国内大学课程无论是科目安排还是应用程度都是垃圾。 👍🏽10 💭江苏 🕐2023-06-23 20:54:59
│ └── 快乐的老鼠宝宝: 能教会搬砖也是功劳一件 👍🏽0 💭山东 🕐2024-06-19 03:02:57
周周周: 说的很好,我也理解这些概念。我就问答主,这是你本科阶段理解出来的概念吗? 👍🏽9 💭湖北 🕐2023-06-04 02:40:23
│ └── 多眼的智天使: 当然不是,只是说一个方向,学习一辈子的事。我离本科阶段太远了,记不清本科的时候我学到了什么了…… 👍🏽0 💭北京 🕐2023-06-04 02:55:15
│ └── 周周周: 所以说 ,这些东西,是本科阶段 学不出来的,能给的建议,就是学好基础课,然后做项目,刷题,往更高的平台深造。或者早点创业 👍🏽10 💭湖北 🕐2023-06-04 03:01:42
│ └── 场面先生: 大佬你好,我现在大二cs专业,也是比较迷茫,请问能不能给一些实用的建议,感激不尽[大哭] 👍🏽0 💭湖南 🕐2023-06-06 16:40:03
│ └── 周周周: 做项目,提升学历,早点创业。三者都可以 👍🏽0 💭湖北 🕐2023-06-07 01:25:02
│ └── ForDm: 如果我打算提升学历 在快大三的时候比起学java应用 学好408是优先的是吗? 前者在学校应试层面是不是基本不看 👍🏽0 💭浙江 🕐2023-07-25 18:24:41
│ └── 3s9c9p9: 从2024年的形式来看,秋招能走就走,有别的路子的话就别考研耽误几年时间让形式更加恶化了 👍🏽0 💭北京 🕐2024-10-14 00:15:31
│ └── ForDm: 在狠狠备考了[大哭][大哭] 👍🏽0 💭浙江 🕐2024-10-15 06:11:07
入关: 任何专业都是这样的,基本事务三个月入手一两年熟练[doge] 但是创新和上限就是看总体的了解,至少你可以知道从何开始,快速学习。 👍🏽9 💭湖南 🕐2023-06-02 07:46:36
│ └── Rob: 数学应该不是[飙泪笑] 👍🏽2 💭河北 🕐2023-06-23 22:20:21
momo: 那对于自己目前不太熟悉的领域怎么才能判断出一个东西是比较通用的概念还是不太重要的细枝末节呢[发呆] 👍🏽8 💭湖北 🕐2023-06-01 17:06:46
│ └── 多眼的智天使: 你可以想象一下,你要把一个领域的技术介绍给其他人(比如大一新生),写 10 页 ppt。什么是必须要出现在 ppt 上的,什么是不会出现的。 👍🏽22 💭北京 🕐2023-06-01 17:46:10
│ │ └── momo: 学到了[爱] 👍🏽0 💭湖北 🕐2023-06-01 18:01:24
│ └── 多眼的智天使: 学习新领域的时候肯定不会提前知道这件事。在你学习的过程中会慢慢知道,学完了,总结的时候,应该就很清晰了。 👍🏽6 💭北京 🕐2023-06-01 17:47:00
│ └── momo: 这个我觉得就是exploration-exploitation dilemma,如果没有指导或自己的大量经验,是有本质的困难的 👍🏽0 💭浙江 🕐2023-06-23 21:09:40
│ └── ClosedAI: 你俩这头像和id我属实是分辨了好一会儿 👍🏽0 💭上海 🕐2023-07-22 01:00:56
│ └── ForDm: 这个momo是什么意思 为什么这么多人用 👍🏽0 💭浙江 🕐2023-07-25 18:22:36
│ └── Catalina: 这tm是小红书的 👍🏽0 💭湖北 🕐2023-08-03 22:28:11
│ └── ForDm: 小红书里的匿名吗 👍🏽0 💭浙江 🕐2023-08-07 10:01:18
│ └── Catalina: 差不多吧,默认分配的[捂脸] 👍🏽0 💭湖北 🕐2023-08-07 10:36:52
canonical: 非常赞同。比如Docker, React, Kustomize等不同技术领域的具体技术实践背后存在着统一的基于可逆差量概念的软件构造理论。很多程序员感觉独立存在的Delta差量这一概念很难理解,本质原因就是没有真正理解这些具体实践背后的抽象概念。canonical:可逆计算:下一代软件构造理论,canonical:写给程序员的可逆计算理论辨析 👍🏽6 💭北京 🕐2023-06-02 16:55:32
喵呜: 有了抽象,也要有对应的细节点,这样才能记得牢 👍🏽3 💭上海 🕐2023-06-02 09:25:26
noName: 你说的这些…都是硬骨头 👍🏽3 💭美国 🕐2023-06-11 01:40:46
求索者: 概念,或者抽象确实是很重要的东西。某种程度上来说,本科阶段过于注重细节没太大必要。 但是,我从这个回答中感觉到了一种对于实践的傲慢。什么都是一两年能搞定的东西。如果不是真的脑子比top10%还快很多的话,不要相信这个结论。实践出真知。没有完整的摸过一个编译器,对于抽象的理解其实还是停留在比较浅的层次的。纯理论概念的理解也会过于空中楼阁而显得枯燥乏味。除了博士阶段,某些方向需要纯理论的研究,其实多数人的本科和硕士阶段更应该的是实践和理论相互结合。这样才会走的更稳当一些。 👍🏽4 💭上海 🕐2024-03-15 08:29:29
李博杰: 讲得很好呀,感觉搞系统的人最关键的就是这些,你举的这些例子都是我在华为常用的面试题,很容易区分只背了一些面经的和真正的大佬 [飙泪笑] 👍🏽2 💭北京 🕐2024-09-03 16:11:33
建议大二暑假实习: 大佬太强了 请问可以帮忙在java里加入模板字符串吗 👍🏽3 💭浙江 🕐2023-06-02 08:27:47
│ └── 抽象千里冰封: 已经有 jep 了啊 👍🏽6 💭美国 🕐2023-06-02 09:44:38
飞不到的世界: 这个回答挺好,很同意在不同的领域复用精华的概念,其实从我接触这么多网关来看,传统网关nginx,openresty,kong,云原生envoy,ingtess-nginx这些,本质没什么大区别,只不过有不同的实现适合不同的场景。现在我只是有点感觉,水平还没到那一步可以真正理解这些东西的地步,但是在我的预想,深入理解操作系统,网络,架构设计(普通微服务架构,kubernetes)这些后,不同网关的区别只有语言了 👍🏽3 💭浙江 🕐2024-09-23 11:54:00
cc军团U耀眼的毛玉: 编译器ir优化的坑比马里亚纳海沟还深,你这明显是优化得浅 👍🏽3 💭上海 🕐2023-08-11 14:29:14
lorenzoyang: 所以不用读那些黑皮书了,直接去网上大佬的博客上看那些大佬们的总结?学个概念混个眼熟? 👍🏽2 💭意大利 🕐2023-07-24 04:00:37
Rich: 数论图论算法导论概念最多了,确实是基础的基础 👍🏽1 💭德国 🕐2023-06-03 00:53:31
意需希: 一本 CSAPP 差不多了, 这本书真的是把 CS 的基本思想给讲通了. 我刷了四遍, 每遍都有新感受 👍🏽2 💭北京 🕐2024-05-17 21:28:46
victory hjh: ?system简单不会有人看了点入门课就敢说system简单吧 Linux ext3 ext4多少年了hot os 发了多少paper 揭露了多少bug了几百个了得 sel4 verify到现在你说简单? histar听过吗 作者在mit 之前在Berkeley给job talk 在tainted value的基础上造一个Linux 不会有人consensus 只知道raft和paxos就觉得system简单吧 👍🏽2 💭美国 🕐2023-11-18 04:27:08
│ └── 多眼的智天使: 当然,任何领域都可以说出来这些问题,要不然 cs 这么多人都在干嘛?别说 os 这么复杂的了,单是个磁盘就够人研究一辈子了。简单其实有两个意思。一个意思是容易,不用学,谁直观上都能得到答案。另一个意思是只要给够时间精力,谁都可以做出来。我这里说的简单是第二种。觉得这些问题重要(在市场角度值得人力和物力投入)且不简单(需要顶级的灵感)是你的看法。我觉得这些问题既不重要,也简单。 👍🏽0 💭北京 🕐2023-11-18 10:58:01
│ │ └── victory hjh: 问题简单?发过几篇top conference啊 不会top conference没发几篇就看什么都简单吧 看到Linux就只知道asyn io? 不会连Linux ext3的paper都没看过吧 👍🏽1 💭美国 🕐2023-11-18 11:02:51
│ │ └── victory hjh: 搞来搞去别光背个cfs scheduling就觉得自己很懂一样 先有lottery后有stripping 最后才是cfs 说的像是你能发一篇lottery这级别的paper一样 👍🏽1 💭美国 🕐2023-11-18 11:06:14
│ │ └── victory hjh: 不重要我就更不想说了 不重要 Aries不重要?断电就inconsistent是吧 f2fs不重要 用log structure file system 跑在ssd上效率低的哈人就是你想要的是吧 也不要搞flt了 wear out就wear out是吧 👍🏽1 💭美国 🕐2023-11-18 11:08:46
│ │ └── 多眼的智天使: 在你狭窄的视角里这些当然是重要的。不过我都说了,我的重要性视角在于是否有市场在大力投入。言尽于此,如果你一直是学生/研究员视角,我祝你可以一直做下去,而且拿到你符合预期的回报。不要到时候去公司里做 chore。 👍🏽1 💭北京 🕐2023-11-18 11:22:54
│ └── victory hjh: 背了八股文搞点mysql事务就以为自己什么都懂 👍🏽2 💭美国 🕐2023-11-18 11:09:47
Bad Code: 是的,背API只能成为熟练工,挖掘insight才是科学 👍🏽2 💭北京 🕐2023-06-02 01:44:05
云彩: 概念和实践是相辅相成的,不实践很难理解某些概念,理解了概念,进而可以举一反三 👍🏽1 💭河南 🕐2024-10-27 21:04:17
茶叶盒: 坦白讲,除了给领导敬酒,哪门学科不是这样呢[doge] 👍🏽1 💭北京 🕐2023-09-07 18:46:02
君莫问: 说的好像这些很容易一样。大部分人都是普通人,做个业务开发curd就不错了。[大笑] 👍🏽0 💭广东 🕐2023-06-21 18:35:16
手工智能: 乖乖学,合理分配精力,最后能像答主一样写出这种回答就行。每个人的总结的结果不一定相同。 👍🏽1 💭广东 🕐2024-08-21 18:40:16
迷途知返: 话说到你说的这种程度的话,还有没有中年危机 👍🏽1 💭广东 🕐2023-09-20 16:35:35
模仿艺术之樱: 所以啊还是要把专业课学扎实了,这些专业课上都会讲的很仔细的 👍🏽1 💭上海 🕐2023-06-01 22:48:09
│ └── 多眼的智天使: 我不知道大学上什么课。应该不会有比较新的东西,比如分布式 AI 训练,云原生 PaaS,SDN 什么的。这些视野也非常重要。 👍🏽1 💭北京 🕐2023-06-01 22:54:06
│ └── 模仿艺术之樱: 嗯但你说的很多基本原理都是会有的,比如你说的tcp、拥塞控制、编译器的ir,基础的分布式、机器学习、数据库、进程调度等等等等,基本上都包含在大二大三的专业课里面了 👍🏽0 💭上海 🕐2023-06-01 22:55:48
│ │ └── 少年皮则球强: 垃圾学校并没有[飙泪笑] 👍🏽0 💭上海 🕐2023-06-15 17:59:17
│ └── 绝不原创的飞龙: SDN属于范式类的东西,说他是设计模式还是架构模式好像都不大合适。。。 👍🏽0 💭北京 🕐2023-06-02 01:41:11
待业一人: 推荐几本书 👍🏽1 💭上海 🕐2023-06-02 09:42:04
上善若水: 懂了又咋,还不是打工仔 👍🏽0 💭北京 🕐2025-05-18 21:56:02
│ └── illuminate: 自娱自乐也挺好 👍🏽0 💭浙江 🕐2025-05-21 17:24:20