2022年终总结

22年的结束

如果用一个词形容我过去一年的话,那个词就是乱七八糟。

一二月份开摆的很开心,熬完期末考试就是一月中旬,然后过年,然后就快二月份了。。。每天浑浑噩噩没有动力,刷刷力扣Top100,刷累了就玩。。。期间比较难崩的是我计组挂科了,作为刷完了CMU15-213和CSAPP并完成书习题和课Lab的人应该不大可能做到计组挂科,但是老师讲的内容实在太过无关紧要以至于我一节课也没听过,于是就挂了。。二月开学,花了一周半时间把计组课本看了一遍习题也做了一遍,补考轻轻松松通过。

又过了两周,三四月份的时候,发现自己的准备进度慢了好多,而暑期实习招聘的时间也比我想的要早,于是赶紧努力刷题背面经。投了一些公司,但除了百度没有一家给面试机会,而百度的面试也寄了。我自我感觉笔试做的还可以,基本是全做出来或者只漏一道,感觉不至于没面试机会。后来反思了一下原因,一个是22年大环境寒冬;二是学历双非本科;三是太高看自己了,投的都是比较大的公司,而且投的数量太少,我当时应该海投的;四是投的太晚了,别人都是二三月份投,而我是四月才开始投,很多公司都没多少hc了。。。

四月底的时候投了 dolphinDB,笔试加两轮面试,感谢公司收留,不然真的要直接转战23考研了。。具体面试可以看之前的22年6月的博客,这里不再重复。反正稀里糊涂的我稀里糊涂地从服务器开发的方向来到了数据库的方向。

五月收到实习offer,其中有个大无语事件就是 OC(offer call) 时自己降智反向 battle,成功地把 offer 日薪降低了20元,从此我对HR感到深深的恐惧。。。除了这个外挺快乐的,暑期实习有了。

六月划水摸鱼,看了看15-445但没看进去多少,忙着期末考试。六月底自己坐动车去杭州,租房,买生活用品,买桌子和椅子。

Fourth of July 入职,开始做 Python Parer 的工作,主要是支持 Pandas 和 Numpy库,从七月一直做到了九月份。工作内容和数据库没啥关系,主要是熟悉了公司的开发流程,做了些后端工作,修了些不大重要的bug。期间被独立生活搞得身心俱疲,冰箱坏了,联系房东要发票维修证明,联系维修人员被放了好几次鸽子,等了快一个月才修完;修床,床的支架坏了,买螺丝买支撑角;中途battle押金,签了一年合同,提前终止需要转租才能退,但我找谁转租去,battle失败。总体来说七八月期间基本没学多少东西,除了接着刷了些题看了看面经想着秋招的事。

九月十月基本适应独居,适应杭州生活,去了两次西湖,每一次都是人巨多,甚至挤不到湖边。杭州的天气是真的热,一个月里面五六天都是42度这种高温,简直离谱。工作上开始转成做 SQL Parser,好歹和数据库有关了,项目挺急的因为要赶客户的POC期限。后来转到 API 这边了,虽然 Parser 也是数据库的一部分,但显然没那么重要,到 API 这边可以更好的跟进客户需求。

这期间终于没那么疲劳了,但秋招已经开始而我的准备非常不充分,于是直接放弃。下班后不想写代码,于是只是刷完了 15-445 的视频,把课本《数据库系统概念》那本黑书看了两三百页左右。

有点要吐槽的是 start up 公司的管理确实有些混乱,我从做 SQL Parser 后就没有 mentor (之前的 mentor是做 pandas 和 numpy 的,而且我也转到API部门)了,而 API 这边的员工也都没权限看 server 的代码,而且因为这一段时间因为是给还没付钱的客户做原型验证,又拉了一个单独的分支让我负责。。。于是出现了神奇的一幕————没有 mentor,没有设计讨论,没有 review,而我接受时对这部分Parser代码的又是零了解,而且这部分又是几乎零文档和零注释,
于是我写了一些让我现在看我自己都脑淤血的代码。。。

现在回想起来我当时应该早点沟通的,十分钟的讨论就能避免之后半天工作量的重写,没 mentor 不代表没 leader,当时我有点懵圈不知道该问谁导致了好多脑淤血代码以及之后的重写。。。而且很多任务都是必须协作完成的,甚至横跨几个部门,只能说多多沟通。我感觉我实习中最大的问题就是沟通太少了,导致了很多时间浪费,也不是沟通障碍的问题,只是学生思维搞得我不大知道什么时候该去沟通;当然第二大的问题就是我太菜了捏。

十月底发了意向,虽然没做内核(因为太菜了),录取到了API部门。感谢胡神的battle,不然我现在正在准备春招。。。965满意,工资也满意,感觉挺好的捏。

十一月把三方签完彻底安心,不用担心失业了。这个月客户的POC项目也做完了,客户也挺满意的,后来也签了合同了。之后一直到十二月,工作转成支持 SQL-92 的一些特性,期间修了一堆又一堆的bug,也发现自己的代码确实不怎么样,其中一大原因是接口不熟悉,不知道用哪些接口比较好;另外一大原因就是对向量化编程了解太少,设计的性能上不去;然后一些是因为 C++ 水平有点低,代码质量确实够呛,虚函数之类的地方用的太多之类的问题。另外也修复了几个插件的bug,发现API这边的工作确实比较赶,都有明确期限的,很多都是要求当天就要修复。

期间开始看 6.824,但摸鱼了挺久,看完 raft 后暂停了,忙着寄行李回家。因为疫情放开,杭州没法寄行李到青岛。幸好我提前用中国邮政(其他的没法寄)寄了一批行李,当我要走的那一周开始寄行李时,彻底没法寄了,体验极差,打了十几个电话,试了十几个快递公司都不行。于是只能把带不走的衣服和被子枕头什么的都一股脑捐了出去。

十二月底回到青岛,然后和 leader 沟通了下,接了远程工作,每周干 16 小时左右,维护之前的 Parser 代码,以及给之前那个客户的项目继续提供支持。目前比较闲,接着搞 6.824,然后把之前 445 的lab写完,然后准备毕设。

对定位的思考

因为母校是个普通双非,所以同学的水平非常不行,可以说大部分人的水平差到我都看不下去。所以我一直以为自己挺强的,然后现在真正进入工作环境,真正和计算机从业者交流后,才明白自己的水平很一般,就是一个普通的大四学生的水平。我的那些同学的水平甚至都算不上计算机爱好者。。。

因为自视甚高导致今年一年的不断受挫信心尽失,被 peer pressure 搞得浑浑噩噩。接下来就是把心态重新调整到大一时一个零基础的状态,好好学习,不要想那些有的没的。

另外实在学不懂大不了就润到欧洲澳洲混吃等死捏,多是一件美事~~

实习生活与秋招的结束

现实里连搭话都不敢的neet废宅,一到网上就变成了一只疯狂的鼠鼠,这就是本赛博鼠鼠人捏。

秋招是什么捏(菜鸟级科普内容捏,推荐直接跳过捏)

离上一次的博客已经过去四个月多了,我也正好实习了四个月,也幸运地转正成功拿到了一份正式工作,终于摆脱掉延毕考研的道路了。而23秋招的结束意味着24秋招的到来,最近有好多人问我什么是秋招,要怎么准备。因为我个人比较菜,所以具体的信息大家还是去知乎、牛客之类的网站找大佬的回答吧,我这里只简单说下我印象深刻的东西。

首先是23的就业形势是真的烂,普通双非基本上 80% 的人都在考研,因为大家都明白根本找不到像样的工作(虽然我感觉考研更难捏)。另外最近港股暴跌大家都知道,导致这个的原因估计也会导致24的就业形式和23差不多捏,大家明白就好捏。这就要求了想要秋招找一份不错的工作,你首先需要一份实习经历,不然基本开寄。

实习一般集中在大二的暑期和大三的暑期,除非你同城逃课或者能说服辅导员帮你。实习分为两种,一个是日常实习,是全年都在招的,门槛比较低,推荐大二暑假可以来一波;另一种是暑期实习,这个比较重要,主要集中在三月份左右到五月份,你要在这个时间段在网上申请,然后经过笔试+几轮的面试拿到实习offer,然后等,等到了暑假你再去公司报道。所以说虽然你是暑期再去上班,但是你是几个月前就面试拿到offer的,千万别搞成到了暑期再面试这种惨剧。。。

当然不排除有些公司不区分日常和暑期实习,都一样捏,不过相对暑期实习含金量更高一点,据说实习在简历上的重要性比学校还高捏。

秋招拿的是正式工作的offer,一般是在你大四上秋招或者大四下春招拿到的,拿到后你就可以在学校畅玩开摆了捏,然后等你毕业后再去公司入职。

对了关于怎么投简历,我的操作是关注牛客,发现公司开始招人了就去官网上投递即可。

秋招一般是从6月开始的提前批,7月中开始的普通批,一直持续到10月底左右。这个时间内你要不停的投简历、笔试、面试直到拿到offer捏。提前批难度高点,但内推有些可以免笔试,其他的和普通批差别不大。总之一点,海投+早投,因为hc是有限的,招完人了就不招了,没hc你再强也进不了捏,所以要早点投。

另一个途径是实习转正,一般是暑期实习两三个月后给你发意向书,然后hr找你谈薪资,然后给你发offer,然后再走一下三方流程完事。另外三方什么的根本不用关心,不懂到时候公司和学校都会讲的捏。如果感觉转正难的话就请假去面试捏,不要以为转正很稳,更何况转正的岗位可能会让你想重开。。。

期望回归现实

上面啰嗦完这么多老生常谈的事情,下面来开始真正的博客捏,因为干的并不是数据库内核,而主要是业务活,所以我也就随便说说。

七个月前我觉得做数据库真的很有意思,毕竟号称计算机的几大浪漫之一,我幻想着要是能进这个领域工作该有多爽,什么传说中的边看论文边工作的事情,想着干个几年成为一个能独当一面的技术人之类的。而再看各种互联网的业务岗,各种996,写着对自己提升没有多大帮助的代码,让人沮丧。于是我就投了数据库公司。

就这样阴差阳错地进来了,午饭也很好吃,下午水果也有。虽然我投的是 C++ 开发进来的,但是说以后也能做上内核相关的工作之类的,所以很期待的。但实际上工作性质我并没有多喜欢,开始的时候做的是支持 Pandas 和 Numpy,Pandas 是拿 C++ 重写的,Numpy 是用 CPython 调 Numpy 的库,来支持在 dolphindb 的类 Python 脚本上使用,因为 dolphindb 本身是 C++ 实现的。不过这是我刚进来时做的工作,主要就是打杂,没有干什么复杂的东西,业务打杂而已。

然后是对 SQL-92 的支持,听起来高大上,但实际上就是个业务活。数据库所需要的功能都已经实现好了,完全可以用函数的方式调用执行这些 SQL 语句,而我干的工作就是数据库前端,解析 SQL 语法而已,而且整体框架早就写完了,我只是抄着之前代码的实现来仿照着支持一些新的 SQL 语法罢了,虽然工作量挺大,工作内容也挺重要的,不过不难,实际上就是个业务活,不过我做的倒是挺开心的。

我现在实习是在内核那边的部门(虽然一点内核的工作也没干),工作就是标准SQL的支持(仅数据库前端部分)。但是我转正后是会转到 API 组是做插件的,最近做了几次插件的工作,插件这边的代码质量因为还没做多久不大清楚,但代码规范有点不忍直视,而且很赶,客户一提需求,一要POC我就要加班,一个月22天要加个五六天班,幸好就是加班也基本上7点多就能走可以接受。总之有点折磨,没有什么技术上的难点,但会有一堆一堆客户的乱七八糟的事,各种各样的配环境错误,以及突然而来的分给你从来没有接触过的代码让你必须一天内解决问题,折磨,感觉有点浪费生命。

总之,为了简历不留下污点我应该会先干到2024年,要我一直干下去我干脆也不想活了,单纯为了钱干活倒也不是不能接受捏。。。不过今年大环境就这样,这种工作已经完全是双非中的顶流捏,能拿到这么多钱而且965已经超乎我的预期的捏。

心理上的摆烂

看了看我过去两年的博文,发现我的行文风格有了特别大的改变,比如现在自称鼠鼠就是其中之一。过去的我喜欢骂学校,虽然现在的我也喜欢骂学校,但过去的我更有一种想要改变什么、有种愤怒想要嘲讽他们的心态;而现在的我则是自称鼠鼠人,985爷v我50,加速好耶,重开好捏的心态。

双非鼠人实习的工资养活不了自己,花着父母的钱,住在十多平米昏暗的房间里,没有厨房只能点外卖,孤身一人,连工作都是插件开发工。要是当地人说英语至少我还能听懂一半,说方言我是一句也听不懂,看到过一家三口住在租的一个二十多平的房间里。与此同时中国学者陈老师在山东德克萨斯州的200平大house里跟我说2000人民币大于3000刀,我实在太感动了,赢的我流下了胜利的泪水。

嘛,反正都是加速,天天做核酸,天天股市崩,天天沸腾。

冬奥英雄谷小姐现在是我的偶像,虽然我明白我这辈子不可能成为奥运冠军,但也许我的孩子有机会接受美利坚的训练但却为我心爱的祖国拿金牌,真是让我热血沸腾捏。

低尊严让人痛苦,但不会让鼠鼠痛苦,鼠鼠只要吃到牛排就开心了捏。

苟活的希望

虽然感觉本人鼠鼠的心理问题有点小严重快绷不住了,但再有两个月实习就结束了,之后接下来将近半年我可以恶补分布式和英语了,然后转正工作是965下班也有时间来学习,有了技术和英语,鼠鼠我的未来也许还有变回人的一天捏。

找实习的经历和大三的结束

距离上一篇博客已经过去整整六个半月了,实在是摸鱼摸太久了。在上一篇博文的末尾,我写到我希望能赶紧找到一份c++后端开发的实习,我也确实完成了这个目标,不过侧重点已经不是c++后端而是数据库开发了。感觉跟做梦一样,半年前我几乎从来没有考虑过这个方向,而且我面试的时候甚至没有数据库基础,而现在我几乎每天口头都挂着数据库 XD

寒假的结束和准备的失败

寒假没有什么好说的,回一趟老家差不多十天,此外刷了本《剑指Offer》,刷了 Leetcode 的 Top 100 题单的一半,复习了下 C++ 和基础知识就差不多结束了。后来回想,我觉得要是我从那时候多刷点题就好了,寒假的时候过的还是太悠哉了。

我以前就认为刷题是很重要,但又觉得面试前一两个月开始刷就够了(黑人问号?),所以一直没有放到心上,但实际上面试前一两个月再刷题基本就被死刑了 XD,现在的好公司都要 Medium 稳过,部分公司甚至会给 Hard 难度的题,真是吓人。。

寒假的时候我有点狂,起因是我看了看那些大厂的暑期实习面经,感觉问的不是多难,就是广度有点广,觉得自己好好背面经刷刷题,基本就能稳进了,但事实证明是我太狂妄了,我甚至笔试都过不了关,离谱hh

自闭的投简历

来到三月份,我发现刷的题实在不够看,基础知识复习的也不大行,就决定推迟投简历,等复习差不多了发现已经到了四月份。与往年不同,由于22年的裁员浪潮,很多部门都锁HC了,很多公司3月份就差不多招满人了,4月份才开始投简历的我可以说是直接泡进了池子里。。。

然后就是痛苦的投简历时间,我平均一周投十家公司,主要是 C++ 后端/服务器开发这方面,然后一周也会收到三四个笔试,然后就没然后了。一些公司确实是因为我笔试太烂没办法,但有一些公司我明明都全做出来了最后也没有给面试机会,总是就是非常卷。

后来我放下了矜持开始投一些我认为的小公司(其实都是些中大型公司,只是我没听说过而已。。),心想小公司只要给面试我基本都能稳进吧,然后搞心态的是竟然没有一家小公司给我面试机会(因为那些其实都不是小公司 XD)

这是我暑期实习投的全部公司:

IMG

虽然如此痛苦,但生活还是要继续,就是菜如我,只要多投总还是会有些收获。到了最后有四家公司给了我面试机会,分别是百度、海康威视、XSKY和智臾科技。

失败的面试

第一个给面试机会的是百度,在4月17日的上午,我早早的打开链接等待面试。面试官是个帅哥,声音也很好听,人也很礼貌,不过我的面试并不会因为这些而成功 XD

我犯了非常非常多的错误。。。首先是开始问我平时用什么语言写代码,我面的 C++ 岗位,但我脑子一抽说我平时都拿 C 写,C++ 写的一般,面试官肉眼可见的尬了一下。然后是一个代码题让我实现一个简单的 shared_ptr,说实话这个没什么难度,非常简单的泛型知识加上个引用计数控制析构就行,但当时脑子抽了一下子没思路就放弃了,苦鲁西!之后的基础题答得都不错,算法题给了个很简单的快排三分钟写完了(不过估计当时已经放弃我了。。)最后问我了不了解 C++ 并发,说实话这我有些无语,POSIX API 那些并发我还会写一些,C++ 并发我当时用都没用过,于是自然而然地挂了。

成功的面试

由于学习路上受过众多大佬的安利,数据库一直是我充满浓厚兴趣的方向。而更准确的来说,我对数据库内核开发的最早印象是从 @lemon_hx 的那条 “千万不要觉得自己很聪明从而选择碰以下学科:... 数据库管理系统 ...” 推文开始,就觉得觉得搞数据库真的好酷 XD

不过因为自己太过摸鱼,我这时候并不会数据库的知识hh,所以一开始我是没打算投递数据库公司的。不过四月份的一个下午,闲着刷知乎的时候刷到了智臾的招聘文章,想起来这是胡神(我去年为了更好的刷国外名校公开课,加的CS公开课刷课群的群主大佬)工作的公司,然后又看到胡神的“从面试官角度谈谈互联网的面试该如何准备”这篇文章,总之就这样一激动就投了简历。

我投的是暑期实习,所以是一轮笔试和两轮技术面,智臾的笔试题很新颖,不是像其他公司在线做算法题,而是出了几道编程题,感觉更偏向解决实际中的问题,不过也便宜了我这样的算法苦手~。

由于智臾是我人生中第二次面试,第一轮面试开始的时候紧张的声音都发抖了hh。开始做一道算法题(Leetcode 239),想了一下我很快就给出堆的思路,然后就着急忙慌地去写代码,但其实那个时候我只有一个大概的思路,根本没有想好要怎么写。没想好的结果就是想到哪写到哪,开始了社死表演,明明记录一下下标之后就是一道简单题,但越写越紧张,几乎都思考不下去了。。。就在我都以为堆的思路有问题的时候,感谢面试官的指导,磕磕绊绊地写出来了。刚要松一口气,又问了我O(n)的解法,完全没有思路,没多纠结直接放弃了。。。因为算法题做的实在不大好,当时就觉得自己已经凉了,于是放松了不少。。。后面是比较常规的八股基础知识,感觉基本都答上来了,虽然一深入问就不会hh

一面完后我感觉凉凉,于是没怎么复习面试问的知识,然后二面开头就让我差点暴毙。一面面试官问了我哈希表避免冲突的几种方法,我没答上来,然后二面一开始就让我实现一个unordered_set,只能说忘记怎么实现哈希表了。然后题目换了个简单好多的vector,感谢胡神的不杀之恩,另外让我明白了以后一定要好好查缺补漏面试中不会的。。。
然后是基础知识,感觉智臾对基础知识十分看重,不愧是做数据库的公司hh。之后是项目部分,大部分答上来了,不过有好几个虽然我写在简历上,但一被问就发现自己其实已经忘了,十分尴尬,简历上写的内容结果自己没掌握熟练实在有些丢人hh

然后介绍了一下部门,以及进去是做什么方向之类的问题。最后是闲聊环节,因为感觉眼熟(后来想了想是原来是因为胡神的知乎头像(´∀`)),我第一个问题就是问面试官是不是胡神hh,然后真的是偶像,激动!然后下个周的周一就收到了offer,然后就直接接了~

打个广告,DB-Engines Ranking 的时序数据库中 DolphinDB 排第九,欢迎投递贴贴,带本菜鸟飞嘤嘤嘤

IMG

其他的面试

接了推友的内推去试试 XSKY,感谢推友。是做云服务和存储相关的公司,感觉挺不错的,跟hr电话聊了下公司之后安排了笔试。很有特色的是 XSKY 的笔试题没有算法题,而是一些贴合实际的编码题,而且更好的是他家的笔试有很多系统知识的简答题,我当时答的非常畅快,感觉这才应该是计算机笔试的重点,而不是做算法题嘤嘤嘤。

当然缺点是这些题有点过于简单了 XD。很快就收到了面试邀请,但可惜的是就在刚刚我已经接受了智臾的 offer,虽然接着面当练手也不错,但总感觉这是推友给我内推的我这样不大厚道,于是拒了,不过打算秋招再投一次 XSKY 试试hh

另外一家海康威视就完全不是这样了,我稍微了解了下海康这家公司,发现这家公司盛行 pua 文化,好多推友在面试的时候就被 pua 气的不行,吓得我赶紧拒了体面厂的面试邀请逃命~

随着找到实习,大三下也结束了

5月9日敲定了 offer,终于可以不那么焦虑了hh。当然学校依旧是不做人,这学期封校封的前三个月禁止进出学校,然后每两天就要做一次核酸检测更是让人不厌其烦,一周要浪费掉6个多小时,然后各种公共节假日都“名正言顺”地用疫情的借口取消。

五月份课业压力很小,所以我配合着《数据库系统概念》开始刷 CMU 15-445,不亦乐乎,可惜好景不长。五月底开始周五周六周日要上实训课,从早上八点上到晚上八点;各种各样的实验和报告接踵而至,专业课又混杂其中,让我无力招架。不过这终于是最后一个学期了,下个学期没有课可以安心呆在杭州实习了。

大四上学期没有课不用来学校,大四下只剩一个毕设答辩,大部分时间可以不在学校,这么说的话我的大学生活可以说基本结束。和别的大学生们对大学的生活爱恨交加、留恋不舍不同,我对大学的感情可以说是不加掩饰的厌恶:永远上不完的水课、永远看不完的青年大学习、永远写不完的爱国作文、永远做不完的核酸检测、永远出不去的校门、永远看不完的QQ群通知消息、永远确定不完的学校通告,永远消除不了的自我厌恶。

不管怎样,再也不见。

对独立生活的期待

其实选择数据库方向我的内心也是有过挣扎的,毕竟这个方向感觉大家都是大佬,只有我是菜狗/(ㄒoㄒ)/~~

在面 dolphinDB 前我发过一个推,在上面说 “我对数据库和服务器都同样充满兴趣,更绝妙的是我对这两个方向都是同样的初学者。如果拿到那个offer我大四就打算去学习数据库方向,不然我就打算搞服务器开发的方向。”

也许是命运,也许是我这番言论在一面时打动了面试官 XD,总之我得到了在数据库公司实习的机会,那么我自然愿意尝试一番,希望自己能在10年内成为数据库领域的一个小专家(开始做美梦咯 XD),再说什么分布式数据库系统,不明觉厉,听起来就比服务端开发厉害耶耶。

接下来几个月打算学 CMU15-445、MIT6.824、TinyKV(PingCAP Talent Plan),再看完《数据库系统概念》和《DDIA》,然后工作上希望自己能借着在 DolphinDB 实习的机会好好阅读和学习数据库系统的源码,争取在六个月实习结束前能自豪的说自己是数据库从业者的一员 XD

人迟早都要死,人也没有下一辈子,而且我看来人生本来就是一点意义都没有的。

“夫人之相与,俯仰一世。或取诸怀抱,悟言一室之内;或因寄所托,放浪形骸之外。虽趣舍万殊,静躁不同,当其欣于所遇,暂得于己,快然自足,不知老之将至” 找到一个自己热爱的事物是多么的幸运,反正人生本来一点意义也没有,但可以让人生有意思一点,沉浸在自己的世界,做自己热爱的事,在不知不觉中度过自己的一生,等到死的时候还能感叹一句自己当年做的东西有多么的牛,这就够了。

仅以此文纪念我基本结束的学校生涯以及勉励我即将开始的职业生涯。

2021年终总结

2021年残念

2021年从各种意义上来说,都是一个充满残念的一年。

记得年初twitter上有人发个字母表格,说你看到的前三个词代表这一年会过的怎样。我自然是不信这个的,抱着做着玩的心态,第一个词是money,第二个词是love,第三个词是all,原本这是个非常好的组合,但我收回目光的同时看见了第四个词fail,于是就成了money love all fail,没想到一语成谶。

生活上我还是一个宅,看看漫画小说,追追番打打游戏就是全部。不过下半年我开始走读,每天7点坐上需要换乘一次的地铁去学校,每天20点坐上地铁回家,车上我经常会背背单词或者听听英语博客,挺悠闲的(最近在听The American life这个播客,google一下打开网页就能听了)。不过这日子实在提不起劲,空虚又无聊,浑浑噩噩为垃圾水课忙于奔命每一天。

在学习上,由于事情实在过多加上我也不想再回忆一遍,所以2021年的上半年可以直接看我以前的博客。大致回忆一下,完成了自顶向下和CS144的TCP lab,看了个计网的公开课,然后开始linux系统编程的正式学习,也只看了TLPI上册的一半,但由于课程实在太多(大二下一周都有19节课和一堆水作业),所以这个效率在我眼里其实还可以。大二下让我印象深刻的就是我那个时候非常非常想休学,但是问过一圈之后,发现休学后回来,课程大纲变动的课要重修,代表着一回来可能要多重修六七门课,只好放弃。大二下期末我在床上躺平一个月后熬了过去。

当时以为大二下就是深渊的重点,没想到只是噩梦的开头罢了。

暑假非常匆忙,因为我们C#老师要求假期完成课设,而我们五人组真正干活的又只有我一个,如果说这样还好,但是那个老师又是真的严苛,导致我在完成五人工作量的同时,又要给我的组员一个一个人讲他们“做了”哪些功能,期间组员A装修,组员B旅游,组员C一假期没有消息,甚至有一次我们开会开了一个半小时,开会结束他才加进来。。。一共50天的暑假,小20天浪费在了这上面,开学后又被老师追命连问,我的组员闭眼瞎答。最离谱的老师问一个变量是干什么的,那个变量非常简单,就是参数的数量,而我那个组员答成了租赁的天数,我当时就闭眼转身面向窗外,不知道该说什么。。。之后老师让他们录视频解释自己的功能(因为答辩他们几个都没过),于是我又给他们每人指着代码告诉什么功能,让他们录音然后背下来,然后自己再录视频,通过背诵的形式蒙混过关。这个过程让我心力交瘁并浪费了很多的时间。

我的大二下的一半和暑假和大三上的一半时间大多都拿出来看TLPI(《Linux系统编程手册》),收获自然是很大的,但是有点想不到的是这小1200页书和差不多几百道题,竟然让我花费了近四个月之久,令人唏嘘。这期间我补上了《UNIX网络编程》的基础部分,另外非常感谢推友,不然我还真以为SCTP是必学的内容。。。同时我理解到我应该把面试放在首位,于是我开始刷题和看面经,复习C++。

但让人难受的时候来了,我实在想象不到水课的泛滥和猖狂,一周22节课,五六个实验报告,两个大作业,一个课设,光是应付这些我就已经忙于奔命,足足十门的专业水课更是无声地嘲讽我。课程的质量和国外名校公开课相比让人心寒,无数浪费时间的实验报告和国外名校公开课的lab一比简直就是***,我已经难以把那些课当成专业课了。。。

作为一个彻头彻尾兴趣驱动的普通人来说,面对喜欢的内容我还能投入,但是面对这些水课,我简直就是ADHD患者,甚至有些躯体化的症状。我发现经过了两年自由的学习,我已经丧失了从初中开始培养的强迫刷题能力,那时的我虽然讨厌高中应试教育,但也没有现在如此的抗拒应试刷题,我厌恶无用的应试教育,我厌恶这些考背书背模板题的期末考试,我厌恶必须用学校自编的低质量教材……

原本打算上着学就投投简历面面试的,结果连面试的时间都没有,GitHub的瓷砖墙也是足足连续灰色了一个月,我也一个多月没有学习计算机,每天麻木地看看书,背背模板,抄抄实验报告。浑浑噩噩,每一天如此,直到前天的考试结束。

感情上还是自己一个人,好想要轻小说那样的恋爱啊(白日做梦),可是谁能看上我呢,还是看看轻小说别做梦了吧。。。可惜因为我的日子实在过的不如意,写出来的文字都是这样皱巴巴又充满了戾气,总之我的生活就是这样。

突然想起来我已经好久没有出去旅游了。

寒假的野望

上个学期老师跟我们说下学期课少,拿到实习可以申请免听不用来上课,异地实习也可以。虽然我知道自己的基础一般,题也没刷多少,但是为了逃离学校还是要努力一下。

由于能力太差,梦想的几家公司自然是进不去的。我的最高目标就是大厂的日常实习,不同于暑期实习和秋招,日常实习相对容易很多,因此让我有些心动。然后就是各种中小公司混着投咯,希望日常实习能给孩子一个机会。

打算投C++/linux 后端开发,但是搞笑的是一年前学的C++都忘了差不多了,明明当时可是下了大功夫的。。。现在也就C写的顺溜点,要赶紧复习,打算一个月内重读一下C++ Primer 和 Effective 和 More Effective,然后刷力扣,看面经,看看剑指offer之类的,然后就开始投简历咯,希望顺利。

现在的我对人生的第一份实习充满了幻想,不知道以后会是什么样子。。。

2022年希望

2022年最大的愿望就是能顺利把所有课程通过,然后拿到几个比较好的实习,希望今年一切顺利~

终于读完了这本书

读书

我是真的没想到 The Linux programing Interface 这本书加上习题能花了我这么长的时间,但终于在今天我结束了这本书,从四月中旬到现在足足过去了 5 个多月,虽然中途也有小两个月忙别的事情,但这本书一直是作为一条主线来推进的,我也建了一个[仓库](https://github.com/sunhuiquan/tlpi-learn)(虽然里面肯定有不少错漏)来记录我做的答案。 虽然我仍然很菜,但相比 5 个月前仅仅知道几个 shell 指令的我,现在终于可以说自己熟悉 linux 的使用和在 linux 上编写程序了。 为了学习系统编程这个方向,最开始我想看 APUE,但是翻看后和 TLPI 一对比,首先是 TLPI 的厚度是 1176 多页,而 APUE 只有 800 多页,明显 TLPI 的相对更加详细;然后 TLPI 是 Linux/Unix 系统编程手册,虽然也考虑 unix 和可移植性问题,但绝对是以 linux 为主,各种各样 linux 特有的机制和系统调用都有介绍,而 APUE 由于出书过早,显然这本书更加注重的是 UNIX 上的表现,同样由于时间问题,很多现在有的机制当时都是没有或不成熟的;再之后是自从 12 年左右 linux 打败 windows 成为服务器主要系统,而 unix 由于各种各样的原因相对 linux 发展缓慢许多,加上 unix 作为服务器的比例相对 linux 小太多了,我更倾向于以 linux 为主进行学习。 悲痛于 APUE 作者 W.Richard Stevens 英年早逝,记得 APUE 当时的被论文引用的数量非常之多,可谓是巨作,可惜时过境迁,对于初学者,我现在更推荐以 linux 为主看 TLPI 这一个路径,当然 APUE 当然也要拜读,不过不应该是现在。另外这只是我这个菜鸟的个人感受,仅供参考。 不过对于网络编程初学者,W.Richard Stevens 的 UNP 卷一和 TCP/IP 卷一仍然是不可不读的佳作。

挣扎

最后是写给我自己的,希望当我以后毕了业工作后,能够通过这些回想起我大学里的挣扎,来和我作为打工人的生活比比哪一个更惨。 记得我上上篇写的开始有趣起来的大二下,结果自然是谎言,事实上是一点也不有趣,而我这 6 个多月的生活如同战争一样,随着时间的流动,我深深陷入了战争的沼泽。 首先是课业一点也没有意思,很多不知所谓的水课占据了大量的时间,最可怕的是,如果我认真想想,发现所有课都是水课,因为课程质量实在不敢恭维。而且课程繁重,平均一周近二十节课加上一周三四个课程的实验作业,让我失去了太多时间,我痛恨于深陷时间沼泽,但无能为力。 于是我想休学一年,但由于种种原因,最后也选择没有去休学。而寒假看起来不错,但寒假竟然有课设,而且组员的划水我不得不一人干五个人的活。 然后就是新学期的开始,情形没有好转,课程很多,虽然几门核心课我都已经学会,但仍然有不少的水课和几门其他方向的课让我心累,软件工程和软件测试两个课最后都是参加比赛来作为平时分,占用了不少时间;微机原理的讲的电路让我不明所以,为什么我要学这个;oracle 数据库和密码学这两门课纯粹为了学分,结果都有大作业要做;虽然计网、os、计组我已经学的可以,但考的题大部分要么是语文题、要么是套公式的题,显然老师强调了考研,但这同样显然对我一点帮助都没有;最后是还没开始上的创新创业和形势政策两门课,更是水的可以。 我只好坚持着从大一上开始的上课不听课自学的策略,挣扎地前行,目的是希望自己能学到更多知识罢了。别人眼里缤纷多彩的大学,对我于监狱无异。

大二下总结与暑期展望

大二下总结

  这个学期做的事情并不多,开学第一个月是把自顶向下这本书的十几个小实验写了,把cs144的tcp lab用作cpp课设做了,然后开始进入系统编程的学习领域,毕竟一个后台程序员基本是绕不开linux API使用的,当然无论你用的是cpp还是java还是go封装好的库,都最好阅读下linux/unix中的实现原理。
  一开始我看的是APUE,但是发现有些概念讲的不大清晰,尤其是作业控制那一块(可能单纯是因为第一次接触的原因吧,当时我对linux的认知仅仅停留在命令行指令的使用上,所以当然会一头雾水),所以我看了更厚更全面的TLPI,虽然多了400多页,但是最赞的是这本书相对于APUE更强调linux的原理和使用,说实话我以后主要肯定是在linux上,而且unix和linux差距也挺大的,而且APUE太早了,一些其他的IO模型都没有讲到,而TLPI的主要参考就是APUE,多了400多页的补充,所以我是比较推荐TLPI的。
  这本1260多页的书让我对linux的认知上升了好几个层面(这是因为原先我太菜的缘故),不过代价就是我花了整整两个月才读了不到1000页,中间还空了一些习题没做,所以一共四个月,自顶向下的实验和剩的一百多页书+cs144的tcp lab部分,加上基本看完TLPI并把大部分习题做完(我现在还差一些没做,我打算接下来的暑假花个十几天把剩下的做完,因为我发现真的搜不到全做完的靠谱的答案,大部分写了二三十章就没了,所以就自己开了个repo TLPI_learn_note )花了两个月,然后最后剩下的一个月疲于之后说的精神崩溃,因为我没有听过老师讲课,而大二下公共课很多,所以我就在忙于复习期末,然后各种乱七八糟的事一起出现,也让我忙于奔命。
  考试月除了备考之外,就是仔细考虑了下自己想成为什么样的人,不过现在觉得自己只想做一个更多把握当前的geek,我希望自己的定位是一个解决复杂问题(是感兴趣的有挑战性的问题,我讨厌自己做前端客户端写界面的事情,我也不大喜欢一直写相对没那么有挑战性的业务代码,当然也许我以后会碰壁,会发现只有几家小公司的业务岗要我,只能为谋生而奋斗的悲惨情况)的普通工程师,而不是商人、产品经理、科学家或者领导者,我并没有对未来有什么过多的幻想,脚踏实地,just for fun 就是最好的动力。
  这就是我这这学期四个月干的事了。

暑假计划

  考试终于即将结束,马上就是暑假了。理所当然的是感觉要摸鱼,这是我人生中最后一个暑假了(下个暑假要实习咯),一想到反正之前十几个暑假都是摸鱼过来的,那么这次也随便吧,反正对我和我的暑假都是最后一次相伴了。
  最先干的事情就是先把TLPI剩下几章和剩下的一些习题做完。。。1260多页真的太厚了,加上习题更是要我命,吐血。
  想要做的事情有点多,首先是cpp方面的想要复习下cpp primer看完那两本effective, 感觉太久没用cpp已经忘差不多了,由于我接下来打算写的项目基本上都是c和cpp,所以还是赶快捡起点cpp知识吧,亏我还是看了两遍cpp primer。。。
  是时候该刷leetcode了,配合着算法红书看到哪刷到哪,慢慢来吧,反正刷题要刷到明年实习了。背面经,刷力扣,广撒网,希望总能抓到几条鱼吧hh。
  然后就是网络方面,我打算明年实习就找这个方向的,cpp/linux后台,目前看完TLPI之后打算刷一下828,然后看tcp/ip vol.1和UNP的TCP部分,有时间的话提前写点玩具把os和unix的课设做了当作个练习吧,另外计网貌似能用我cs144的tcp lab,希望这个暑假能过得愉快^-^。
  有时间的话打算学学rust,被好多人安利了,虽然我原本想学go的。。。
  明年大三上好期待,打算看完linux多线程服务端和高性能那两本书,然后再深入下cpp,然后正式封装个线程库,写个网络库相关的项目,也是我人生中的第一个正式项目,来应对即将到来的实习。
  也不知道能不能找个中厂,跟老师聊然后就感觉大厂不大现实了,老师让我好好学说不定能冲刺大厂,我就很迷我还能咋好好学,唉>_<。
  下面是情感吐槽,负面情绪爆棚。。。

大二下的结束

  其实课程压力不大,我的水平在同学中也不算差,老师也就是水客点名太严其它没啥,人际关系也算不错,本不应该这么负能量的,但很多事情不是那么简单,所以我现在的心态几近崩溃。
  首先是学校课程很水这一回事。
  回忆起刚开学,由于不知道为什么好多课和实验都是从第五周开始,所以一开始给我的体验非常好,我当时还以为美好的大学生活就要开始,然后就是白给。 可以说我基本没有从学校的课程中学到什么,很荣幸这学期我没有听过课,首先老师讲课太水根本没有听的欲望,然后就是真的讲的太慢了,我在上大学之前是没有计算机基础的,所以说我有资格说这种难度和讲课速度给小学生讲都行。所以老师上课我在下面自学,只是点名挺严的还有各种雨课堂学习通签到,就让我非常的烦躁,不过这也还行。
  老师和班主任给我们发什么大数据培训、java辅导班、一些安卓、java、python的资料是我没想到的,我还不至于要靠这些混饭吃,还有老师是认真的吗?

  然后就是心态被破防这一回事。
  我大一以为写个微信小程序、写个前端页面、能用js写个抢课脚本、用python写个爬虫就已经是大佬,想着如果去听培训班好几千一门的java web和python课,以后能不能进bat去写业务,这是不是就是程序员的巅峰了,毕竟我的学校计算机70多个人也就不到十个能考进211、985,两三个能进bat,我那时梦想的offer就是去bat 996,刚入学的时候我是真脑抽。。。
  大二后知乎上也关注了更多的大佬,也发现了知乎大部分是装大佬的奇葩,第一次用github,第一次用twitter,看了一堆大佬的个人博客之类的,终于稍微明白了些什么是计算机以及我想要学的方向,而不是被老师说着java好就业,小程序很吃香就去搞那些没意思的东西。
  然后一年来到现在我也敢厚脸皮地说自己终于勉强达到入门水平了hh,也知道了越来越多的优秀的同龄人,也知道了OI生和我的差距有多大,也知道了哪怕天天努力毕业后也不如他们大一的水平强直接让我破防。。。
  我知道了方向选择的重要性,可悲的并不是智商上的差距,因为大多数情况这点差距根本不值一提,可悲的是眼界的差距,我多么多么愿意把我高考574分换成474去读个二本的计算机,然后让我从初一或者高一开始学习计算机。技术接近的情况下一本和二本有什么差距呢?不就是英语好一点罢了。

  第三是大环境的恶化这一回事。
  今年跳楼的大学生和研究生好多啊,真的好多,几乎每个月我都能从知乎热榜里看到一两个,有时候三四个,我几个朋友的学校都有跳的(不过里面其中一个是活该,偷跑进女生宿舍被发现,跳的还是二楼),然后我们学校也疑似跳了一个。

  社会氛围好让我窒息啊,无处不在的战狼氛围,无处不在的赢了又赢。好家伙我吃饭的时候一般看个新闻或者纪录片,然后就全部都是夸耀中国成就做的多么多么好的,我也不是否认这些成就,但这样只是报喜不报忧显然不正常啊,除了自然灾害,我基本上没见过报告自己的错误进行反思的,然后几个纪录片频道一大半都变成红色教育洗脑记录片,我真的无语了,我就想看个新闻和记录片放松放松,我不是来被红色教育的。

  这些原因导致了我想休学一年,因为自己太菜了确实需要好好学习一段时间,考研是不可能的,准备考研一年时间太浪费了,我也不想卷考试,出国也没钱。但是最后还是不敢了,毕竟学位证万一玩没了就要重开了,没有学位证我也不用活了,没有容错资本。
  我一边知道自己菜的要死,能进个中厂就不错了,另一边又不觉得那些能拿到大厂offer的优秀学长有多厉害,自卑和自狂不停地转换,不知不觉中我已然陷入疯狂,成为魔怔猫猫。
  菜是原罪,天天焦虑,烦死了,要是能成为猫猫该有多好。(成为鲨鲨也不错)

开始有趣起来的大二下

关于鸽子

  原本打算一开学就写文章,但是刚开学的时候我的自顶向下马上就看完了,于是打算缓个一周;一周后想起来的时候因为一度(看上个文章)心情太差,所以根本不想写;然后第三周因为c++课设的时间搞错,发现就剩两周的时间,所以肝了8天到昨天终于完成了miniTCP作为c++课设。所以到了现在终于有时间可以写了。。。

寒假的结束

  不负众望,该摸还是要摸的,虽然鱼都已经快要摸死了。不过不大好评价,因为寒假前制定的计划太离谱了,满满的任务根本不是一个半月能完成的,吐血。最后只搞了400来页的计网和mooc。

开始有趣起来的大二下

  终于大二下到来了,虽然仍然是通识课教育,但是终于没有了物理和电路和物理实验和电路实验这个阴间课程,虽然数电和数电的实验也挺魔幻的。我终于放飞自我,数据库没听过课(我等着认真自学,学校教的水平大家都懂),java没听过课(ppt念书太吓人,反正我有java基础),c#没听过课(c#选上纯凑分,等着找个youtube视频二倍速过考试就行),选修的数据结构退了(不敢想象ppt念稿会变成什么模样,一半人都退了这个课。。),概率论听了大部分,不过作业还没写,数电(现在讲的是csapp前三章差不多的内容,计算机中的数值类型之类的,没听),马原(大学四门政治课加起来听了不超过5h哈哈),带着电脑找个后排写代码就行,舒服,虽然好累而且好吵。期待大三,那时候全是专业课就舒服了。
  大学生活真无聊吐了,真想gap一年,但这又不大现实。。。另外CS144的lab真的质量不错,尤其测试很多很好,但是材料太过笼统,也可能是英文的缘故重点总是把握不住,就是总是把专业的特指词理解成笼统的意思,没反应过来那就是具体实现细节而不只是个总体思路。。。
  接下来把xv6的坑和计网的习题坑填了,去搞APUE,UNP之类的书学linux去,还有数据库可以看CMU15-445。
  开始有趣起来是发现自己终于可以干点有点意思的事情了,比如这个miniTCP,虽然自己仍然很菜,但是也为自己的前进而欣慰。

关于鸟笼的一点想法

人生的意义

  我一直有个问题,我活着是为了什么,有什么意义吗?关于这个问题我陆陆续续想了近十年,但即使到现在我都是一点头绪都没有。
  不过临时答案倒是不少,虽然总是最后被自己推翻,不过这也无所谓。我前段时间的想法(去年寒假到最近)是人生一点意义都没有,但这也赋予了你自由选择的可能,你可以做任何你想的事情,而做这个想的事情,我就叫做享乐。享乐主义包含金钱上的享乐也包含虚荣、攀比甚至更恶的事情,但也不局限这些,实现人生价值,有名,有钱,改变社会,成为科学家,当技术专家,学习艺术,做好事,干恶事,甚至毒(当然我的结论绝对不会导致这个选项。。),只要你干了能让你有正反馈,事情都无所谓。
  当然你活的时间又不只有一天,这是个全局来找最优解的思路,你前一天干了恶,之后就枪毙了,绝对成不上全局考虑。就算是钱给你带来了物质上的极乐,也不一定能带来精神上的享受。而且一生努力就是为了挣钱显然糟糕透了,所以需要从全局考虑,干自己喜欢的工作,学自己喜欢的专业,绝对拒绝996(去技术要求更高的公司955,再不行就出国),一生持续学习喜欢的知识。
  干喜欢的工作而且不累,安稳的度过中年危机(我也见过好多好公司没有裁35+能干到退休的,而且我很好奇996你还哪有时间提升专业知识),过自己喜欢的生活,有个不错的房子(我厌恶(就是这种程度)北上广深几百万买这么小的房子,也许不得不出国,因为非一线好公司基本没有),养两三只猫,养条狗,有两三个孩子,让他们自由地发展而不是从小被学校当成考分的机器(我的父母很好,没有要求过我成绩,但也让我差点考不上高中,到了高中我明白了在这里没有自由,努力学习,虽然学校一本率20%差不多,但我好歹终于上了个不错的一本。。。不过我喜欢我的高中,讨厌我的小学和初中),让我的父母退休后去干喜欢的事情(为什么要延迟退休,65岁我爸的身体怎么能和60岁的时候比?)我还想要在好多不同的国家工作生活,尤其想去日本生活一段时间,多学几门语言,多参与一些能改变世界的工程项目。
  前段时间我的想法如此之多,没有意义就没有意义,虚无就虚无吧,我想干的事情还有好多。
  但是这段时间我总是有点抑郁,因为太煎熬了,我上够了分数至上的学也不想去做奋斗的996后浪,我讨厌成为机器,我想做一个人。我就是一只刚被打开笼子的鸟,美好的期望就在蓝天之上,但因为被禁锢在笼子里太久我已经不再会飞翔。
  我一点也不想做不喜欢的事情,天天听一些不知所云的水课,跟毫无共同话题的同学生活(他们人挺好的,只不过三观估计差个二十年),在鸟笼里天天煎熬着。
  再坚持一下,人生没有意义不是让我寂寞的原因,鸟笼才是。

大二上的结束和寒假的打算

大二上的结束

  大二上应该会是我人生中最郁闷的一个学期了。首先是大二上考了两次期末考试,因为上次期末因疫情推迟;然后是这学期的无聊课是大学中最多的,尤其是物理和电路和物理实验这三科,线代挺有意思但32个学时讲了64学时的内容累死;再然后是对专业课的无语,开了一门C++和数据结构,很难想象在2020年讲的是C++03的标准,而数据结构用的书的质量不怎么样,老师讲课方式和念ppt差不多,十分枯燥,幸而我大一已经认真学过了这两门,因而没怎么听课,上课时间看xv6去了。
  过去近一周半一直忙碌于复习之中,天天背题型,枯燥无味,而考完了考试后发现自己一点收获都没有,浪费生命。最近又看了好多大佬的经历,深感到自己的菜qwq,非常难受,想要追赶却一直在touch fish。
  不过大二上也有许多让我激动的事情,比如做完了CSAPP的lab,学会用git,看完了我的第一本os书,基本做完了6.S081的lab,twitter终于有人fo我(虽然现在仍是单机状态...),搭建了人生中第一个blog,etc.

寒假的打算

  最近发现督促自己学够多少多少时间有点低效率,虽然时间可以达标,但效率不可以,所以打算改一下,用事件任务的方式来驱动学习,当然时间也不能变短qwq。
  寒假有好多好多事情要干,cs61b,cs144,java,mySQL,计网自顶向下,剩余的6.S081,《算法》这本书等等等等,寒假足足有48天,能完成多少完成多少吧。
  加油,希望自己能度过一个充实的寒假,而不是在摸鱼...

2020年终总结

  我的前十八年好像一场梦一样,忽然间梦就醒了,走进了大学。

入学

  有点不好意思,说是2020年的年终总结,但我还是忍不住把大一上那小半年包含了进来,蒙混其中。
  我不是一个天赋够高的人,所以能在一个每年理科生有近40万的地方,考进前四万,上了还算可以的双非一本,我就已经很知足了。更幸运的是,我进入了CS专业。
  刚进大学我不知道学什么,通过知乎收藏的一堆大佬的回答,当然现在回想起来,其中不乏一些不懂装懂。我听说java很火,就买了java核心技术和java编程思想这两本书,当时的我没有一点计算机基础,所以看得很慢,看了一个月才看了不到半本书。就想着走些别的途径,买了java的课,足足花了1500买了java的基础,html、css、js的基础,现在想起来这些视频也没啥技术深度,就能卖这么贵。。。不过当时的我热情高涨,立马狂看一个月,可是越学越感觉不对,总感觉没学到啥东西,就不看了。
  这两个月的时间(包括军训15天)的java web入门到此为止,书只看了一半,草草收尾,连个简单的项目demo都没有做,让人哭笑不得。
  之后我初步定下了c的学习,干劲十足,先是看了Mooc上的c入门,然后一个半月看完了 C primer plus 和 k&r C 并做完了大部分习题。大一上就一门C语言专业课,还有一门讲计算机导论,但是老师上课真是照ppt念。剩下的就是一门高数有点难度,英语老师上课真是和上高中英语课没啥区别。由于我自学的C进度比老师讲的快的多,而且学校用的教材就是那本"著名"的书,干脆我除了高数课听讲,其他所有课都自学去了。
  我又去看c++ primer,真的厚,硬是啃完了全书和大部分习题,不过效果很一般,有些内容没用过真的很难深刻理解。
  后来听说acm校队招人,我就去看mooc上的数据结构和配套的《数据结构》书。当时我被鼓吹,现在想想真是无聊,我反正是对刷算法题没兴趣。之后我就去学汇编了,为了给未来的专业课打基础,看的是王爽的那本,书是好书,讲的也清晰,就是太古老了。当时的我第一次听说汇编,很楞地看着网上的大佬激烈争辩需不需要懂汇编,最后觉得多学一点好就去学了。(现在想想很无语,那些当时网上说一点汇编都不用的,是不是连计组都没学过)于是大家复习高数的时候我在看汇编,不过幸好高数过了。寒假里学完了王爽那本汇编,大部分习题练习都做了,不过真是吐槽书太老了,已经不再适合新一代看了。
  2020年的噩梦来了,原本我在老家过年,当下立断回来,逃过了之后的全国封城。

春季

  进入2020年,疫情原因迟迟不开学,一开始很兴奋,但是久而久之感受到浪费了好多时间。由于上网课,我除了高数和物理就不听别的课了,荒谬的是计算机大一下竟然没有专业课,唯一有关的课就是一个认识实习,我看着同学们热情地与一个搞培训班的讲师热情互动,那个老师上了三次课,讲了点html、css的知识,我全程挂机打游戏。
  因为在家,所以总是和朋友开黑,效率真的很一般。我当时被鼓吹搞竞赛,于是重刷了数据结构和配套pta,看了竞赛紫书的一半,刷了一些uva和poj,过了两个多月醒悟,我是对这些真没兴趣,把竞赛书扔了。当然这些基础的数据结构和常用的算法知识还是很有用也很有意思的,我只是不喜欢把时间花在没啥意义的刷题上,刷刷leetcode就够了。
  看了三遍陈越的数据结构,半本紫书,差点被拐进竞赛坑,人生也真是有意思。

夏季

  经过了大半年的学习,我终于有了辨别能力,这个时间我疯狂地在各种平台上搜集经验,在知乎上疯狂关注,我终于学会了翻墙,打开了新世界的大门。我在学校官网上找了专业培养规划,在各种招聘网站看招聘的能力要求,了解了计算机的许多大方向,我不想考研,相对于一些与其说是计算机不如更说是属于数学专业的方向(数学当然重要,我这里指的是数学知识学得比计算机知识还多的各种方向,我更喜欢搞搞工程),我初步定下后台开发的学习方向。
  与此对应我的学习时间的确有点少,继续着基础数据结构和算法的学习,打着游戏,听着网课,时间过得飞快。
  我开始看CSAPP,第一次我只是看书,看完之后把习题做了,配合着网上的答案来学习,似乎一切没有什么不同。
  八月底提前返校,匆忙复习一周考上学期推迟的期末,夏天就这样匆匆忙忙地过去了。

秋季

  CSAPP这本书就算是单看书也非常的有魅力,埋头苦读,转眼一个月过去了,我也大致读完了这本书。
  但CSAPP是我的转折点,我终于发现了CMU15-213这门课,知道了原来有配套的Lab,我也发现之前我读的不充分,于是我配合着Lab重读了一遍CSAPP,成功地确立了我对计算机的认知,我更加发现了计算机的美,计算机也不再是黑盒。
  我开始懂得国外名校公开课和配套lab的珍贵,可以说找到了学习的主线,真的是比学校的教育水平高出太多太多了,在此方面上我真是对美国大学的教育制度和优秀的老师和助教表达诚挚的感谢。
  我终于开始使用linux,刚开始我足足有好几天迷茫有没有必要用vim和gdb,但是现在vim用的爽的飞起,gdb调试加上tui窗口,强大而顺手。甚至IDE我都想装上vim插件。
  我遇到了一系列工具,学习6.Null这门课,我对基础工具终于有了了解。
  我听说了github已经很久了,但是我一直到当时连git和github都分不清,我在知乎上看到了google大佬建的cs学习兴趣群(里面大佬好多),入群条件是把做的CSAPP的Lab放到github的repo,我从而开始学习git。
  学习git的经历挺有意思,我第一次在w3c学了基本操作,然而过了没几天就遇到了各种各样的错,从而google搜索了一些博客来学习指令和内部的模型,之后半个月多看了6.Null这门课又了解了一些,最后就是半个月前看CS61b的时候第一个就有git的学习,感觉就在两个月前听都没听说过git,到现在每过一阵都遇到一次git的问题,好奇妙(当然具体原因是我开始用github了)。
  在11月初我的csapp的lab全部做完,十分感慨。
  之后我开始了操作系统的学习,我选定的是mit的6.S081这门课(6.828拆分两个课,一个课给研究生上,6.S081给本科生上),配合这xv6 book的阅读,我还买了一本操作系统概念(这本书的部分内容过于高级,我只能大致看看,不过这本书本来就是概要介绍,很多东西讲的非常粗,我做这6.S081的lab就没做这本书的lab了,不是很推荐)来配合学习。

冬季


  xv6 lab做的有点难但有挑战性,而且经过经过大量阅读英文我的英语水平倒是稳步提高,从lab1都看不懂要我干什么,到现在绊绊卡卡独立做完了lab 8,让我印象深刻的lab3的实验足足花了我几天,还记得在上毛概课的时候用手机在piazza问了个xv6的问题,结果10分钟不到就有人给了解答(我当时看最近问题时间都是一周前的,真想不到这么快有人回复,而且完美解答)。
  最近正在学cs61b,配合着onjava8,打算拾起java顺便复习下数据结构。然后就是xv6暂放因为复习期末实在没太多的心力读paper(不知道为什么后面的课在讲论文,有点害怕)
  我是今年12月才使用twitter的,起源是因为刷知乎的时候发现我刚关注的一个人是一年前关注的退乎转推大佬的小号。于是玩起了twitter,感觉比知乎好多了。

2020年的最后一天和对未来的展望

  之前说过我刚入学的时候一心想着本科毕业进大厂,可现在越来越觉得路远不止如此,我最想的是读一个美国或加拿大的master,但经济条件不允许,所以我更倾向于去外企,并随后转到国外工作。我觉得996和35岁的大环境实在是不适合我,我希望我能把我的生命投入到我热爱的方向上来,学到死亡,这样过完我的一生足矣。
  2021年上半年的打算是学完CS61b,CS144,TCP/IP1,APUE,UNP,linux多线程服务器,一门数据库的课程,更深入的学习下c++,做一个和网络有关的项目(这么多书估计只能看一半左右,课差不多能上完),如果能在大二暑假就能找到一份不错的实习就再好不过了。
  twitter用了半个多月了还没有人给我点过爱心。。。非常欢迎有人能和我交朋友,交流技术之类的(不过我很菜)。