Do not go gentle into that good night.
半年以来的尝试与思考,总结一下。
我热爱一切不彻底的事物 琥珀里的时间 微暗的火 一生都在半途而废 一生都怀抱热望
转眼间时间就来到了六月,大三一年即将结束,这是充满机遇和转折的一年:这一年我做了很多尝试,努力摆脱以往线性的思维方式,探索未来可能的发展方向,同时也遭遇了一些挫折的打击,导致最近一个月都处在一个浑浑噩噩、自暴自弃的状态。谨以此文记录我一年多以来的思考和生活,正好整理心情,重新出发。
Part1: courses & exams
在大三刚刚开始的时候,我顺利拿到了第二次国奖,不同于第一次的激动,这次我的心情非常平静。经过大二这一年,我已经对于卷成绩、卷素拓感到十分厌倦,考虑到本专业较离谱的卷度(可能是我太菜),想要拿到第三年的国奖,对于我来说还是要付出比较大的时间精力的(尤其是素拓),并且拿很多年国奖也没啥用,于是我决定在基本稳住成绩的同时多干些其他的事情。
大三上学期仍旧是疫情时代,2/3的时间在上网课,对于我这种阿宅来讲,上网课无疑是极大利好:不用通勤,可以不听直播看回放,时间安排灵活自由。于是这个学期的课基本上都划水划过去了,但是常言道:“常在河边走,怎能不湿鞋”,这个学期美美错过了chp老师的随堂小测,还出现了老师上课点我回答问题叫了好几遍发现我不在的尴尬😇局面。
到了十二月份的时候放开了疫情管控,学校出现了感染的高峰,看着水源里面的症状描述我有点害怕,于是决定润回家。结果在考试周前的一个周末、也就是元旦那天喜提新冠阳性(后来得知坚守学校的室友一直没阳🥲),考compiler的时候还在发烧。由于一个学期的摆烂 + 考试生病,最后成绩出来不太好(不过也还行),于是痛定思痛决定下个学期好好学习。
结果到了大三下还是没有好好学习,这学期课少了一些,由于我决定试着找找实习,这个学期的课除了OS以外,其他的课基本上都摸过去了(甚至比上个学期摸得更厉害🤣),考试周因为心情原因更是在摆烂😢。
Part2: coding
这一年写的代码大概可以分为几个部分:labs & minik8s,jump的project,ipads的实习project 还有 leetcode。
大三上学期的compiler和CHFS文件系统,明显感觉要比大二下学期的lab要难上一些:compiler后面的几次迭代都要花上三天甚至更长的时间去完成,通过这个lab额外收获了一些 modern C++ 的训练;CHFS的随机test经常让我debug到人恍惚,raft部分有些难但是收获也很大(我觉得CHFS确实是写过最有意思的课内lab)。大三下学期的chcore压力就小了很多,但是需要写报告👿。
9月份开始参加和jump合作的项目,写matching engine + rdma优化,基本上在10月份rush完了matching engine + gateway的逻辑,说实话,这个项目是我第一次从头开始搭C++项目的架构,最后写出来有很多冗余的地方,出现了无意义的多次拷贝,后来2月份的时候又重构了一次;11月中旬的时候开始尝试rdma,rdmacm和ibverbs确实非常不好用,翻遍了GitHub,最后找到了一份代码并把它改成了可以支持多个client和多次传送消息的echo版本,但是发现还是很难做到io多路复用(这个版本最后直接用在最后的测试任务上了,还是为我们节省了一些时间),最后决定用socket like
的rsocket,事情一下子就变得简单了。
10月份的时候通过了ipads的面试,11月底的时候开始做项目,和yy还有沈哥一组,我负责写云服务器上的部分,难点主要在foundationDB的SQL支持(同时还要支持索引),一开始图方便用python的第三方库做SQL解析,后来觉得这样对于SQL的支持还是太差,于是决定用java重写整个项目,用calcite做foundationDB sql adaptor,后来又仿照InfluxDB做了时序数据库的优化,本来想要做成类似源码中java api的那种形式,可是最后还是偷懒用了grpc。
做完ipads的项目后,我和yy还有沈哥一起写了云OS的miniK8s,经过前面三四个月的配合,我们这个项目的合作非常愉快。与此同时,经过前面两个项目的毒打,我感觉k8s写的过程还是比较流畅轻松的。
这一年中,断断续续刷了不少leetcode,大三上学期出去隔离的时候,不想写lab就在刷leetcode,寒假不想做项目的时候也在刷leetcode,不得不说刷leetcode是一件非常让人容易快速获得成就感的事情。3、4月份的时候在找实习,基本上每天都在坚持刷题,做题量基本上double了。
Part3: future & thinking
在大二的时候,我对于未来的期望是留在ipads读个硕士,硕士毕业之后找份大厂的工作。22年的春招让我意识到了互联网寒冬的威力,但是也想着是先读个硕士观望一下。大三刚刚开始的时候,任老师在群里发了jump的项目,wjr和我说这可能是个不错的机会,于是我也去试着报名了,接下来跟着任老师做了将近半年的项目(这个项目实在是拖了太久),想着如果有实习的机会就去试试看。悲催的是2月份项目快要结束的时候,公司那边说缩招,只有一个实习的名额😇,当时我在忙着ipads那边项目的重构,和任老师讲我可能没有什么时间搞jump这个项目了,没想到就被任老师说服去尝试一下optiver了🤣。
接下来便是漫长的找工之旅,除了optiver以外还顺便投了BAT几家(后来ipads通知不许暑期实习,也就没有接着投),发现最难的竟然是过简历初筛和英语口语。optiver面了一个多月,走完流程还是被waiting list了😥,当时还是挺失落的,毕竟自认为每一场面试都在非常认真的准备,对于这个offer也有很强烈的期望。
最近一直在复盘找工作的这几个月,不得不说自己的能力真的和dream job的bar之间还有一定的差距,于是决定下面还是安心念书,多写代码多看书。但是总的说来,找工这几个月,确实让我好好复习了基础知识,同时刷了不少leetcode,将来还能用得到,总之不亏。
Summary
这一年确实非常精彩,发生了很多事情,虽然兜兜转转还是回到了计划的原点,但是尽力了便不会后悔。最大的缺憾是没有好好玩😤,大三下学期明明这么空闲。希望暑假和大四能够多出去走走,过得更加轻松一些。