2021 专访 (III) · Maoyao233
- “那我们就简单聊聊。”
- “没错,我们简单聊聊就可以。”
现在,我坐在惟新馆二楼的平台上。
- “那么就请先做个自我介绍。”
- “我是 2018 级计算机科学与技术专业的叶茂尧,也是我校 ACM/ICPC 程序设计竞赛集训队前队长。
目前在幻方量化工作,做互联网和金融的交叉行业,也就是所谓的量化投资。”
各位可能很难体会我目前的心情。
第一次了解到叶神,还是在三年前的电院年级群里。那时的学院年级群还不是 “死群”,隔十几分钟就能 99+。记得第一学期的某一天,我躺在宿舍床上,看着叶神在群里尝试解答其他同学的疑惑,其在谈吐中展露的知识面对当时的我造成了极大的冲击。我不知道多少人被叶神这样帮助过,但至少我受过叶神的点拨;我也不知道多少人将叶神作为心中偶像,但至少我这么做。
所以,今天能够邀请到 “叶神”,我是感到十分的荣幸。
“算法” 意味着什么?
- “第一组问题是和算法竞赛有关。”
“叶神是从什么时候打 OI 的,高中?”
- “高中。”
- “那是因为什么接触了编程,又是因为什么接触了 OI?”
叶神很早就接触了编程。小学时,他在家中互联网从业者亲属的指点下,使用家中闲置的电脑学习起了 C/C++
。但你我都清楚,基本的语法并不能带来什么。从零开始创造一个有趣的应用,更重要的并非编程能力。所以即便是叶神,也很难一直低着头面向 “黑框框” 编程。
- “这种情况一直持续到高中。高中信息老师说:‘这里有一个比赛,有兴趣的同学可以参加一下’。”
“那我就参加了。后来才知道这个比赛叫 NOIP。”
据叶神所说,他本人生性不愿循规蹈矩,喜欢整活儿,对高中沉闷压抑的学习氛围更是无感。当时正巧是高一的第一个学期,叶神听到这消息后便报名参加。这个比赛就是大家熟知的 NOIP,而叶神的 OI
之路也是从这里开始的。
- “第一年,我虽然只学了一个月多一点,结果我却拿了 200 分。这还是因为我丢掉了一些本能稳拿的分。”
“而我们湖北省一等奖线大概是 230 左右,所以说我学了一个月就拿了省二。”
“现在回想起来,当时的我很菜,只是刚好那一年运气特别特别好。”
- “遇到了一些会做的题。”
- “对,但这些就让我对此产生了兴趣。”
可能很多同学不能理解叶神所说的 “兴趣” 究竟从何而来,也或许会产生 “是否误将 AC
带来的满足感误认为 ‘兴趣’” 这样的想法。叶神以为,如果我们不以功利心衡量算法题的话,算法题背后的求解方法本身就是巧妙且有趣的。我们在生活中也可能经常有这样的体会——眼前的道理如此巧妙,却又十分自然,但自己却想不到。
举个例子,二分法是一个非常基本的算法,我们一提到二分法,首先想到的可能是 “二分查找”。然而,其思想衍生出来的 二分答案 算法却可以用来解决一种优化问题,将数值上的 “优化” 转为二分法中的 “判断”。叶神在第一次学习到 “二分答案” 时,就被这个算法的精妙感染了。那之后不久开展的 NOIP
也是考到了 “二分答案”,叶神自然是顺利拿下。这里我也给大家找了一道可以利用 “二分答案” 求解的题目,大家可以打开编辑器试一试:
AcWing-730 机器人跳跃问题
机器人正在玩一个古老的基于 DOS 的游戏。
游戏中有 N+1 座建筑——从 0 到 N 编号,从左到右排列。
编号为 0 的建筑高度为 0 个单位,编号为 i 的建筑高度为 H(i) 个单位。
起初,机器人在编号为 0 的建筑处。每一步,它跳到下一个(右边)建筑。
假设机器人在第 k 个建筑,且它现在的能量值是 E,下一步它将跳到第 k+1 个建筑。
如果 H(k+1)>E,那么机器人就失去 H(k+1)−E 的能量值,否则它将得到 E−H(k+1) 的能量值。
游戏目标是到达第 N 个建筑,在这个过程中能量值不能为负数个单位。
现在的问题是机器人至少以多少能量值开始游戏,才可以保证成功完成游戏?
输入格式
第一行输入整数 N。
第二行是 N 个空格分隔的整数,H(1),H(2),…,H(N) 代表建筑物的高度。
输出格式
输出一个整数,表示所需的最少单位的初始能量值上取整后的结果。
输入样例:
5
3 4 3 2 4
输出样例:
4
尽管第一个月的成绩非常不错,可这并不代表叶神一开始就是为了升学才选择了竞赛。让叶神想法发生改变的是 2016 年 NOIP
,这一年叶神拿到了湖北省的第 9 名。在当时,若是能顺利进入省集训队,那至少可以保证武大、华科的名额。如果更进一步,拿到了银牌或者金牌,甚至还有机会冲击更好的学校。虽然最后省选没有成功,但 NOIP
省一也足够拿到同济大学的自主招生资格。
- “所以这也是一个挺不错的一个经历,并且带来了一些收获吧。”
- “但更多的收获是这个经历的副产品:我去做了这些事情,我在过程中学到了东西、得到了快乐。”
“当然它给我带来了现实上的利益,这是让我非常开心的事情,但这并不应该是我们的出发点。”
- “嗯,一开始就是因为兴趣,是想要了解未知事物的冲动。”
- “是的。”
回想大一,那时我自己还是个什么都不懂的新生。我也听过我校 ACM
队的宣讲,但最后却没有逼自己走出那一步,这让我在过去的一段时间非常后悔。而现在,坐在我对面的正是我校 ACM/ICPC
队的前队长,同时他也有着两次大规模招新宣讲经验。在这里,我也斗胆请叶神在 TJCS-F2F
中宣传一下算法竞赛的积极影响,我想叶神的 “招新思路” 肯定与众不同:
- “我宣讲时一般会讲两个方面。”
“一方面,我会从比较功利的角度。
虽然我们学习是为了学习本身,但万一在最后,这件你要付出大量心血的事没有为你带来收益,那我相信,在如今这个压力日益增加的大环境下,ACM 不会吸引到很多人。”
“另一方面,我会强调算法竞赛的趣味性,讲一些介于智力题和算法题之间的东西。
此外还会讲一些比赛中的花絮,比如神奇的队名、快乐的旅游等等。”
每年都会有许多同学到我校 ACM
集训队中学习算法与数据结构的知识。实际上,这里面有很大一部分同学并不以 “获奖” 为目的,仅仅只是想学习一些知识,为以后的学习甚至企业面试打基础。对此,叶神也表示十分的欢迎。
- “我们会开一些公开课、出一些题单。
我们希望不仅是打竞赛的人,还有希望学习的人,都能够有一些收获。”
“这是一个在大学中比较值得去做的事情。”
诚然,如果想要参加 ACM
竞赛,在高中阶段有 OI
基础自然是最好的。对于零基础同学而言,通过 ACM
竞赛获奖并不是 “性价比” 最高的。(在保研竞赛加分方面,ACM
竞赛毫无疑问是最硬核的几项之一)但我相信还有很多同学虽然进入大学前没有接触过,但也很想在 ACM
比赛中获奖。于是我问了叶神这么一个问题:“对于一个没有 OI
经历,但非常想在 ACM
比赛中获奖的同学,有没有什么方法能迅速找到方向,走得又快又好?”
听到这个问题,叶神立刻吸了一口气,坐直了一些:
- “ACM 竞赛虽说是思维的考验。本质上还是竞赛、做题。做题量是肯定绕不过的。”
“也就是说,如果想在竞赛中获奖,是要做好放弃很多东西的觉悟的。”
“它可能真的需要投入很多时间,去刷大量的题,去做大量的训练。”
“如果不是真的热爱的话,不一定会在这条路上走得很远。”
- “哦……也就是要付出巨大的努力。”
- “是的。”
正如叶神所说:“大学在很多时候都是要去做抉择的。不可能有人把所有事都做好。”
“量化” 意味着什么?
今年上半年的某个周末,我心情格外烦躁,闭馆前就离开了图书馆。在回寝室的路上,我看到少作、昊龙站在一起,好像在聊些什么。我走过去和他们聊了几句才知道叶神拿了幻方量化的实习 offer
,但我当时并不知道什么是 “量化”。我觉得对于大多数计算机专业的同学来说,“量化” 并不是一个足够熟悉的名词。同时,我也认为存在一部分同学对计算机金融的交叉方向感兴趣。那么今天我也是向叶神问了几个相关的基本问题。
- “叶神能否为我们简单介绍一下,‘量化’ 是什么概念吗?它和传统互联网行业做的业务又有多少区别?”
- “简单来说,‘量化交易’ 就是计算机炒股。”
“认真说的话,量化是要比炒股范围更广的,包括了在二级证券市场的交易。”
“但国内大部分相关行业都是在 A 股这个市场进行交易。”
“量化交易和普通交易本质上是一回事,仍然是赚市场波动的钱。”
在炒股这方面,计算机和人是有很多相似之处的。如果你真的对 “量化交易” 感兴趣,不如读一读这篇幻方量化公众号的科普推送:量化投资 18 问。
- “我还想问一个比较简单的问题。”
“我想可能有一些同学不希望未来自己成为一个 ‘搬砖码农’,更希望自己朝一些交叉领域发展。
对于量化这个领域,一个计算机专业的学生,应该学习哪些东西才能胜任这个方向的工作吗?”
- “我觉得计算机科学作为一个工具性的学科。不管你拿计算机做什么,很多事情都是统一的。”
“它有一些最本质的东西——比如你会不会写代码。”
- “哦——”
- “‘会写代码’ 这四个字虽然说起来简单,但并不是每个人都能达到的事情。
写代码更像是描述自己的逻辑思维。将一个问题的解法转换成一个富有逻辑的表述。(也就是代码)
具体用什么语言、什么框架,并不是一个超出大多数人智力范围的事情。
而如何分析问题、如何组织表述,是计算机专业方面工作的一切的核心。”
“量化交易也有很多方向,如果是交易系统的开发,那和做其他系统也没有什么区别,也要考虑高并发、低延迟等特性。”
“当然,它可能也有一些展现行业特色的地方,比如数据的格式。
但处理数据的工具是可以快速掌握的,归根结底还是要求对数据结构、操作系统这些东西的理解。”
“如果去做策略上的研究,那计算机就变成了一种工具。这个方向就要看对行业的理解。这就不是几句话能概括的了。”
在叶神拿了 offer
之后,我也或多或少听过周围的同学聊到量化 / 计算机炒股。它好像非常看重信息的时效性,晚了一时半刻就会带来极大的损失,传说有的公司甚至要抢占交易所附近的地段,从交易所直接连光纤。
股票的价格是由交易来定价的,股票价格不可能完全等于股票应该具有的价值,这就让部分股票的 “当前价格” 与 “实际价值” 存在相当差距。
散户的行为可以用 “追涨杀跌” 四个字来大致形容,这种行为可能令原本就存在的差距变得更为明显。而 “量化” 会根据模型 “理性” 地估算股票价值,捕捉股票非理性波动。
- “‘量化’ 这种手段其实也是修复定价的过程,让价格更快地到达平衡点,到达更理性的位置。”
然而今天叶神告诉我,这种高频量化交易只是很小一部分。
- “‘量化’ 赚的钱由几个方面组成。一方面是通过大家熟知的交易,另一个比较大的方面是 ‘持有’。”
大部分的量化交易并不从微小的时间差上赚钱,而是像人类一样,从 “持有” 这个角度,用计算机程序预测未来股票的涨跌。
- “‘持有’?这是什么意思?”
- “就是你拿着这个股票,之后这个股票涨了,那你就赚钱了。”
- “哦,没错没错。”
- “这是很大一部分收益来源。‘量化’ 会用它的模型选出更有可能涨的公司。”
除此之外,“量化” 还可以扮演证券市场中的 “做市商”。“做市商” 是为股票提供报价 / 买卖价格的特殊交易商。
- “当市场比较小,哪怕一个股票具备很高的价值,也可能因为没有对手方而无法售出高价。
而做市商就会来购入这些股票,也算是提高了股票的流动性吧。”
“做市商具有这样的权利,也要承担相应的义务——
有股票按照报价卖给我,我必须买;
有人按照报价买我持有的股票,我必须卖。
但 ‘量化’ 就不需要像这样享受权利、承担义务。”
“这并不意味着 ‘量化’ 只会赚钱,‘量化’ 因为与人一样持有股票,所以也会承担风险。”
我本人是完全没有这方面的知识,听了叶神的介绍,我逐渐理解 “量化”。
“就业” 意味着什么?
我相信,有不少同学不会把 “本科就业” 当作第一选择,其中原因可能五花八门。叶神属于选择 “本科就业” 的一方,我十分好奇这背后的原因。
- “下一个问题是……想问下你为什么选择了 ‘本科就业’?”
- “让我下定决心的肯定是我拿到了一个待遇优厚的 offer,我觉得我读完研究生出来,都不一定还能拿到同样级别的 offer 了。”
- “哈哈哈哈哈。”
- “但早在我拿到 offer 之前,我对我自己的定位就更倾向于工作。”
据叶神所说,卷绩点保研这件事并非他想要的。为了保研名额,需要每天奔波于寝室—食堂—图书馆之间,这件事是非常消耗一个人对计算机的激情与能量的。(事实上叶神握着竞赛加分,从结果上看,若想保研也是能够拿到资格的)
- “另一方面,如果说你有着足够的能力,在本科阶段进入大厂。
在我看来,在这个行业中,比起研究生是没有劣势的。”
“很多大厂本硕是同职同薪,进厂后做的事情也是一样的。”
“放眼整个人生,你在研究生阶段受科研培训,和你在大厂内收到工程方面的训练,也是没有一个优劣之分的。
如果你在大厂做一些高技术的工作,可能比读研成长更快。那样的话,直接就业会是个好的选择。”
这点我有同感,进公司实习的第一天,小组 leader
就告诉我组里基本上都是 985 研究生,这一度让我感到压力山大。但工作一段时间后,我发现我们的工作并非只有研究生才能胜任,它实际上没有要求什么科研能力。虽然 “读研或是工作”,往往不是一道选择题。但我作为这次采访的发起者,更何况这次采访的嘉宾还是叶神,我很难不夹带一点私货——希望有选择余地的各位好好考虑。
抱歉,话题突然有些沉重了。话说 “一面”、“二面”、“三面” 的面试官就坐在我工位不远处。作为一个没有丰富互联网企业面试经验的学生,我一直好奇 “业内人士” 是如何看待 “求职面试” 的。如今,叶神已经在公司进行过一段时间的工作了。无论是身份,还是视角,都从曾经的应届求职生,变成了基金公司的一名在职员工。那我必然要问问这个问题:
- “以在职员工的角度看曾经的面试,可能有不同的感受。那公司里面是更希望看到前来面试的同学有哪些品质呢?”
- “其实我觉得,大部分公司具有很大相似性。基本功扎实,有一定的创造能力、学习能力比较强。”
- “那这些该如何在我们的简历体现出来呢?我们平时应该怎样在这几个方面提升自己呢?”
- “……”
以 “基本功” 为例,大家都会把面试分成两个部分,一个是算法,另外一部分是所谓的 “八股”。
任何面试都会让人写代码。“写代码” 这三个字并不简单,短短 50 行到 80 行的算法题,也能包括代码风格、思考方式、边界情况、逻辑组织等等方面。可惜的是,这些东西并不是临时突击训练可以培养的。毫无疑问,有经验的面试官能看出来一个人到底是经常写代码的,还是临考背模版的。
- “算法这个东西对于非竞赛出身的同学,确实是需要花时间做题,这是没办法的。”
“但我个人觉得,学算法的时候,我们可以争取把思路给讲清楚,不止停留在 ‘把代码写出来’ 的程度。”
据叶神说,他听说过很多参与企业面试的同学由于 “闷头写代码没调出来” 挂了。
- “我可能更倾向于一边写,一边给面试官解释自己为什么这么写。我是从哪里出发的,从哪里考虑的。
当我遇到问题时,我也会说:‘它出了一些问题,它的问题可能出在某某地方,我现在来排查一下’,时刻把自己的想法说出来。”
“我觉得这有两方面作用,首先是这肯定不会你哪里一个 bug 调不出来直接挂掉;
另外一点就是能把一个知识给别人讲懂,和把知识背下来是两个不同的理解层次。”
“能讲出来,说明你对这个知识的来龙去脉有一定理解。
不管这理解是自己悟出来的,还是从别人那里来的,反正你是知道它是怎么来的。”
“我个人觉得,这种思维是一个很好的加分项。这表明你的学习不是机械的。”
我深以为然。不仅是我,叶神也觉得 “表达” 是一个非常重要的能力。“表达” 的形式有很多,可能是通过文档,也可能是面对面直接交流。能否把 “自己的需求”、“未来将要做的事”、“目前遇到的问题” 说清楚,决定了能否减少许多不必要的重复劳动。
- “我是不是还有 ‘八股’ 没说。”
- “嗯。”
- “其实我个人不喜欢 ‘八股’ 这个叫法。”
- “那是因为?……”
叶神的答案是:计算机是一个复杂系统,前人为了解决一些问题,引入了对应的设计,这些是有必要弄懂的。
它们被很多人称作 “八股”,并且这个名号能够逐渐传开,肯定是有一定道理的。它们有时就是死板的、无用的、纯记忆性的。考前看面经、背面经,拿到 offer
就可以把它们全部抛开,反正工作也用不到。然而,也有很多知识被归为 “八股” 是冤枉的。
- “如果要去问操作系统和计算机网络中某个变量该在什么赋成什么值,这确实是无聊的。”
“但为什么要设置这些变量、为什么要根据书上的步骤运行、不这么做会出什么问题,这些是值得学习的。”
“我对 ‘八股’ 的理解是,你可以背细节,但要弄懂背后的原理。”
与算法题相似,我相信有水平的面试官也能看出面试者的 “八股” 是背的还是真正理解了。所以我还问了叶神 “一般面试官是如何考察 ‘八股’ 的”。
- “有的是直接问。也可能在面试的时候给你一个开放的场景,让你根据场景设计。”
“如果知识积累到了,你确实见过那个场景,自然可以很顺利地作答。”
“但很多场面试给出的常见场景我都没见过。”
“可这没关系,我会去问面试官,为什么要我设计这个?这里是出了什么问题吗?或者直接问我要解决什么问题。”
“总之我会在与面试官的沟通中找到这个设计是需要我做什么,是优化性能还是避免极端情况。
我会首先把问题分解,接着我会去尝试给出一些解法。
当然我给出的解法多少存在一些问题,我也会把它们说出来。”
“我会尽力把自己分析问题、看待问题的思路给面试官。”
听叶神聊面试,我感到了 “表达” 的重要性。无论对错与否,大胆地说出自己的答案。如果对了,说出标准答案有什么尴尬的呢?如果错了,反正之后也见不到面试官了,那又有什么害怕的呢?
- “其实我觉得这个是比你会多少知识更重要的。”
“大部分面试官其实不一定……除非他在刷 KPI,他真的不一定在意你背没背过 ‘八股’。”
“但如果你面对一个问题,能够分析掉、解决掉,这个能力表现出来了,那面试官当然会觉得你不错。”
- “嗯嗯,重要的不是结果,而是思维过程和表达。”
“学习” 意味着什么?
本科前三年要学习一些专业课,比如数据结构、计算机组成原理、操作系统、计算机网络等等。这些专业课中或多或少会布置一些大作业,有的还存在课程设计。对于叶神这样的选手,我想肯定有一些独到的看法。
- “我想问下叶神是如何对待咱们专业的大作业和课设的。”
- “我这个人……其实我之前说了……有个特点,不是特别喜欢和大家一样,我喜欢整活。”
“当然这个可能不一定是好事,我也因为整活吃了不少亏。”
“有些整活成功了,但有些……”
- “哈哈哈,那先说下不太成功的。”
一直以来,操作系统课设的题目都是实现一个 “文件系统”。大家会实现一个能够挂在到 Unix-V6++
上的文件系统。而叶神完成了一个能运行在 Linux
操作系统上的用户态文件系统(FUSE
)。
- “从成绩上来看,我这是很失败的。我可能花费了正常做文件系统 2~3 倍的精力,却没有拿到优。我走了很多弯路。”
“但是我很快乐。你能看到它在 Linux 上跑起来了,能正常地写入文件了,g++ 能在上面运行了,我真的很开心。”
“我觉得这种成就感对于计算机漫长而枯燥的学习,是一个很好的驱动。”
“我不是很在意我拿到的成绩,我是想做一些好玩的事。当然,如果能学到东西就更好了。”
回想自己这三年,不少大作业和课设都是糊弄过去的。可能我一开始有一个非常宏伟的构想,但事情总会慢慢不受我控制。而叶神则不同,给我印象最为深刻的,莫过于他的编译原理大作业。相较于我们一个学期只做到 “语法分析”、“IR
生成”,他最终生成了 LLVM IR
,并接入了 LLVM
的后端,直接编译出了可以在计算机上运行的程序。
在作业上整活,不局限于某些枯燥乏味的要求,在项目上增添属于自己的色彩,是我特别佩服叶神的一点。
- “我们课上讲词法分析会讲到自动机理论,讲语法分析会讲 LL(1) / LR(0) / LR(1)。”
“但我的词法分析器就是一个 switch,我的语法分析就是递归向下。”
- “哦,没错,本来就是这样。”
- “但通过那次大作业,我读了许多 clang 的源代码,研究了 LLVM 框架。”
“我对编译器做了什么有了更深的理解,而不止停留在了课本上。”
“相比于你去做一个可视化界面来把语法树展示出来,写了编译器把自己的代码编译成 exe,这是更令人兴奋的。”
(PS:不瞒大家,我们组的编译原理大作业就是写了个可视化界面把语法树展示出来。谢谢叶神,有被骂到)
恒常问题
- “如果给你一次大学重来的机会,你会在哪些地方做出不一样的抉择?”
- “如果说那种小细节,赶 ddl、该学但没好好学之类的,每个人都有很多后悔的点。”
“但大方向的抉择,我重来一遍也没什么区别。”
“怎样的一个人才算活得比较通透、比较开心的呢?”
“那应该是明知这样做会怎样,但却不会改变选择的人。”
“虽然说我不能说自己有了这样的心境。但我觉得我在大学做的事情就是我想做的事。我想做我就去做。
不管最后带来的收益值不值,可它最初是符合我出发点的,重来一遍我还是会那样选择。”
- “那么你如何评价自己的这三年本科经历?”
- “嗯……我本科……学到了很多,收获了很多,最后给出了一个超出自己预期的答卷,我还是很有满足感的。”
- “能否站在大四学生的角度,为大一、大二、大三的同学各说一句话呢?”
- “大一的同学,一入学最沉重的压力就是专业分流。
这个问题过于现实、压抑,以至于我前面比较轻松的语调不太好继续下去了。”
“我想说的是,不要被这种沉重的压力压迫,以致于忘记了自己来大学学习的初心。”
“虽然说现实很苦涩,但不要被这个蒙住了所有的视野。
在分流之余,还是尽力调整一下心情,多看看周围精彩的世界。”
“有很多可以做的,不必太焦虑。”
- “那对于一个完成专业分流的大二学生呢?”
- “大二其实是大学的一个转折点。
以我和很多大二学生打交道的经验,我发现他们很多时候还是被大一拼命拿绩点的惯性席卷着,大多时候不知道为何而学。”
“当然,保研需要高绩点。但很多人没有想清楚自己要不要保研,为什么保研。”
“我对大二同学的建议是,多看看、多想想。”
“未来有很多方向,保研也有很多方向。去哪里、做什么事情,都是应该去了解的。要去了解科研是怎样的,你要接受怎样的训练。”
“搞清楚每个选择需要什么能力,不要被大流裹挟着前进,不要每天不知目的地疲惫地学习。”
- “那么对于大三的同学呢,也就是 19 级的同学了哈哈。”
- “现在,已经到了十字路口。不管是保研、考验、出国、就业,早做决定,然后朝着自己的目标一路前进。”
“选定自己要做什么,不要为别的事分心。”
“如果你明确要考研,那你就没必要为一个优、一个良斤斤计较;”
“要出国的话,你就去刷英语、出一点论文;”
“如果要保研,那就把其他事情放一放,专心刷绩点。”
“总之是朝着自己的目标专心做事。”
开放问题
- “最后一个问题了,也是比较轻松愉快。能否为我们推荐一本最近在读的书。”
- “……” (叶神作思考状,我生怕他说出一堆书)
- “一本就够了。”
(十秒钟过去了)
- “这种问题肯定是不希望我推荐专业书的。”
- “啊,也没那么多限制哈哈哈哈哈哈哈。”
- “既然这个项目是给计算机同学看的,那我还是再来推一本大家喜闻乐见的专业书了。”
- “可以可以。”
- “《深入理解计算机系统》,也就是 CSAPP。”
“很多同学学了两三年计算机,但对计算机科学是没有一个整体架构的。
那这类书,能为你建立起你对计算机的整体认识。这是千金不换的。”
“但我们还是回到这个问题的本源,推荐点轻松的书。”
“我最近在读一本长篇小说,马识途的《夜谭十记》。”
“我说这个名字大家肯定不太熟,但我说《让子弹飞》大家肯定都听说过。”
“《让子弹飞》是改编自《夜谭十记》中的一篇《盗官记》。”
“马识途是现代作家,《夜谭十记》由书中 10 个小科员轮流讲的故事汇编而成的。”
“语言是生动活泼的,整体带着浓厚的川渝方言特色。
但同时,由于故事都是民国时期的,所以也能感受到沉重和厚度。”