大一春
总觉得最近脑子越来越不好用了,趁着还没忘记,赶紧把之前的事情记录一下
文化课
学了一些数学物理课,感觉没什么好提的,没咋去上过课,学的也不是特别好。
我校为了提高工科素养,强行要求工科学生选修一门化学或者生物课,我就选了一门大学化学,最后70多分,还好现在这个课已经不计入我的学分绩了。
当时应该是修了一个危机传播学和空间科学的选修课,比较水,基本没怎么去上过课。
还有一门程序设计课,也基本没咋去上过,因为当时比较喜欢在宿舍里打红警2,一直打打打这学期就过去了。
中国近代史纲要,没咋去上过课,也没咋复习,但是还记得一些高中时候学的历史书上的内容,就把课水过去了。
学了一个THUOOP,挺有意思的,把题都做了,感觉给我的C++打了很好的基础。
竞赛
开学的时候打了个美国数学建模,感觉这比赛挺没劲的,前一天开摆,后两天通宵干活终于做完了。
我是负责建模和编程位的,但是实际上还负责了不少的latex书写和画图。
上网找了点画统计图的网站,把统计图画的花里胡哨的很好看,但是其实模型做的很拉跨。
随便搞了点什么方差统计之类的简单东西,自己都没法说服自己这玩意是对的
然而Submit Solution之后的平凡的某一天,队长突然跟我说拿了个F奖,当时还是挺震惊的。
ACM的话打澳门站拿了个金牌,第六名,总之是出线失败了,感觉后面也没啥机会了。
ECFinal之前狂练了若干周,还顺便把军训缓了,但是成绩不理想,39名,金牌都没有。
感觉挺失败的,可能水平就这样了吧,当时我也不知道之后还打不打ACM了,反正慢慢静下心来摆烂,感觉也不错。
实习
这学期感觉没什么事情,
就找了个外边的实习来做,是一个上海的一个做CodeCheck的公司,做的项目当时对我来说还是挺困难的
首先我没有学习过Java,上来就给了我一个Java的项目来做,有点摸不着头脑。
加上英文水平不好,读SPEC非常困难,读了很久才读明白了个大概,拿到的项目是写一个JVM,现在看看就是个大模拟,当时写的还挺有意思的,写了一些解析器解析出class文件里的JVM指令,然后汇编这些指令得到一个可执行的程序。
最开始写的一个Demo是运行一个输出全排列的程序,用C++写大概就是:
#include <iostream>
using namespace std;
int n, a[10], b[10];
void dfs(int x) {
if (x == n + 1) {
for (int i = 0; i < n; ++i) {
cout << b[i] << " ";
}
cout << endl;
return ;
}
for (int j = 1; j <= n; ++j) {
if (!a[j]) {
a[j] = 1;
b[x] = j;
dfs(x + 1);
a[j] = 0;
}
}
}
int main() {
int n = 5;
dfs(1);
}
临时写的,没编译,不知道写的对不对
最后我历尽千辛终于把这玩意搞定了,给一个这种Java程序的字节码,我的JVM能够跑这个程序。
相当于做了一个解析器和模拟运行的壳子
下一个任务是进行多线程死锁检查,我实现了mentor相关的一些指令,具体的做法是把每一条Java程序中的线程都和JVM中的线程对应,
然后对于每个可能用到的对象,以其在内存中的虚拟地址为点的代号,线程对其支配关系为边,做了一张图,每个执行一条会改变支配关系的指令,我们就对这张图跑一次拓扑排序,就可以完成运行时的死锁检测了,这个似乎是叫银行家算法还是什么?记不清楚了。
转专业
从计算机专业转到了计算机试验班,感觉对我的均分来说难度还挺高的,还好我数学考的不错,拿到了面试机会
面试的时候是多对多的,问了一些问题:
- 纯英文自我介绍
- 写过最长的代码有多长
- 高中及大学时候有没有打过OI/ICPC竞赛,如果有,获得了什么奖项
- 文化课学的怎么样
还好之前和唐老师聊过一次,他告诉我要好好准备纯英文自我介绍,去面之前czz帮我修改了一下文案,用的都是Yes!PrimeMinister里面的用词,很地道很拽洋逼。
生活
迷上了打游戏,暑假买了个老头环,一直打打打,60小时的时候通了一周目,体验真的很棒,从此爱上魂类游戏无法自拔,又去玩了之狼和黑魂3。
RTS游戏的话还是一直有在玩红警2的,这游戏真不错啊
暑假没回家,在学校待着感觉也不错,很悠闲,宿舍就我一个人想干啥干啥,想几点睡几点睡,也没人管我,一天吃两顿外卖,心情好出去吃一顿,爱吃啥吃啥,还没作业,爽,偶尔写一些之前的实习项目没写完的部分,过了一段时间就把实习辞了,专心摆烂。
直到有一天突然很闷很难受,晚上一个人去串串烧点了一大桌子菜,自己全吃了,我第一回知道原来我也能吃这么多东西。