绿松树

搜索
查看: 174|回复: 20

迟宝宝的匹村 CMU 游记

[复制链接]

2

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-17 21:32:25 | 显示全部楼层 |阅读模式
前情提要:《22 Fall 出国申请 MSCS 的流水账》
失败人士迟策最终来到了美国东海岸的匹兹堡(匹村),在 CMU (北美小衡水) 混吃等死。一个学期快要结束了,在此记录一下生活。
学习

CMU MSCS 项目的选课比较自由。三个学期上九门课,其中包含至少一门 AI / Theory / System 方向的课程即可。这学期我上了三门课。
10-601 Introduction to Machine Learning: CMU 的机器学习入门课,有 ML 基础的同学一般会选 10-701 PhD level 的 Intro to ML。本人这学期花的时间最多的一门课。本失败人士是纯纯的 system 人,对 ML 一无所知。这门课主要覆盖 ML 的一些经典理论(分类器、线性模型、深度学习、学习理论、贝叶斯+马尔可夫、强化学习)。上课的两位老师是 teaching professor,讲课非常清楚,在教学上可谓是非常用心(虽然我经常因为内容太理论跟不上思路)。编程作业非常简单,但 written 部分需要花一点时间。值得一提的是这门课一学期要考三次试,每次考试都要花比较多的时间准备,和 CMU 北美小衡水的称号非常契合。
15-640 Distributed Systems: 这门课没有录像也没有直播,而我早上又经常起不来,因此我常常翘课。个人认为是纯纯的水课,我在这门课上每周花的时间不超过三个小时。Project 非常简单但是要组队,刚开始我在课程论坛上问能不能单开,老师同意了;但后来有人的队友 drop 了这门课,于是我和落单的同学组了个队。对于有工业界的经验的同学,这门课讲的内容基本上都耳熟能详了,因此也没什么上的必要。
15-641 Networking and the Internet: 这学期最喜欢的一门课,教材是 Computer Networks: A Systems Approach。前半学期主要集中在传输层上,讲 TCP 协议和各种局域网协议。能了解到网络运作的原理是一件非常有意思的事情,我也对 TCP 协议有了更加深刻的理解。后半学期主要讲应用层上的东西,我之前了解的比较多了,所以基本上不太需要听。这学期三个 project 分别是实现 Spanning Tree Protocol、实现 TCP、实现 HTTP (支持 pipelining),非常好玩。美中不足的是感觉上 TA 人手不太够,autograder 做的也比较烂,因此写完 project 以后要花很多时间和 grader 斗智斗勇。感觉他们应该从我这里特价购买 15-445 的 grader,绝对让学生满意。
秋季学期之前,我在暑期提前上了 15-513 Introduction to Computer Systems。由于我大一的时候就已经自学完了这门课,所以在这门课上也没怎么花时间,早知道就 waive 掉了……
总的来讲,因为我选的课都比较简单,所以我在 CMU 的学习生活比较轻松,没有感受到“传说中”特别大的压力。
生活

选择了匹兹堡,就是选择了没有生活。匹兹堡是落寞的钢铁工业城市,所以现在基本上已经没有现代城市的感觉了。从生活质量上来讲,应该是远不如上海的。比如买衣服基本上只能线上买,线下基本上没啥服饰店;比如 downtown 非常的小,啥也没有;比如能参观游览的地方一只手数得过来(动物园、博物馆)。想要吃吃喝喝的时候,CMU 周围的奶茶店也没什么选择。因此匹兹堡的生活非常的无聊,生活的乐趣来源只有学习。
除了匹兹堡以外,我刚刚落地美国的时候在纽约住了两天,八月在加州玩了快两周,秋假去 Boston 玩了一圈。感觉如果以后真的要在美国东部生活,Boston 应该会是我的首选。当然我大概率还是会选择去西海岸晒太阳。
匹兹堡的冬天挺冷的,十一月中旬下了一场雪,之后气温就在 -5 到 10 度之间反复横跳,夹杂着下雨天和阴天。很难想象美国人民是如何在这种恶劣天气中生存的。
考虑到美国水深火热,新冠肆虐,我一到匹兹堡就打了一针辉瑞,过一个月打了第二针,上周打了二价加强针。万万没想到我还是得了新冠。故事是这样的:上周打完二价疫苗一天后,我就感觉喉咙痛。考虑到刚打完疫苗,加上本失败人士有过敏性鼻炎,我自认为是疫苗的副作用导致的咽喉炎,就没有当一回事。等到一周以后没症状了,突发奇想测了一个抗原,发现是阳性,这才知道上周感恩节得了 COVID。
游戏

Switch

  • 异度神剑 3 发布以后我就在刷刷刷,到上个月中旬终于通关了。
  • 最近在刷女神异闻录 5 皇家版,还差两个宫殿就通关了。
PS5
战神 5 发布之后索尼放了一批 PS5 的货,于是没忍住从 Walmart 买了一台,结果被 FedEx 送丢了,全额退款;趁着还有货又在索尼官网上下单了一台,第二天就送到了。

  • 战神 5:大概只完成了 10%。
  • 最终幻想起源:5%。
  • Goat Simulator 3:大概玩了三四个小时。
除此之外还买了一些独立游戏,等着之后有空了慢慢刷:Wayward Strand, South of the Circle, TUNIC, Lake, A Little to the Left, 再见 Once Again, 纪元:变异。
助教

这学期还有一件比较大的事情就是给 Andy 打工,做 15-445 Database Systems 的助教。我做了三件小事:给 BusTub 加 SQL layer,重新设计一部分 project,在浏览器里用 WASM 跑 BusTub,取得了不错的成果。
通常来讲在 CMU 的第一个学期是不能做 TA 的。因为正常入学的硕士学生没有上过 CMU 的课,而且一些项目有相关的限制(比如 MSCS 第一年通常不能做 TA)。但是 in CMU, every rule has an exception. 今年四月接了 MSCS 的 offer 之后,我突然收到 Andy 的邮件,他看到了 RisingLight 项目觉得我很强,问我要不要做 15-445 的 TA,我说好。之后问 program advisor 能不能给我一个机会第一个学期做 TA,过了几个月,总算收到邮件同意了。八月份我一边在加州玩一边稍微上手改了改 BusTub,改着改着我就开始写新功能了。本来整个 SQL layer 计划是花一个学期写完,结果九月还没结束我就写的差不多了,所以就直接用在了这个学期的 project 里面了。写完以后觉得要找点事情做,我就想用 Rust 写 BusTub。不过一个学期快过完了,我也还没有开始动,这个事情可能要拖到明年了。
BusTub 的整个 query execution 层已经比较成熟了,但是在存储和事务上还存在比较多的问题。之后我们可能会考虑写一个 MVCC storage 换掉现在的 2PL project,这样比较方便实现 serializable snapshot isolation,也会让课程项目更有挑战性(更有趣)一点。
Andy 非常喜欢这些新东西,于是发了条推:https://twitter.com/andy_pavlo/status/1598137244380192769


找工

众所周知,美国找实习非常卷。正常来讲如果是在国内,暑期实习七月开始,三四月份开始找就可以了;但是在美国,暑期实习五月中旬开始,基本上前一年八九月份就要开始找了。我的下一份实习计划还是做数据库内核,计划面试两家大厂和五家小厂。面试太多可能排不过来,而且我基本上有比较明确的目标,所以我并不想面很多公司。
我面试前基本没有准备,leetcode 依然停留在大三暑假找实习的 20 题,算法题是个硬伤。由于之前实习了比较长时间,对于各种系统设计也比较了解,system design 方面也没有做特别的准备。
大厂面了 Databricks 和 Snowflake。个人非常喜欢 Databricks 的面试风格,比较有利于我讲自己的想法,但由于签了 NDA 不好明说面了啥。不过 Databricks 的实习面试是随便找有空的人来面的,并没有保证说安排做 DB 的人来面我,因此介绍自己经历的时候常常会出现面试官不太理解的情况。Snowflake 纯纯的做题,但好在面试官都是做优化器的,聊起来比较有劲。不过 HR 后来忘记 follow up 了,过了两个月才想起来要给我安排 manager interview,最后可惜没有完整走完流程。
小厂主要面了一些比较早期的 data infra 公司的数据库开发岗。

  • 某 LinkedIn 出来创业做 realtime analytics 的公司:四轮 system design,挺好玩的。很少有见到有公司面实习生全部都是 system design……
  • 某做 Business Analytics 的 C 轮公司:一面聊经历,二面写代码。HR 说我的背景挺好的于是流程也走的特别快,比正常流程少了一轮。
  • 某在 RocksDB 上做实时分析的公司:第一轮题没做出来挂了,因为只给 45 分钟而且我作死用了 Rust 甚至没编译通过。这是我唯一面挂的公司,感觉面试官对我做 DB 的经历也不太感兴趣,应该是聊崩了。。。
  • 某 Serverless Postgres 公司:先和 CEO 聊,感觉挺好玩的;然后一轮技术面,用 Rust 秒杀三道题;接下来和 co-founder 第二轮技术面,他觉得我的经历比较丰富,于是水了一道比较简单的题,之后主要都在聊天。总的来讲挺好的。
  • 某基于 Apache Arrow 的创业公司:一面聊经历,聊完以后的一个星期基本上想好去哪了,所以没有走完整个面试流程。
最后和很多朋友聊了聊,也和 Andy 聊了聊,我选择去某 Serverless Postgres 公司暑期实习,也算是结束了找工这件事情。
在此期间也有很多人劝我读 PhD。由于我想赚钱钱,所以读 PhD 短期内应该是不太可能的事情了(
总结

转眼间一个学期就过去了,在这期间我也一直在思考读硕士的意义在哪。Andy 问我这个问题的时候,我说 80% 是为了赚钱钱。事实确实如此。当然除此以外,我也觉得在北美小衡水上学挺好的。有一年半的时间可以探索自我,尝试各种有趣的事情,感受一下匹村的风土人情。毕竟连续工作了快一年的时间,也需要跳出来看看世界是什么样的,开阔一下眼界。总的来讲,挺好的。
回复

使用道具 举报

3

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-1-17 21:32:42 | 显示全部楼层
带我走吧chi[大哭]
回复

使用道具 举报

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-1-17 21:33:05 | 显示全部楼层
成功!
回复

使用道具 举报

3

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2023-1-17 21:33:33 | 显示全部楼层
带我走[大哭]
回复

使用道具 举报

1

主题

3

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2023-1-17 21:33:49 | 显示全部楼层
你快回来[大哭]发奶茶了
回复

使用道具 举报

2

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-17 21:34:28 | 显示全部楼层
迟先生我最近也在弄一个RISC-V上跑的Rust数据库,能一起弄吗,我也写过15-445[赞同]
回复

使用道具 举报

2

主题

6

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2023-1-17 21:35:25 | 显示全部楼层
彻底成功[大哭]
回复

使用道具 举报

0

主题

6

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-1-17 21:36:16 | 显示全部楼层
带我走吧[大哭][大哭][大哭]
回复

使用道具 举报

2

主题

9

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-1-17 21:36:52 | 显示全部楼层
tql
回复

使用道具 举报

2

主题

6

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-1-17 21:37:41 | 显示全部楼层
看起来像是heikki 老师主导的 neon 呀[大笑]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|绿松树

GMT+8, 2025-5-14 00:05 , Processed in 0.108903 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表