NYU Tandon MSCS 23fall 入学一年体验

avatar 817943
MarkSyl
413
3
2024年5月25日,北京时间20:53,我坐在返回纽约的飞机上,开始敲下这段文字。

2023年8月21日,我和女友告别,独自踏上了前往纽约的飞机。不是第一次去纽约,但这一次带着坚定的目标:在master阶段探索我的人生和职业可能的方向,为找到有意义感兴趣待遇好的工作打好基础。直白来说,读master的两年对我而言是“预工作”的两年,是将所学应用于实践,积累工作经验和人脉,走向职业道路的两年。虽然自然也要上课学习,但目标已经不再纯粹。

为什么需要这两年呢?回首过去,看到的是没有早早探索明白自己想从事的方向而积累履历的稚嫩,是确定兴趣后对于做科研还是进入工业界的探索,是从小想要出国看看,感受并且深度体验不同生活的渴望,也是疫情后糟糕环境下被迫积累更多经验而获得好的出路的被迫之举。

在NYU的这一个学年,我过得好吗?是否实现了自己的目标?是否有所收获?

接下来的长文将分成两个部分,讲讲我在学业和找工方面的个人经历,供大家参考,也博各位一笑。

### 学业方面

#### 第一学期

CS-GY - 6083 Princeples of Database Systems

整体体验不错,Suel老师是很认真也很有实力的学术型教授,对自己教的东西比较了解(好像本来也是做这行的),问问题能得到还不错的解答。课程相比于本科花半学期讲SQL,更加侧重于数据库的其他部分,例如索引,优化,范式,数据库层级架构等等。作业要求也更加具体和落地于实践,会让我们计算不同索引和优化策略下,具体的时间占用。整体来说,尽管本科学过,这门课还是让我对本科没学明白的BCNF 3NF等范式有了更高层次的理解,对于很多本科只了解概念的数据结构和优化方法也有了更加落地于实践的认识。

虽然大家似乎说这是一门硬课,但是其实workload还好,作业一共只有五次,每次认真写可能写个一天到两天不等,一次期中一次期末,题目相比本科还算仁慈,时间也给够。final project也就是做一个数据管理平台,需求基本完成都能拿接近满分。本人实践下来workload大概在5-10h/week(不过也因为投入时间少没拿到A)

整体评价:4.5星,0.5星扣在这只是一门中规中矩的数据库导论课,没有技术上的深入(例如实现数据库功能),也没有找工上的大帮助(例如实现有意义的project)

CS-GY - 6063 Software Engineering I INET

整体体验不错。这门课的形式大概就是paid part-time SDE internship. 只不过是你给学校付工资(学费) :D. Civil教授是google的SDE manager,课程内容以google推进项目的方式,运用scrum法则进行敏捷开发,一学期一个小组开发一个有实践意义的全栈APP,并结合CI/CD,并要求test suite覆盖后端。整体来说这对于没有SDE实习的同学(比如我)是一个很好的全真模拟的机会。此外,这对于刚入学的同学来说也是很好的(强制)练口语/听力的机会,我觉得对于面试有一定帮助。但是老师实在是教不了什么,全靠自己和组员相互帮助。

技术栈老师推荐django,但不限制。我运气比较好,分到的小组组员水平虽没有很强,但整体还不错,有一个UCSD的哥们和一个UoT的学姐带我开发,教了我不少东西。我们用了Django+React静态编译部署到AWS。

workload方面,这门课如果好好上,不昧着良心水,workload是相当不小的。我抱着想攒一个不错的full-stack项目的想法,即便我只是组里大概贡献排第三的成员,也大致在中间实际开发的10周花了20h/week。而且每周都得开会pre,展示本周的进展,这也有一定的压力。

整体评价:4.5星,0.5星扣在老师给的帮助有限。

CS-GY - 9053 Intro to Java

整体体验很一般。Dean老师每周都很困地从公司下班来学校,一遍打哈欠一边对着自己没好好准备过的课件读ppt。Dean老师有个好习惯,就是现场编程演示教的东西,但是Dean老师实在是不备课,即便这门课开了很多学期了,Dean老师依然会出现自己不明白哪儿出错了的情况。不过Dean老师即便是自己都嘟囔着今天怎么来的人这么少,也坚决不点名,所以想翘课的同学尽管来吧。

workload方面,大家都说这是水课,但是我觉得不算很水,workload快数据库课五五开了都(5-10h/week)。主要是因为基本每周都有一次作业,编程量并不小。final的要求也蛮多,而且比较toy。但是给分不错。

整体评价:2.5星,看在不点名+给分不错的份上

#### 第二学期

CS-GY - 6033 Design & Analysis of Algorithm I

整体体验不错。linda教授堪称tandon之光,是我在nyu遇到的最和蔼可亲最负责最有激情的老师,很可能没有之一。这门课结合黑皮算法导论讲算法,侧重于算法实践,理论讲的较少(例如不讲摊还分析),覆盖面比本科课程稍多一些。如果没有学习过算法导论,或者没有认真的学习过,那linda老师应该会让人感觉引人入胜,妙趣横生。但是对于算法导论之前相对学的比较认真的我,就已经提前预知了很多linda老师的问题/伏笔,因此感觉有些慢节奏而不那么感兴趣。

workload方面,虽然大家说是硬课,但是其实还好。每周一次作业,3个人一起写,作业基本不计入成绩,所以如果想水可以完全不花时间。但是考试和作业强相关,所以最好还是好好看一遍所有的题目。我自己是每周花一晚上写写同伴丢给我的题目,考前再好好复习一下书面的东西。workload大概5-10h/week

整体评价:5星。虽然在我这里的感受可能不是5星,但是我愿意给linda老师和这门课5星。

DS-GA - 1008 Deep Learning

整体体验不错。NYU的明星课程,Lecun挂名的课。我这学期的课有3个老师来上,前半学期是Alfredo老师光速把Deep Learning的一些基本知识和网络全过了一遍,还花了两节课讲energy model。后半学期是Ren老师讲了一些NLP和CV方面前沿发展的insights,还有一些phd来给了一些科研分享。Lecun作为客座教授出现了4次,给了3个讲座,并参加了最后的Project presentation并给了总结和答疑。整体来说,这门课程是很硬核的,讲的东西很多很杂并且很research导向,不适合没基础/不想花很多时间的同学来上。但是这门课和我个人的需求比较匹配,所以我还蛮喜欢的。我的需求是希望有一些利用pytorch进行ML实践的机会(4次作业都有深度也有价值),积攒一个kaggle竞赛类似的经历(最后的Project很有趣,且提供了上至H100的计算资源,能够做一些有意思的事情),补一些DL领域的基础知识(看课件和写作业自学了不少),获得一些前沿综合领域对于DL的理解(Ren老师的讲座非常不错,讲了CV和NLP发展的脉络,帮我补全了CV方面的知识)。

workload方面,前半学期的workload非常大。每两周一次作业,一次作业包含理论和实践,都很有难度。在我有一定ML基础,且理论部分相对水掉的基础上,大致平均一次作业需要花30h-40h来完成。再加上这门课一周上两次,还有一些东西可能需要消化一下,前7周的workload可以达到25h/week. 后7周只有一个project,workload就小了不少。不过project是打榜制,按表现排名给分,所以也需要投入不少时间,我大概投入了80-100h的时间在这个project上,因此后半学期平均workload在15h/week。

整体评价:4.5星,0.5星扣在讲的太快(也可能是我菜)

CS-GY - 6813 Information Security & Privacy INET

整体体验还行。已经有两个硬课了,想选个不考试的水课。这门课的内容其实还可以,可惜我实在对安全不太感兴趣,就没好好学。除了上课写作业,这门课还要求写一篇安全领域的小论文,主题任选,并且有严格的提交/互评节奏。除此之外,还有各种形式的lab,算是一门还可以的导论课。

workload方面,虽然几乎不用听课,但是需要每节课做小测,按实际成绩给分,并且是平均成绩,所以还是得好好看课件。又因为有各种形式的lab作业和论文,这门课其实没有很水,大概还得花到5-10h/week。不过,这门课很早就可以结束,所以能把期末的时间留出来。

整体评价:4星,1星扣在我不感兴趣lol

整体来说,Tandon的课程体验大致是——丰俭由人,水可以很水,硬也可以蛮硬。给分相比于正态分布大学肯定是好了很多,考试课可能curve,project课完全完成要求很难不A。我自己有本科cs基础,在每学期2硬1水的搭配的情况下,大致投入30h/week的样子,拿到了接近满绩的成绩。

### 找实习方面

先说总结,SDE和MLE混找,投递400份左右,几乎全部海投,只拿到两个公司的面试,都走完最终轮,最终1offer (maybe 1.5 offer, 某中国出海大厂感觉面的不错,最终因为投的迟/菜而挂了,后来又被终面面试官linkedin联系捞起来说又有hc了,不过已经接了另一个美国小厂MLE的offer,就拒了)

我开始准备的时间有些晚,暑假零星刷了少量题,到八月中下旬到纽约之后才正式开始好好改简历,按neetcode分类型刷题速成,九月初才开始摸索投递信息渠道,开始比较系统地投递,也为career fair较为完整准备了材料(可惜除了tt人均给一个内推码,唯一拿到HR口中"special treat"的AI中厂最后忘了follow up,也没有任何下文)。这个过程中也做了不少OA,大部分都AC了,但是由于系统刷题开始的晚,我为了有把握AC,总是拖到接近ddl才做,于是乎全对也是被放waitlist / 池子里养鱼 / position filled,也算是自食其果。

投递到十月中,大概投了200份,开始觉得有点不对劲。也投递了一个多月,怎么完全没有面试邀请?开始思考是否需要去找人内推,但是本人还是比较懒,加上课业和找工事情比较多,最终还是没怎么找内推。不过事后看来,很多岗位开放的窗口其实很短,有些公司的内推几乎没用(amazon前排挨打),在美国没什么人脉,加上筛选投递本身就很花时间了,要找内推确实也是难度不小的事情。可能对于很想去的公司/开放窗口长的大公司找内推比较现实吧。

接着到了十月底,拿到了人生的第一个面试,很紧张很激动,努力准备了一星期,一天背靠背面两轮。一轮面试官人挺好,上来聊了聊简历说还是比较solid的,接着就出了道hard,磕磕绊绊打了35min才基本写完,评价是用时有点长但是既然是hard也还行。二面面试官上来就大聊简历上的research相关经历,我虽然投的是ML组的SDE,但也是SDE,却被问了大的宏观的research问题,感觉有点奇怪,不过还是基本都答上来了,面试官最后已经开始问什么时候能入职/能不能尽早入职,感觉可能蛮有希望。但是最后等了两周只收到了冰冷的模板拒信。那天早上我错过了去奥莱的班车,独自一人在曼哈顿的大街上徘徊,想起刚来纽约时看到这座灯火通明的宏伟城市十分有动力,很想靠自己的努力在这里解锁更多不一样的体验,而不是仅仅做学习和观光的过客。但那时的我只感觉,纽约只是冰冷的concrete jungle,看似美好但却无法走近。

十一月中下旬抚慰好心情重新开始好好投递,接着感恩节假期后就进入了期末周,感觉秋招已经告一段落。不过在十二月初准备final的时候又收到了另一家fintech小公司的MLE面试。HR面15min,主要讲了公司的情况和面试流程。接下来是4小时的机试,类似kaggle的形式,根据数据集建模预测,并回答一些问题。因为没太认真准备,加上机试过程中经历了好一些离谱问题,整体完成度感觉一般,不过所幸进入了面试。面试都排在一天,一共三轮。第一轮是ML基础知识面,和某出海大公司不同,这家美国公司很注重基础知识的考察,深挖了很多非常细节的原理性问题,还好本科时ML和DL理解的还算到位,磕磕绊绊用不大流利的英语基本回答了出来。第二轮是BQ,没有直接考大而空的问题,而是挖掘简历,结合简历的内容问相对应的BQ,所以之前准备的一些笼统回答/例子也没用上,只好自己临场应答,不过感觉答得也还行。第三轮也是技术面,现场出题要求给出完整解决思路,一开始出了一道时间序列预测的题目,本人完全不会,磕磕绊绊尝试答了五分钟应该是没答到点上。面试官虽然板着脸但是好心地问我是不是不太了解这方面,我如释重负说对对对,你考我点NLP吧。接着就换了选题,让我有了点发挥的空间。一星期后大概一月底收到了offer call,有些意外,非常惊喜。原本做好了再苦战一学期的准备,在开学不到两周意外地结束了,让我有将近一个学期的时间来做自己想做的事情。

接下来就开始了好好上课+四处探索的快乐学期。去yale逛了逛,去滑了雪,研究了春假去哪儿玩,并经历了从西欧到南美最终到东欧免签国的"妥协"之旅,不过体验还是挺不错。搞了permit,趁着在岛上上课探了主校区附近的很多家中餐厅,也测评了nyu的众多食堂(downstein性价比自助yyds)。终于有时间在纽约的街道闲逛,每周出现在羽毛球场和健身房数次,也参加了很多活动。比起忙碌而焦虑的第一学期,第二学期更加有了做学生的感觉,也让我增添了许多对于nyu和nyc的记忆和连接。并且,在好好上的和没好好上的课都拿到了还不错的成绩,除了没能在合适的时间拿到在校工作的机会,似乎也没有什么大的遗憾了。

总体来说,我还是蛮幸运的,在nyu的一年里探索了很多,也获得了一些机会去做想做的事情。欢迎对tandon mscs感兴趣的各位朋友留言,我会尽力回复。写长文不易,也希望大家能给我加加米~
  • 4
3条回复