《计算之魂》是一本由吴军著作,109出版的2021-11图书,本书定价:平装,页数:,特精心从网络上整理的一些读者的读后感,希望对大家能有帮助。
《计算之魂》读后感(一):好书,硬书,值得精读的书
吴军老师的书依旧是那么高质量,这是一本“硬书”,还在努力学习中 下面是新书首发会的活动,积极参与起来!!!
对计算机科学的掌握程度,决定了一个计算机行业从业者能走多远。在本书中,作者将人文历史与计算机科学相结合,通过一些具体的例题,分10个主题系统地讲解了计算机科学的精髓。这些例题是作者面试求职者时用到的考题,或是头部计算机公司和金融企业的面试题。
作者在书中结合自己对计算机工程师的五级分级标准,详细讲解了每类题目不同层次的解决方法、不同水平的人大约能思考到什么样的深度,深度阐述题目背后的计算机科学精髓。通过对比优化解题思路,读者不仅可以衡量自己的水平,在职业的发展道路上走得更快,更可以深刻理解并掌握计算机科学和计算思维,逐渐把握计算机科学这门艺术,获得重复性成功。
对于所有有志于了解或学习科技,特别是计算机科学的人来讲,本书不仅有助于了解计算机科学,更有助于了解 IT 产业的技术特点、培养一些特殊的思维方式、掌握信息时代特殊的做事方法,通过具体的例子,从“术”的层面获得“道”的层面的提升。
《计算之魂》读后感(二):数据眼看《计算之魂》
作为一个数据分析从业人员,我也算IT贴边儿从业者吧。所以我更多地是从总结思维、提升工作效率和产出稳定性的角度去看这本书。
首先,开书后被“计算机科学10大主题”的思维导图吸引,尤其下载的电子版里还有交叉索引,已经贴在墙上当能力图谱用了。其中大部分的概念,在日常工作中都有体验,例如“毫厘千里之差”“万物皆编码”“状态与流程”等等。我们大多都有经历和经验,但没能分类、总结成这些规律,而吴军博士把这些都提炼了出来(而且还印成了思维导图!)。
其次,书中或是一些朴实无华的描述,或是耳熟能详的经典问题,总能引起我在工作上的思考和共鸣:
例如,在“毫厘千里之差-大O概念”里提到“在数学领域,只有一部分问题我们能够判断是否存在答案,大部分问题是无法判断答案是否存在的。”
这让我想到平时我经常和团队同学说的“初级分析师把所有精力花在怎么回答问题上,而高级分析师会先判断这问题通过分析能不能回答。”——确实,一些业务决策是通过分析历史数据可以解决的,一些问题是未来通过设计A/B测试可以解决的,还有很大一部分仅仅通过分析是无法解决的。快速判断出是否可行,以及能够先估算出分析能够提供业务决策参考的程度,是分析师进入专业级别的素质之一,通过阅读本书才发现原来在数学里早有类似的思考。
又例如,在“状态和流程“中提到了”因果关系链”,书中的例子是3只老虎妈妈和3只老虎宝宝坐船到对岸的问题(应该很眼熟了就不解释了自己翻书哈),用图论写写画画就把可行路径梳理了出来。而“找到造成非法状态的关系链”就可以debug。这让我想到现在新人培训时有个保留节目:帮新人产出的数据复查看出“这数不对”(加总不等于100%、数量级大几个量级等),但要SQL debug时要么凭经验猜对,要么索性自己重新写一个,无法修正别人写的代码。现在看来,如果用“因果关系链”思维,列出2张表用的维度指标(例如品牌ID、卖家ID、商品ID),列出合法状态和非法状态(多对多,一对多,多对一),就可以根据量级的差异(百分比,小数量级差异,大数量级差异)向上推测最有可能的非法状态。而有了这样的思维,新人就可以在通过系统的方法完成自检和bug修复。
如果在一个企业和组织里,能够“全面部署”这10种计算思维,那沟通成本和团队产出可以进化到一个什么样的新状态呢?
本书从思维到理论、从生活中的实例到面试题和思考题,其中总有一段(或几段)打动我。这是一本对大家友好的书,可以让不同行业位于各个阶段同学都能有所收获。
《计算之魂》读后感(三):吴军博士重磅新作,30年从业经验凝成《计算之魂》
真的不是故意要赶“双十一”。做书的人,第一要紧的是心要静。一本书,从一个想法变成几百页的作品,每个字要对得起读者,一旦印了出去很难再改,要负责的。
但是既然碰上了这个日子,也是缘份,也不必刻意回避。过去快两年的时间,一遍又一遍地读吴军博士的文字,成百上千次的邮件来回。好的作品,一定有两个条件:一是一出手就是好作品,再就是好作品是改出来的。好的作品,和好的软件非常相似,或者不如说,凡创作皆如此。春去秋来,作品如美玉,渐渐成形,显出温润的光华。
第一眼就知道是用心的好作品,并不意外,但还是有惊喜。毕竟科班出身,这个领域的书不敢说全部读过,经典之作还是用过一些功。算法,每年出的书没有几万也至少有几百个品种,用心的,就不太多。在用心之作中,能讲明白的,又是凤毛麟角。但是,搞明白算法,还是不够。算法就像数学或物理公式,光背公式考不好试,更难拿来解决实际问题。吃IT这碗饭,好像每年相关专业毕业那么多人,但真的说起IT这个行业要知道什么见解,掌握什么技能,还是有明显的境界之分。绝大多数从业者,没有人指点,会很容易碰到空气幕墙,感觉努力无用,明明学了一堆东西,还是一问就废。
还是要看高手的经验之谈。计算思维并非玄学,它是活生生的。任何一个具体的问题,离不开物理——算力是有限的,存储是分级的,脱离这些不可能拿得出有意义的解决方案,同时当然也要熟悉底层的逻辑,人和机器不一样,但人要掌握机器就要理解机器如何运作——机器善于处理和人的日常思维反过来的逻辑。掌握了这些作为基石的思维,再向上去看算法,才能恍然大悟为什么这些算法会长成这样,因为如果让你从头来想,它们最后也不得不长成这样。在书中,所有书上都会讲的排序算法,并不是简单地从冒泡讲到快排,它们的底层思维来源并不相同,所以被安排到了不同思维所对应的章节中。认真读你就会明白,其实人们是使用了不同的计算思维来解决排序这个工程需求,所以,并不是说到排序就从工具箱中拿出自己知道的算法了事,你要了解清楚有怎样的资源,有怎样的功能和性能需求,这个时候才知道要用什么算法工具,甚至要现场对工具做一些细致的、深入的组合甚至改造才能完成看上去平凡无奇、实则暗藏致命杀机的需求。能否掌握这样的高级技巧,而非无论怎样的钉子都只会用一把笨锤去硬敲,可能在任何一个行业里都会是从业者分级的依据。只不过,在计算行业中,这些都会是思维活动,因而更需要一些具象的指点,尤其是来自于行业内顶尖人物的指点。《计算之魂》在这方面,无论是从广度还是深度来说,都是不可多得的佳作。尤为难得的是,这本书的文风完全不晦涩,而是有着接近于文学作品的可读性。思维训练被包装在具体的、甚至有点“俗”的顶级IT公司的真实面试题中,分布在各条专题内容下。但当然,如果你把这本书拿来做面试刷题用书,背了一些题目的答案就想要达到“通吃顶级大厂的任意职位”的目标,那肯定会头破血流。背算法都不行,背题目当然就更是等而下之了,这绝对不是吴军博士的初心。
在本书的开篇,吴军博士就借鉴了前苏联全才型科学家朗道划分物理学家级别的方法,提出了计算领域内的科学家和工程师的五级。“升级”唯一的办法,就是提升对于计算的认知,在计算思维上不断地自我训练。读《计算之魂》,是我看到的一条捷径,但当然要走好这条捷径,只能说是少走很多弯路。但要把高手的指点吃透,变成自己的经验和见识,还是免不得要花大功夫才行。好在吴军博士指出,计算行业的“升级”回报非常丰厚,从一个普通的“码农”,仅靠自身的努力,甚至有可能成为年入上亿美元的成功人士!这种行业内的成长空间,是非常少见的。其实,吴军博士本人就是从业人员的好榜样,他在职业上取得巨大成功的同时把多年的经验写下来,帮助整个行业和每一个从业者向上提升,这是很有功德的事业。
作为这部作品的策划人,我感觉特别幸运!因此,我当然也是很愿意向任何有兴趣从事或了解计算行业的同道推荐这本经典作品。上周,我去南京紫金山实验室拜访了仰慕已久的王桥教授。他的办公室里堆满了书,这些书并不是放在让人敬而远之的书架里,而是摆在案头随时可以取阅。我们聊的时间不很长,但说到前不久邀请王教授阅读《计算之魂》的事情,他还是兴奋洋溢难以掩藏。王教授非常提倡思维训练,他带学生不是去硬教通信协议,而是让他们基于随机数模拟的通信数据流自己动手实现协议,在这个过程中协议的基本算法和工程取舍便会浮现出来,而这样的学习过程也让学生不仅知其然更知其所以然。英雄所见略同,高手的方法论是相通的。
与王桥教授在紫金山实验室办公室合影留念
吴军博士亲自讲解《计算之魂》全书精要先睹为快
点击上述链接,在识别入口得到下发的小程序卡片后,可以通过在打开该卡片所展示的页面中点击“增值内容”收看吴军博士亲自讲解的视频,点击“加入群聊”则能够加入本书的读者群,有机会和吴军博士本人直接沟通交流。我们也将在该群中组织算法题目竞答,前5名优胜者将获得《计算之魂》一本(如已购买,将另送一本吴军博士在人民邮电出版社出版的其他作品),前10名将获得由吴军博士亲笔签名的精美书签一枚。
《计算之魂》读后感(四):计算之魂——谈历史看未来的人生算法
《计算之魂——谈历史看未来的人生算法》
拿到来自人民邮电出版社的吴军老师的新书《计算之魂》匆匆读完,感觉是一本贯穿古今,兼具理论高度和实践深度的好书。本书带着读者从计算机的发展史开始,讲解了对计算机科学理论实践的精髓,结合对于计算机工程师的分级,和几个具有代表性的问题展开兼具学术性和趣味性的探讨。结合自己的创业投资和孵化工作聊聊感受比较深的几点。
计算机工程师的四个问题和五重境界
专业人士10000小时定律,是大家都熟知的一个定律,要成为一名优秀的专业人士需要至少10000小时的训练,约等于四年的工作时间。但同时能够从量变引发质变的,还在于明确成为优秀人才需要的四个条件。虽然吴老师这里讲解的是成为优秀计算机工程师要解决的四个问题,但实际上道理适用于所有在专业上希望追求卓越的年轻人:第一是判断什么能做什么不能做。即定义问题,书在后文中也介绍了计算机科学中的各种边界,数学的边界、图灵机的边界、算法的边界。在真实世界的工作中,懂得怎样做到有所为有所不为,不把时间精力浪费,往往是走向正确道路的第一步。第二是预先要求,就是我们古语中的“工欲善其事,必先利其器”,作者也强调了是否满足预先条件,在应用型要求和工程当中至关重要。在我们实际的工作当中这个预先条件也十分重要,比如整个移动互联网的腾飞基础是智能机的普及和4g网络提升了网速,在实际的创业和产品搭建中,计算机工程师需要考虑自己的设计的预先要求是否能够满足。第三是对计算机科学的深刻理解,即知识的深度和广度。为什么要学习历史,因为“以史为鉴可知兴替”,不光是计算机,在任何的一个行业成为专家,都要学习和理解行业的历史和现状,在更高的高度思考行业的未来 。第四是掌握计算机科学的艺术,即处理问题时候体现出的水平具有美感。在后文也有大量案例来体现这种“运用之妙,存乎一心”的算法之美。
吴老师曾在《见识》一书中提出的五级计算机工程师和科学家的分级分别为:一级能够开创产业或者奠定学科基础;二级能够提出计算机理论实践中的新知,设计实现他人无法实现的产品;三级是解决前人未解决的问题,独立设计实现产品,一般可以担任企业里的总工程师和总架构师;四级是利用已知最有方法可以带领团队完成工作,一般的技术专家的水平;五级是独立工作可以完成任务的工程师。这个分级体系也可以很好地映射到其他的行业,从入门到熟练工,再到高级管理者和领军人物,可以在工作中对照看自己在哪个位置和努力的方向。
计算的本质
一台计算机包括计算、存储和控制三个部分。图灵机是一个虚拟的计算机,但它的意义在于一是可以将问题分为有限步骤完成计算和不能有限步骤完成计算的,其次提出了今天的计算机也仍然在使用的存储地址、计算机状态、规则表(指令集)和当前位置读写这些基础概念,最后把求解过程对应于机械运动。图灵超越时代之处在于领先时代设计了计算机的雏形,在没有计算机的时候就划定了可计算的边界。对这个过程感兴趣的读者还可以去观看图灵传记片《模拟游戏》,片中描写的就是二战期间图灵带领盟军科学家破解德军英格玛密码机的一段历史,很形象地展现了“图灵机”这一现代计算机前身的概念雏形。
逆向思维和递归思想
逆向思维是人类思维和计算机科学需要的思维区别的重要一点,人类喜欢从前往后,从小到大,而计算机的递归思想强调的是从结果出发以终为始。作者也在文中强调,要成为优秀的计算机科学家和工程师,需要有意识地挑战常规,这也是我们工作当中经常会遇到的“推推不成拉拉看”的场景。之后作者以归并排序、堆排序、快速排序几种算法的对比来说明,在计算机领域的优化都有代价,所谓的最优算法,其实要根据不同的设定边界寻找到最适合的。计算机领域的很大一部分的工作就是在各种应用中寻找效率更高的算法。在解决问题时候能够灵活地运用不同的算法,就是成为3级及以上的计算机工程师和科学家的基础。
计算思维通常是递归,从上而下,把大问题拆分成小问题,而大小问题都有相同的额结构和解决办法。这里作者介绍了二叉树和遍历,即广度优先遍历算法。作者指出这里可以看到全图,同时利用了很多在图中没有提供的信息,所以降低了问题解决的难度。在这个部分作者也以非常热门的“自然语言处理”(NLP)领域为例,指出怎么拆句,就是递归思想的一个具体应用,在自然语言理解中,文法规则就是人类高速计算机如何拆的指令,以及即便今天,像NLP这样类型的实际应用场景在找到最佳算法时的计算量也往往超乎我们的想象。如果在效率上有提升,优秀的算法可以令运行时间降低一到两个数量级,有效率的产品可以快速占领市场。我们作为消费者可以体会到最近的几年,人工客服广泛转向自动客服和文字、语音机器人就是这个论点的绝佳体现。同时,递归思想这种有别于人类惯用的思维方式,其实除了编程之外也可以利用在我们推演商业模型,乃至于作出重大人生选择的过程。比如把你要解决的商业问题拆分成若干个小问题一一击破,又例如规划职业生涯的时候先设想5-10年之后你希望自己在什么城市做着什么行业有怎样的生活方式,然后一步步倒推回“下一步做什么”“接下来做什么”。
好编码是提升效率的第一步
计算机的二进制编码和人类的思维习惯不同,所以优秀的计算机工程师要善于站在计算机的角度设计编码,架设人机之间的桥梁。文中以“小白鼠实验问题”这个经典案例说明编码选择得好可以大大提升解决问题的效率。并且解说了谷歌这样的大公司常用的AB测试,其实就相当于为了快速解决可能高达数百个的测试,把用户进行合理分组即编码,用“小白鼠实验法”快速同时进行若干组测试,信息的编码上也要兼顾范围和精度,作者用了“两个玻璃球问题”解说了工程师如何把握迭代的步伐大小,即粗调和精调的关系。提出好的问题是解决问题的一大半,编码就是这第一个“好问题”如何“把话说明白”用最合适的编码机制来表述问题,就是计算机工程师和科技工作者需要经常探索的问题。
分类和组合:优秀学者善于提出计算机和真实世界的桥梁
在本章,作者结合网页搜索这个工作场景,分析阐述了网页搜索的本质是分类和选择,这两点也是智能的核心。优秀的学者过人之处在于建设计算机和真实世界之间的桥梁。很多智能问题都是选择和分类。经常我在工作中接触到很多创业团队,大家对产品定义和设计的对话也往往围绕这两点开展:如何把问题化整为零拆分,如何构建选择的算法。优秀的团队的过人之处就在于构建的算法,可以更好地进行分类和组合。这样的思维也可以应用到我们的工作中,比如管理学上“重要和紧急四象限分类”,把日常需处理的事,通过紧急与否重要与否的组合分为四种:紧急且重要、不紧急也不重要、重要但不紧急、紧急但不重要四类。而有效的工作方式是工作做在平时,日常处理重要但不紧急的事,战略性放弃不紧急也不重要的事,这样就可以降低在紧急且重要、紧急且不重要的事上救火的概率。同时,留有冗余备份和快速响应机制,一旦发生重要和紧急的事可以及时处理避免更大损失。
图论:乔布斯的connecting dots
上一章讲到分类和组合,图论是组合数学的一个分支,有广泛的应用领域。论文可以构成一张网络,谷歌的创始人在攻读博士的时候就认识到这一点,并发明了利用网络的超链接来计算网页重要性的算法,造就了谷歌早期的商业成功。图可以解决最短路径、关键路径、最大流、地图染色问题 、配对问题等等一系列问题,文中也都给出了很好的案例。参考本书开头的五级工程师分级,三级工程师是把一件事做到世界最好,二级则是做到史无前例,这些都需要动态规划。以最大流作为案例,文中也介绍了几种动态规划常用算法。但是现实生活中,最大流的问题理论中更为复杂,比如提到的四个问题也是实际的大型公司使用场景经常出现的:优化流量的多重标准,网络流量的动态变化,传输方向切换或者线路改变延时,网络故障等等。所以要考虑的各种问题的复杂情况,并解决就可以到达三级工程师的水平。大家都很熟悉的乔布斯在演讲中提过的人生如同connecting dots的理论,也可以视作图论的思想的一个体现。
总之,全书用翔实的案例和吴老师多年的业界经验,逐一用11个章节,带领读者完成了“计算科学品味和认知进阶”,第11章对于计算机行业的技术人才,和向往进入计算机行业专业人才行业的高校学生都是一本优秀的读物。
书名《计算之魂》
出版社:人民邮电出版社