我的2019
2019悄然而过,过去的一年,大大小小事情许多,而站在2020回望,似乎除了考研,与我有关的,实在不多。适逢新型冠状病毒肆虐,诸事皆歇,得空搭起博客,也算整理千万思绪,展望一下迷茫的未来。
考研
考研的复习始于面试受挫,这么说恐怕不对,因为真正的面试甚至都还没开始。看到牛客网上的面经,拿到大厂offer的兄弟几乎都是985或是211的硕士。面试的主要知识点说不上多么深入,无非是老生常谈的那几本书,那几个知识点,但是,要谈项目经验的话,我实在是没有能拿得出手的的东西,倘若硬要尝试大厂,恐怕只会撞得头破血流。再以本科杭电的身份自处,两相比较,最终还是选择的考研。现在回头想想,哪里会有公司要求一个大三的学生有光鲜亮丽的实际项目?然而话又说回来,现在无论是BAT还是公职单位,没有硕士的文凭,上升空间实在是小之又小,几乎埋下了35岁被清理的引子。当然强的不像话的我们另说,比说A校CM队的同学,有拿到阿里,微软实习的,有保研浙大的,实在不是能够与之同台竞技。
复习过程乏善可陈,大约与996无异。早上八点半起床,九点到图书馆,复习两个半小时,中午十一点半去吃饭,小睡一会,下午一点半起床去图书馆,复习到五点钟,吃完晚饭,去寝室休息到六点左右出门,到图书馆复习到九点或九点半,然后结束一天复习,回寝室准备睡觉。平心而论,我的复习时间不算长,但效率要比绝大多数人强上不少,几乎不停笔,算是复习卓有成效,可惜天不如人愿。
值得一提的,是九月中旬考研报名。在浙大和中科大犹豫不决。本来是首选浙大计算机,但是,实在是太难了。清北的计算机自主命题,严格控制分数线,所以公认最难,而浙大则是公版的数一英一408,但是浙大的分数线之高令人发指,我个人觉得难度几乎与清北齐平。中科大软院招人多,分数低,但是没导师,认可度没浙大高,虽然难度比浙大低一档,但是考上后的加成也要低一档。马克思说要结合实际,具体问题具体分析,还是得看自身情况呀。通过以下四点考虑,我最终选择了中科大的软院:1.上浙大可以说只有一层把握,考不上研究生过去一年的努力就等于白费。2.我准备的方向是后端,做中间件或者分布式,这些方向的学习资源非常丰富,完全可以自学成才。3.没导师确实少了很多帮助,但另一方面,没了导师可以说未来所有时间都是自己的。想做什么方向,想怎么安排生活自主权都在自己手里,或许更适合我。4.科软再菜也是C9呀,虽然不比浙大的牌子响亮,但是比杭电总归要强得多。
然而,一切都终结于2019年12月22号上午。数学,我最有自信的一科,炸了,血炸。考到一半的时候,我慌了,犯了大忌,尽力想冷静下来却办不到,那一刻,我的考研就结束了。无论我其他三门怎么发挥,恐怕也难以挽回这科的劣势,甚至于单科线都很难过。刚刚查了文件,大概还有十天出分,希望渺茫,虽然一路走来早已做好了最坏的打算,但八个月的努力白费总归是意难平。
只能是尽人事,听天命。
创新实践
这门课实在是麻烦得要命。但总归能学到一些东西。
大学所谓的teamwork其实是solo-teamwork,大学四年,除了一门课的teamwork划水划过去,其他的我几乎都干了70%以上的事。有趣的是,我那一次的划水竟然被大佬喷了,虽然能体会那位大佬的干了90%的活的心情,可是当时我等了一个半个小时也等不到回复信息,以为没有问题就睡觉了,结果被喷就难受了。言归正传,这次teamwork我干的活大概也在90%左右,10次ppt,8篇paper的资料,实验重现几乎一力完成,但是付出总是有回报的。大学里,同学间,师生间大多留点情面,但是毕业了,遇到这种事却不能马马虎虎,多带一个名字就过去了。这就要说到展现自我的能力了。
以前总认为闷声发大财,是金子总会发光的。但现在看来,发大财的时候肯定是不能到处讲的,免得遭人嫉妒,而后者则是所谓怀才不遇的人的自我安慰。到了大学,终于明白信息不对称随处都在,尤其是到了求职的时候。你说你厉害,我怎么信你?总是要拿出一些东西来证明的。挑战杯之类的比赛水吗?水,真的水。但是在面试官眼中,你没有ACM的奖项就算了,但这么水的挑战杯也没有,那岂不是更水吗?简历里什么都没,怎么让人相信你水平高呢?有能力,要展现出来,多参加比赛,拿个小奖,奖不是奖励,是证明,证明你的能力高于同龄人。同理,以后团队工作,要让上级看到自己的工作量,不然别人就要以为你是混日子的。
这门课充分锻炼了我的看论文的能力。以前看到全英文,很容易怀疑人生,感觉看完几乎是不可能的任务。但是这么多论文看下来,终于养成了看论文的能力,现在总算能拿到论文不慌,知道重点在哪些段落,哪些细节需要注意,把论文从头到尾看完,还能再做一个报告。这个能力我以后应该是要受用无穷的。但是,前几天找的分布式存储的论文还一个字没看呢。
这门课暴露的我的一个不足,就是表达能力不行。做汇报的时候,往往会觉得力不从心,懂得说不好,表达不出来,不能很自如地边讲话边思考。以前看演讲,觉得这个不行那个不行,没想到最不行的是我自己。追根溯源,是两点,1.本身对报告的内容不够熟悉,细节掌握的不够充分,没有一个清晰的思路。2.演讲能力的不足,这个不仅仅是需要锻炼,最好有稿子,最不济要有一个大纲,然后要提前准备,反复练习。
千言万语,这门课终于结束了,天知道有多push。
GSoC
申请两次,被拒两次。那感觉就像是精心准备的表白,被女神无情拒绝。
第一次申请时的我实在是too young too naive。我单以为只有我一个人申请就只能给我,没想到还能谁都不给。这次申请的是小组织的小项目,更新下API而已,哪里有什么难度。可惜当时无知,proposal写得跟官话一样,满口空话,实际项目相关压根没写,怕是换了我自己也是要拒绝的。
第二次申请的真是大项目呀,阿里的RPC框架Dubbo,要是能给它贡献代码,BAT躺着也能进去了,可惜没拿到。一开始的项目是加一个Consul实现的register,虽然有难度,可是说不上完成不了,花点时间怎么也能写出来。整了大半个月,proposal都快写完了,结果说社区里有人实现了,当时真的傻了。硬着头皮换了项目,用gRPC做RPC的第三方协议,看着很合理,写起来完全的另一回事。gRPC的API和dubbo的思路完全不同,最后还得回到Netty上,我真没研究过Netty。也知道多半是申不上的,但还是磕磕绊绊交了proposal。当然,没过。
话虽如此,但还是能学到不少东西的。我学会用Mailing List了,看得懂Apache的issue管理了,能写英文邮件了(直接导致我英文邮件写得比中文顺)。重要的是两点,1.不怕所谓的开源社区和开源项目。其本质就是一帮在世界各地的人,给同一个项目写代码,想参加进来的前提是把与自己相关的代码看懂。2.敢去看大型项目的源码,尝试去理解其用意。之前从没有真正地看过这些项目的代码,但这两次是实实在在地去阅读代码,将其个部分联系起来,并在本地调试。这是程序员进阶的必要技能,这次算是点了一级,来日方长,慢慢升级吧。
这三件事算得上我去年最重要的事,都不算圆满,但多少能从中学到一些经验。
但愿今年,健康平安,劳有所得。