TJCS-F2F

TJCS-F2F

Face to Face, Tongji University Computer Science(&Information Security)

27 Dec 2021

2021 专访 (V) · Vace

这次采访我预谋已久,但我却并没有准备——没有预定好的问题、没有期望的答案,有的只是一些自然的杂谈。

有的时候我会想,想起去年、前年以及大前年的 12 月。它们毫无疑问都是关键的时间点,但我却在那些时间里过得浑浑噩噩。如果能有人在那些时刻给予我一些关键的建议,我想我会走上完全不一样的道路。

2021 年 12 月 25 日,是圣诞节,也是上海初雪的一天。气温骤降了十余度,Vace 在通达馆(交通运输工程学院大楼)的一楼对我讲起了他的本科四年。

在那个时代

我和 Vace 是在 2019 年寒假认识的,当时我们在一个 “临时项目组” 中一起写后端代码。但这个问题我却是今天第一次问得这么清楚:

- “话说你之前是哪个专业的?”
- “工程力学,工力。”
- “这是哪个学院的专业呀?”
- “航力学院的。”

没错,Vace 同学是 17 降转 18 的。由于那个时代的专业级差制度,Vace 连续与计科、软工擦肩而过,被第四专业志愿接住了。本来 Vace 的想法就是去计科或是软院,大一上的机械制图更是坚定了他这种想法。但 17 级工力专业在第一学期没有 “大学计算机基础” 这门课,反倒是他们培养方案中在第三学期放了一门 C++ 程序设计基础。此前,Vace 也在自学 C/C++,可是进度并不快。于是他提前一年选了一位当时还在 “基础教研室” 的电信学院老师开的 C++ 课。听了这位老师的课后,他觉得这比自己看的网课好太多了。

- “当时选了 C++ 的,基本都上过大学计算机基础这门课。
   那门课最后几周教 C++ 前几章。”
  “所以这门 C++ 上去第一周就是数组。我就有点懵。”
- “那怎么办。”
- “就自己看了一下前面的,老师讲的很好,我最后都听会了。”

虽然距离学号 175 开头的 Vace 转专业已经过去了将近 4 年,而且那个时代还没有学堂制、没有大类招生,但 Vace 转专业前所做的工作却应该是始终通用的。

- “那你在转专业前做了什么准备吗?”
- “转专业之前我问了下学长学姐,他们说最好有一些做过的项目。
   比如一个小游戏呀,一个管理系统。”
- “那你当时有这方面准备吗?”
- “我就用了一个可以当作一般 C++ 大作业的学生管理系统。
   还做了一个……当时我是根本不懂的……五子棋的 AI。C++ 写的 alpha-beta 剪枝。”
  “当时我根本看不懂,但我就是强行理解。”

在大一下学期转专业的活动中,他凭借自己半年多的自学成果拿到了转专业资格。此后,Vace 在计算机类开始了新的大学生活。我问他真正到了计算机类学习,会不会有一些意料之外的事。Vace 大一双 Larry,那对于这个问题,Vace 想都没想就说出了他的答案——教做人的高程。

- “上 Larry Shen 的课印象最深的是什么?”
- “……”
- “也不是说具体某个内容啊,就是整体有什么深刻的感觉。”
- “反正我就记得他说我们做的都是小儿科。”
  “我当时觉得自己学过 C++,但是去听他的课,他是从最基础的开始讲,从计算机的内存开始讲。
   这对于理解计算机是很有帮助的。”
  “我觉得 ‘编程习惯’ 与 ‘工程思维’ 非常重要,在高程课上能学到这个就可以了。”
  “不要妄图学会 C++。”

Larry Shen 的高程大家都清楚。依我看来,Vace 后面的经历与他第一个大一、第二个大一所学内容脱不开干系。

在那个学期

Vace 让我最为敬佩的是他的 “时间管理” 能力。第六学期中期,恰是各校夏令营报名的时间,我在去教务处盖 “院长章” 时偶遇了要盖 “学院章” 的 Vace。“学院章” 需要去三楼盖,所以我就留在教务处看管他的书包和其他资料。当时,我的眼神不由自主地瞟向了他 “北叉夏令营申请表” 中的 “个人陈述” 部分。我大受震撼,因为直到那时,我才知道他原来做了那么多工作。

由于他大部分项目经历都是在 2020 年春季学期,所以为了下文表述顺畅,我统称 Vace 的大二下学期为 “那个学期”,还请大家注意。

- “Vace,其实我一直很想问一个问题,就是你好像和很多学院的同学或者老师做过项目。”
- “哈哈哈,有的时候我也会有这样的错觉,但细想的话也没做过几个。”
- “我感觉很多呀,电院、交运、海洋、环境、设创、经管……”
- “我觉得经管那个不算,只是和同学合作过两个大作业。”
- “还是很多的,我想问你是怎么了解到这些项目的,又是如何联系老师的呢?”
- “那我一个一个给你讲。”

可能是因为我们坐在通达馆,所以 Vace 首先提到了与交运学院合作的项目。与他同一小组的,是他在校学生会认识的 18 级交运同学。交运学院每年都会举办名为 “交通科技大赛” 的赛事。这个比赛会吸引数百名学生参加,从数据来看,可以称得上是交运学院无人不知了。

在 “那个学期”,Vace 所在的组使用了一些机器学习的方法解决交通大数据问题——通过 GPS 轨迹识别车道的渠化信息以及路网的连接状况等等。

- “那你在这个项目里面负责什么呢?”
- “当时我看了几篇论文,汇总了几类可能用到的方法,并且把它们的优缺点列了出来。”
  “我以为通过将整个项目划分成几个阶段,再用适当的算法解决对应问题就可以了。”
  “但像 ‘如何切分项目’,还是得依靠交运的同学来做。”

在 “那个学期”,我仅仅是完成课程必要的作业就已经左支右绌了。反观 Vace 当时与就读于海洋学院的高中同学一起参加了 “中国大学生计算机设计大赛”。这个比赛不是计算机专业的学生才会参加的比赛,有许多非计算机专业的同学会拉几个相关专业的学生 “入伙” 一起参加。

- “大一那一年我高数和大物都修过了,所以第二个大一那一年我没事干。但为了凑够 18 个学分,我就去修各种各样的课,其中就包括一门经管学院的 ‘数据库’。”
(P.S. 凑够 18 个学分自然是有用的,Vace 同学拿到了 2018-2019 学年度的国奖)
  “那个老师非常好,恰巧我的两个队友都上过那门课,所以我们就找了那位老师。这位老师每年还会带学生参加比赛。”
  “老师特别懂比赛该怎么打,在答辩方面提供了很有价值的改进意见。”
- “我觉得对于拿奖的话,这些指导是非常有用的。”

Vace 的这个项目主要围绕 “海洋大数据” 与 “可视化分析” 展开。而要说到 “可视化”,就必须要提到 Vace 参加的另一个组——他几乎同时期在一位设创学院的教授手下学习 “可视化”。也是在这个时候,他开始了解图形学和可视化,尽管时间比较短,但整个聊天聊下来,我觉得这对他未来的影响不可估量。

- “当时我正在学习可视化分析,并且先前也学了数据库,所以很多事情是不能孤立来看的。”
  “记得是用了一个 SQL Server 和一个 MongoDB 来存储数据。”
- “一个关系型一个非关系型?”
- “其实就是乱搞讲真的。但是看起来用的东西很多很丰富。”

我虽然视这种比赛为 “套壳比赛”,但哪怕是从这个角度来看,Vace 也套了足够多的内容:他用 C# WinForm 开发窗体;用 CefSharp 在里面嵌入了 Chrome、嵌入了可进行交互操作的地图;还写了点 js;写了点 Python;嵌入了 MATLAB 做数据分析。

- “我觉得我大一大二就是这样的,每方面都学了一点,但每方面都学得不精。”
  “最后就是乱搞。”
- “哈哈哈哈哈哈哈哈。”

虽然过程有些曲折,但他所在小组的作品还是有惊无险地进入了国赛,并且拿到了一等奖。

在 “那个学期”,我和 Vace 还在一个项目组中一起写前端。这是一位电院老师接到的项目,那个时候我抱着 “准备就业,学习前端” 的想法参与了这个项目组,而他比我稍稍晚了三四个月进组。由于我在此之前就曾在那位老师的另外一个项目中待过一段时间,所以我是被老师拉进去的。但 Vace 之前并没有与那位老师有什么联系,我也非常好奇他为何 “阴差阳错” 地进组。

- “当时我本来想选 Web 开发,但我最后还是没选。因为那个课是周五早八。”
- “啊对对对!我选了也起不来。”
- “但我还留在课程群里。暑假的时候,老师就在群里发消息,我看到就去了。”
  “一开始是写 Qt 的,写得很无聊。后面就跑到你那儿去写 js 了。”
  “再后面你也跑路了,我就开始另外一个项目。”

也还是在 “那个学期”,Vace 受先前在校学生会认识的朋友邀请,加入了环境科学学院的一个准备参加 “环科赛” / “互联网+” 的创业项目组。

- “那个时候我本来就有海洋、交运两个项目,加了这个之后我的日程表都是满的了。”
  “到了期末的时候我快炸了。”

Vace 后面也拉了我进组。我对这个组印象极为深刻,因为我与这个组后面的领队产生了一些不愉快,所以中途退组了。但 Vace 还是留在组里干了比较长的一段时间,原本两个人的工作量这下全落到了他一个人身上,说老实话我现在回想起还是觉得有点不好意思。

- “后面我想那应该是老师的任务。”
- “确实是。”

一开始我们的领队是一位 17 级环科专业的学生,那位学生比较理解和尊重我们这些鼓弄工具的人,但可惜的是中途易帅,项目 leader 换成了一个博士研究生。那之后这位博士生拉了一些环科学院比较活跃的本科生,再之后又骗了几个经管的、计算机的,最可气的是还带了一堆沾亲带故的人。最后,Vace 的名字都快排到第十了,而前面的一些人甚至从来没有出现在项目讨论当中,更不要说论贡献超过 Vace 了。这件事是让我对组队比赛心灰意冷的最关键因素,在这里我夹带一点私货,希望各位在组队时擦亮眼睛。

- “我觉得这个项目没有什么可以拿出来说的。唯一有点用的就是发表了一项 ‘软著’。”
- “哈哈哈哈哈哈。”

在 “那个学期” 后的暑假,Vace 身上的项目都进行得差不多了,突然觉得闲下来了的他又找起了事情做。2019 年秋季学期,我和他以及其他一些降转的同学都提前选修了计算机类的 “数据库系统理论”。那门课的任课教师告诉我们,说是实验室新成立了一个 “量化交易协会”,可以提供一个学习 “量化” 的平台。我对此印象比较深刻,因为我还参加了实验室中一位博士生的线下讲座,我现在还对他所讲的 “海龟交易法则”、“K 线图” 有些许记忆。对于学院做量化的老师,Vace 左思右想能想到的只有那个老师。

那位老师让他实现一个策略,并在某个量化交易平台上模拟操作。

- “我最后都不知道我那个算成功了还是失败了,虽然说收益率有 60% 多嘛。”

大三上学期,Vace 从计科转入了信安,所以他还必须补 “信息安全数学基础” 这门课。于是这个期末也是让他过得很煎熬,没有多少时间花在 “量化” 上。但不管怎么说,他都实现了一些策略,这为他后面得夏令营面试创造了不小的优势。

- “我大三上还选了 ‘数据挖掘’,那次期末是让我们炒股。我就用一个 LSTM 炒,自己都觉得很离谱。”
  “但后面参加北大夏令营的时候,有老师还认真地和我讨论了一下,虽然说我用的技术很落后,但还是有一定合理性的。”
  “这段经历加起来还勉强算得上是一个项目吧。”

在那个夏天

参加夏令营 / 预推免估计是那年每一位保外生的共同记忆。在我看来,2021 年 5 月 27 日,清华交叉信息研究院的报名截止,宣告着保外生的角逐正式开始。

其实夏令营报名是很早就开放了的,但我不知为何,那段时间总是提不起兴致,以至于到了 5 月末才开始狼狈地准备各种材料。这种忙左忙右兜兜转转的生活从 5 月 28 号持续到 9 月 28 号。Vace 说他也很狼狈——清叉是最先截至并且材料较为复杂的一个营,成绩单、中英文个人陈述、奖项复印件都是在那个时候第一次准备——“但只是去做好手上的事”。

这里简单说下故事背景,Vace 和我都是 18 级信安专业的学生,仅仅从绩点上来看,我算是所谓的 rk1,而他紧随其后,绩点上我们相差的并不多,填报夏令营时仅有 0.04。但我们的填报策略迥然不同——我没有报清北属下的任何夏令营,而 Vace 填报的大部分是清北营。最后他拿到了清华叉院、清深大数据、北大信科、北大未来技术学院、复旦计算机、密院科研实习、南大 LAMDA、南大人工智能、计算所的入营资格。而我虽然报的都是华五及以下,但只入营了两三个。这件事充分说明了 “只有绩点啥用没有”,不要因为自己排名靠前就觉得初筛必过,还是要 Experience 的。

Vace 实际上还投了清华软件学院、北大叉院、人大信院、南大软院、清深计算机、清深人工智能、交大等夏令营。但由于某些学校的特殊制度与其他原因(比如南大的人工智能、计算机、软院在 2021 年只能入一个,清深的三个项目也是只能入营一个),导致可能没投报过夏令营的同学觉得 Vace 的入营情况很一般。依我看来,Vace 这样已经非常强了。在那个夏天,相信院内也不会有几个人比他入的营还多。当我问他是按照什么策略报夏令营时,他告诉我:“我报的营只要给我发了 offer 那我都愿意去,因为我是按照自己的兴趣报的。我最想去的是交大,但它连营都没让入。”

- “那么在你参加的这么多夏令营中,你印象最深的是哪个?”
- “肯定还是清深大数据。”

清深大数据开营后,把所有人拉到了一个微信群,并让学生三三组队做项目。于是这时,就会有一堆简历刺眼的人在群里进行自我介绍。但最后简历出色的人可能没有拿到 “优营”,拿到 “优营” 的人也不是都拿到了 “预录取”。(清深大数据就是经典的 “优营不等于录取”,拿到了 “优营” 后还需要面试一轮)

Vace 的清深项目经历并不顺利,因为他组到了一个很划水的队友,那个人干过的事包括但不限于 “不干活玩失踪”、“服务器画饼”、“抢占报告时间” 等等。但好消息是最后 Vace 和另外一个干活的队友拿到了 “优营”。

- “中午结束,下午答辩,结束后就拿到了优营,第二天上午又开始面试。”
  “那个面试是我夏令营发挥最好的一次。因为我觉得这辈子上清华的机会就这一次了。”

面试反而没有前面的组队项目那么煎熬——通过阅读论文片段并翻译考察英语水平,通过一道简单的概率论题目考数学功底,接着就是对着 ppt 自我介绍。面试老师看到了 Vace 来自信安专业,就问了下 “公钥密码体制”。好在 Vace 在刚刚过去的那个学期中学了 “密码学”,这个问题自然不在话下。此后,老师还问了 “椭圆曲线” 的相关问题,恰巧在 2019 年和 2020 年的寒假,我、Vace 与另一位志向读信安专业的 Eol 一起写项目。在那个项目中,我和 Vace 都负责后端,而他选择 ECDSA 作为我们项目中 JWT 使用的摘要算法。

面试过后一周,Vace 在焦急中等到了清深大数据的 offer。但他最后却没有选择清深作为最终去处,这是为什么呢?

2021 年北大信科将夏令营时间一拖再拖,前后整整拖了一个月。这之中的原因有很多,但在我看来最重要的原因应该是北大信科拆院。Vace 在北大夏令营中报的是直博,所以面试时间相当之久,算上 ppt 自我介绍,总共有半个小时。面试中,老师特别感兴趣他的量化策略:

- “老师问我:‘你这个现实吗,能达到 80% 的准确率吗’。”
  “我当时就很诚恳,涨跌本身就是个二分类问题,乱选都有 50%。”
  “因为只是在局部数据上训练模型,总会有局部适应性。它只是在这个数据上表现得比较好,但实际上没这么好。”
- “太老实了。”
- “对对对,反正我就是立正挨打。”

最后,坐在屏幕对面的北大老师们反复确认给 Vace 发了 offer 会不会来。这里再夹带一点私货,无论如何,遇到这个问题都要说 “会来”,而且不要有一丝犹豫。

- “我说,我既然报了就说明我愿意来。”
- “然后就发了?”
- “对,过了三天就收到了。”

但实际上,在这之前 Vace 已经收到了清深的 offer

- “我就很纠结。”
- “那你怎么办?”
- “我麻了,过了几天就回家去想。想了差不多一个月。”
  “最后解决办法就是再报一个。”
- “嗯?啊?”
- “解决办法就是报一个更想去的。”

Vace 在想,要不要冲 “贵系”,要不要冲清软。但 “贵系” 四个小时机试确实顶不住,清软后面思考再三也没有动心。最后 Vace 想到了 “贵系” 与美院联培的一个交叉项目。如果有能力选择的话,那么需要考虑的方面就会有很多——地域、导师、研究方向、职业发展等等。在 Vace 看来这个项目综合考虑下来是最完美的,但问题是要过清华美院那一关——作品集。

我从座位上站起来,坐到了 Vace 旁边。由于 2021 · TJCS-F2F 在我心中主打的是 “文字”,所以就不放图片了。我只能说 Vace 的作品集非常美:

- “我之前在学生会的时候,碰巧是学生会百周年。那个纪念刊的美术设计就有我。”
  ……
  “这个是企业形象设计,那个课上我做过一个 logo。当时做了也没想到有什么用。”
  ……
  “我把党建平台的 UI 放上去了。”
  “这个是数据库的课设。”
  ……
  “还有一个就是可视化的嘛,而可视化本身就有设计。”
  “这个是海洋的项目,这个是交运的项目。”
  ……
  “就是很巧,上周我给学弟分享,就说到这一点:
   ‘你在大学中做过的每一件事,都会在将来成为你与众不同的原因’。”
  “我当时就觉得,我在大学里做的事情,就是为了这个交叉项目来的。”
  ……
  “缘分还是很奇妙的。”

恒常问题

- “其实感觉前面说了挺久的,最后我再问三个问题。”
  “首先第一个问题,如何评价自己的三年本科学习经历?”
- “学习经历吗?”
- “呃……经历吧。”
- “哈哈哈。”
- “哈哈哈,我知道,就说经历吧。”
- “大学三年……或者说四年吗,不完全是为了学习。
   我自己就是各方面都涉猎了一点,但都不深。
   我现在就是 ‘上了操作系统还不知道怎么写操作系统’,就是你骂的那种。
   ‘学完计组还不知道 PCI bus 是什么’。”
- “哈哈哈。”
- “但我觉得,让我搭一个小网站我还是可以搭的。”
- “哈哈哈。”
- “让我快速学习一项技术、实现个算法或者搞点科研还是可以的。”
  “我觉得还是考验缘分。你与其他人的缘分,与自己的缘分——现在自己与未来自己的缘分,你能达到哪一步……
   就比如大一的时候,我是不会想到现在我是一个怎样的人。
   但中间会经历很多事——有些是自己去找,有些是找上门来自己抓住了。”
  “总之各个方面,包括在学生会,我有一段很美好的经历;
   志愿活动与社会实践,也做过一些有价值的东西;
   在专业领域或业余方向,也能找到一个怡然自得的状态;
   在个人感情上,也去主动追求、主动把握;
   在内心成长,价值观、世界观、人生观,思考的方式,涉猎过的文化……”
  “虽然不可能每一方面都做得很完美,甚至在一两个方面做到完美也很难,
   但我每个方面都顾及了一些。”
  “我对我前三年,或者前四年的经历是很满意的。”
- “好的,那下一个问题:如果给你一次大学重来的机会,你会在哪些地方做出不一样的抉择?”
- “嗯……就像我说的,大学的成长既要考虑历史的进程,也有个人的努力,还有一些阴差阳错的缘分。我觉得在哪一个节点做改变,都不一定会带来更 ‘好’ 的结果。
   这个 ‘好’ 可能是个人评价,也可能是世俗标准。”
  “我觉得我这一遍已经很好了。”
- “能否站在大四学生的角度,为大一、大二、大三的同学各说一句话呢?”
  “首先对大三的学生吧。”
- “我觉得大三相对来说是比较难的,因为形态已经相对固定在一个范围了,但还是有机会去提升一下自己。
   大三最重要的就是确定自己的目标,确定自己今后一两年甚至三五年想要做什么。”
  “我觉得做决定是一个比较奇妙的事情,一旦你认定了要做什么,至少未来一两年就会比较明朗。
   大话上说起来是这样,但具体的操作肯定很煎熬。”
  “专业知识可能很多人在大三才开始学,但是大三的时候或许有些怠惰了,一摸就摸过去了。
   如果基础不够好,那还是可以提升自己的基础。
   专业课不一定每门都精通,但要精通自己需要的那一两门。”
- “接下来就对大二吧。”
- “我觉得大二要有很强的抗压能力。大二是最容易一下子过去的。
   如果仅仅针对济勤学堂,课比我们当时还多。”
(P.S. 我在这里给 Vace 盘点了一下 20 级信安第三学期的专业课表,Vace 听后是这么说的)
  “那麻了,大二上就基本毁了。
   但还是得讲点。
   大二是可以用来尽情拓宽自己可能性的一年。
   如果你主动去尝试的话,你的未来都会发生大的转向。
   如果你按部就班地走,你可能会收到好的绩点。”
- “也不一定。”
- “他们太难了。大二不管是竞赛、科研、实习,还是各种方面的学生工作或是实践,都放手去尝试。
   大二主要要有雄心壮志。课再多能有别人 ganler 大佬多吗?”
(P.S. ganler 大佬来自 17 计科,是我眼中的神)
  “反正大二这一年一定要做一点与别人不一样的事。得有一点追求极致的想法,去向更优秀更好的地方尝试。”
- “接下来说说对大一的吧。”
- “大一就太多了,想干什么都行。”
  “不光是绩点,大一学的课很多,也很必要。
   就比如数学,你学得普通和学得不太好可能没什么区别,但如果你学得好,那未来可选择的就更多。
   好的数学和编程基础会让未来轻松很多。
   绩点当然也很重要,要是绩点崩了后面压力就很大。”
  “其实大一和大二一定程度上一样的,要大胆去尝试。但大一更大胆,可能你会得不多。
   但你各个感兴趣的领域都要去尝试。
   你也可以四年都搞学生工作,毕业走选调,或者留校做行政。”
  “尝试的同时,尽量在一两个地方找到能够深入下去的点。
   不管什么时候,都要去了解、主动把握机会、获取信息。”

开放问题

- “其实那不是最后三个问题,我还有一个问题。”
  “但这个问题刚才你说的时候我就一直在想,可怎么也没想好。”
  “我想问一下,有没有去过哪些好玩的地方。”
- “周边的商场不外乎南翔印象城和万达。但我可以给你推荐几个地方看展。”
  “PSA。”
- “PSK?Pre-shared Key?”
- “是上海当代艺术博物馆。还有新开的浦东美术馆也不错”
  “有一个 APP,叫 iMuseum,你可以看同城的博物馆、展览有哪些。”