跳转至

2024年找暑期实习时的所思所想

本页统计信息
  • 本页约 6776 个字, 预计阅读时间 23 分钟。

  • 本页总阅读量

简单记录一下2024年春季招聘找暑期实习的心路历程,以及投递的一些公司和具体的面试情况,顺便在其中穿插我的一些锐评和私货。

心路历程

据说世界是一个巨大的回旋镖。大四保研之前,人群中流传开的一句话是:“磨刀不误砍柴工,先读硕士再打工。”那时候的我也秉持着这样一种理念,开启了我的硕士生涯。

起初一切确实有条不紊地进行着,科研摆烂,随便搞了几篇现在看起来像儿童读物的水文准备准备躺着混个毕业走人,那时候我想,还是得体验生活,多刷刷题背背八股文,后面有条件再混一段实习,然后准备找个工作。但不知为何,去年下半年开始突然有了很多多余的想法,然后就连着搞了好几篇论文投出去抽奖,顺便还因为原本华为项目的团队人走茶凉,所以2023年最后一期的合作项目基本全压在了还没毕业的我身上。这样一来,本来打算2023年下半年开始自由飞翔的我却反而进入了一个相对的高产期,一边做项目一边做科研课题,再2024年寒假开始之前一共搞出了好几篇在抽奖的论文,顺便也愉悦送走了华为的甲方。结果就是完全没有计划之中的天天爽摸鱼环节。

那时候我觉得,科研好像也挺有意思的,是不是可以往这方面继续试试?然后寒假之前就喜提二连拒稿,只能改一改找地方转投。接着就在改稿和转投中又过了半个寒假,然后终于在过年快过完的时候中了一篇B会。

一直在跟老板提能不能转个博,但也没有得到肯定的答复,好不容易真的用心做了几篇论文,也一直没有中稿。于是从二月下旬开始开始着手准备找找今年的暑期实习,前后一共花了一个多月时间,还是拿到了不少offer,也算是没白跑一趟。总的感想就是,面试真tm累人,我在经历了半个月高强度面试之后逐渐有点累了,但也逐渐收到了offer,于是把一开始海投但实际上并不想去的一些公司给正义切割了。下面来具体复盘一下这段持续一个多月的找暑期实习的经历。

基本情况

找实习之前我用得上的成果不多,主要就是一篇B类会议文章,还有一些更幼教的C类会议文章,两年的华为项目经历,还有导师的合作实习,以及几篇正在投稿的多模态知识图谱和大模型相关的文章。总的来说就是没有A会,方向比较冷门,而且华子的项目本质杂活力工,没啥含金量,应该说简历不是很硬。

大致规划

由于长期搞ai使我变得目光呆滞,智商逐渐降低,最后完全沦为了弱智,所以找工作的时候完全不考虑各种开发岗,因为好久没写C++/Java一类的玩意,我已经忘记的差不多了。总体的找工作目标岗位是多模态算法岗和大模型算法岗,一个是因为这些岗位这两年机会相对较多,另一个也是方向还算沾点边,有点相关经历,可以蹭一蹭。

目标工作地点主要是杭州和南直隶松江府,其实互联网企业能选的地方一共也就那么多,因为头上没长通天纹所以不是很想去北直隶顺天府,深圳那边除了腾子的大手也没啥别的机会(也许还有华子的,但做了两年华子项目使我感触良多),自己主要的人际关系似乎也都集中到长三角地区,所以找工作的时候也就主要选这些地方了。

前期准备

前期准备主要是刷了些Leetcode上的题,也不多,每天就做三五道,而且基本也是Top100之类的常见题,别的就没刷了,其实我做算法一直比较菜,感觉刷太多也有点费时间,反正又不会把代码背下来,找点常见的练练手得了。

然后每次面试之前找点面经突击一下常见的算法岗八股文(特别是Transformer和大模型),也没整天花时间去看或者去背,感觉也没必要。面试官想来也是天天在自己的岗位上洗数据写提示词,指不定谁的目光更加呆滞呢,所以差不多就行,面试就主打一个糊弄,问到会的也就罢了,问到不会的也凭感觉乱说一通。

顺便,我在准备找实习期间其实萌生出了一篇新论文的构思(跟我混的熟的人应该都知道就是MyGO那篇),然后就开始一边找实习一边做自己论文。

正式投递

大概三月份开始逐渐开始投递实习,主要的投递渠道来自学校论坛里的招聘广告和实验室师兄师姐们的内推,具体的投递和面试过程可以查看第二部分我的投递记录。

面试记录

注:以下公司的面试记录按照投递时间排序,该顺序不代表本人对各公司的评价。

阿里云其一

3.3在学校论坛看到招聘帖子然后通过邮件投递了,岗位是阿里云的通义千问NLP应用落地相关的。

3.6一面,大约一小时,通过电话进行,当时室友还在睡觉,所以跑到寝室外坐在楼梯上面完了全程。主要就聊了华为合作的项目和对应的论文,问了不少深入的点。

3.14官网招聘系统开放,进行了正式投递。

3.17参加了笔试,阿里系公司的笔试考试时间100分钟,前面有一堆单选和多选题,啥都考,内容涵盖本科学的数据结构、操作系统、微积分、线性代数、概率统计还有基础的机器学习和深度学习。编程题是三道题,两道题稍微简单一道题很难。

  • 相比之下机器学习和深度学习的选择题比其他那些内容简单不少,好多数学知识在做了几年ai之后已经成功忘光。
  • 编程题也挺让人两眼一黑的,最后完整做完的就一道题(是第二题),第一题一个看起来很简单的玩意居然一直被卡测试点,考的时候想了半天想不明白。
  • 阿里的笔试是把算法和开发岗分开的,我考的是算法岗,据考开发岗的哥们说笔试更是难得离谱。

阿里系笔试据说要强制淘汰分数后50%的人(据称),我本来以为有点悬了,结果过了两天被告知排名很靠前,之前主管联系的另外几条鱼笔试貌似都考的比较焚书坑儒。看起来大家伙搞了几年ai算是都把老本忘光了。常年搞ai的人大都目光呆滞,极度自卑,且智商逐年下降,最后完全沦为傻子。

3.19二面,持续时间约一个小时,主要就是聊了和华为合作的项目以及论文代表作,问了很多论文里的细节。包括论文的动机,以及方法上的创新,还有怎么做实验评价等等,都事无巨细讲了一遍。

3.26三面,持续约一个小时,面试官是主管的主管,造型非常独特。

  • 继续深挖自己的几篇论文里的细节,结合具体的生产场景问了很多问题,让我提一些解决方案,总体来说问的问题都偏开放,没有非常固定的解答标准。
  • 还问了很多和改进论文里的方法相关的问题,让我自己评价论文里的方法有什么缺陷,要怎么改进之类的。

4.1 HR面,持续约一小时,过了两周收到了offer

阿里云的面试全程拷打我在华为合作项目里做的工作和产出的论文,对其他的一些东西都不是很关心。另外就是阿里云的面试不咋关心八股文等基础知识(可能是因为笔试已经考了,也可能是他们觉得这玩意没用),更偏向于深挖简历里的论文和项目之类的,突出一个对现编能力的考察。

米哈游其二

3.4官网投递,不过由于米哈游的暑期实习岗位没有我方向对口的,所以投了个NLP的日常实习岗位。

3.7官网显示简历被挂了,很迷,不过其实也没打算去没法转正的日常实习。

大厂都不敢挂我简历,怎的米哈游直接把我简历挂了,是检测到我不玩原神玩明日方舟了吗?

美团其三

3.5系统一开就通过官网投递简历,投递的是大模型算法岗。

3.9参加了笔试,其实这时候美团刚开招聘,3.9的是第一批笔试,不过也没想太多直接上了,笔试在牛客网上考,一共五道编程题,最后完整做完了四道,还有一道题不咋会。总体的笔试难度比较适中,主要考的都是动态规划一类的玩意。

3.22一面,大约一小时,主要问的问题有这些:

  • 问了些论文的情况,问了论文里的一些技术细节。
  • 知道K-BERT是什么吗?同样是利用外部知识,RAG和K-BERT的方式有什么区别?
  • 手写Transformer的实现,并计算参数量
  • 问了些八股文,比如训练遇到loss震荡该怎么办?大模型训练中的浮点数精度问题

一面感想:问的问题还是比较硬核的,怀疑面试官方向和我做的非常接近,像K-BERT是什么这种问题不是同个方向的人估计很难知道。手写Transformer和算参数量之类的问题倒都是一些经典八股,稍微准备一下就没什么难度。

3.25二面,大约四十分钟,主要问的问题有:

  • 问了一些论文细节
  • 问了一些跟大模型对齐有关的问题(和我论文的主题一致)
  • 代码题:每日温度,Leetcode原题。比较搞笑的是面试官先问了我最近有没有在刷题,我说是的。面试官追问,那你印象最深的是哪一道算法题呢?我说,是每日温度,面试官说,好那我们就考这道题。早知道我应该说的更简单的,不过因为做过原题所以手撕起来没有遇到任何难度。
  • 面试过程中还聊到了部门具体在做的业务,得知我的简历被分到了美团的一块新业务,做的是一个美团内部的创业项目叫WoW,我面试的部门主要做的业务是大模型的角色扮演。

3.28收到HR的电话被通知会有offer,从面试开始到发正式offer的流程不到一周,应该说还是比较快的。

最后我没有接美团的这个实习offer,原因很多样,一是因为我对大模型的角色扮演并不感兴趣,二是作为一个创业项目的app,这块业务似乎在美团内部也不够核心,随时有可能暴雷或者被抛弃,三是我的朋友一直在跟我吐槽说美团加班很多,而且正式员工的待遇似乎也一般。

拼多多其四

3.6进行了官网投递,无内推,没有具体的岗位分类,就是算法实习生。

3.15做了些莫名其妙的性格和职业素养测试,感觉测试的目的主要是在筛选打不还手、骂不还口、任劳任怨还讲究主动牺牲舍己为公(司)的高素质员工。

3.24参加了笔试,依然是通过牛客网进行考试,不得不说pdd的题还挺难的。

后续一直没有联系我,等四月底的时候pdd的hr突然开始打电话摇人面试,但我当时有offer了就直接拒绝了pdd的面试,自己去官网招聘终止了流程。

其实本来投递pdd也是抱着随便面一面的目的为后面积攒一点经验,没想到pdd的面试居然是最迟的一批。考虑到之前在学校论坛看到过许多pdd的腌臜事,所以就算pdd给我发offer我也不会去。或许只有一种人比较适合去pdd,那就是命的条数比较多的人。

小红书其五

3.7找师兄帮忙内推的,投的也是多模态搜索/大模型的算法岗。

3.19一面,大约四十分钟,主要问了这些问题:

  • 聊发的论文,按照简历上写的一篇篇问过去,不仅问了大模型的,也问了老方向多模态的一些文章。
  • 出了一道很神奇的算法题,给定一个整数n,生成1-n所有数字的字符串按照字典序的排序结果。

3.26二面,大约一个小时,全程都在聊天,聊各种论文里的细节,没有做代码题。同时也介绍了一下部门里的一些业务。预计如果我去的话会给我安排做智能客服的这块业务。不过由于实验室跟华为合作项目做的也是这玩意,在体验之后我觉得自己对此并不感兴趣。

小红书那边的部门因为有实验室师兄在正式工作所以对部门情况总体来说还是比较了解的,这两年小红书也算是处于明显的上升期,机会很多,开的薪资据说也比较高,但是总体的工作氛围应该偏卷,再加上方向的原因,最终婉拒了暑期实习的offer

网易其六

3.7官网投递了简历,投的是伏羲研究员的NLP算法岗

后续一直没有反应,直到四月底才有hr打电话来问我是否还要继续投递,然后我说要不算了吧,网易的投递流程也结束了。

很多事情或许就这样在不经意中错过了,当然也可能只是单纯累了。

招商银行其七

3.10官网投递了简历

3.24参加了笔试,本来以为是考编程能力的算法题,点进去之后才发现这笔试除了代码能力什么都考。先后遇到了如下题目:英语完形填空和阅读理解,行测的各种杂七杂八的题目(含数字找规律、图形推理、基本的逻辑判断、中文语法),性格测试,还有反应力和记忆力测试。

  • 记忆力测试主要是玩了一些奇奇怪怪的小游戏,包括屏幕中随机闪过几个亮点,然后让你回忆出刚才出现过闪烁点的区域。
  • 反应力测试是躲避球游戏,用鼠标控制一个小球躲开其他球体的碰撞。
  • 后续招商银行又发了新短信让我参加代码考试,不过那时候也是四月份了就不想再折腾了,所以就放弃了。

你们金融口的还真是花样繁多。

腾讯其八

3.10官网投递,岗位是NLP算法实习生,腾讯的招聘系统比较搞,投递的时候可以选择意向城市和部门(我选了南直隶松江府的base地),但是真正筛选的时候就会被部门hr随意抢人,并不能保证一定被投递到目标部门。这让我想起了杭州一些按大类招生的学校。

3.10投递完就开始做综合测评,主要也是一些职业能力测试、性格测试之类的玩意。

3.12一面,大概一个小时,主要就聊了之前工作的一些细节,主要问的都是一些大模型的相关的问题。

  • 不过正式开始提问之前面试官就问我,说我们部门在北直隶顺天府,你是否能接受。我说可以(虽然其实并不想去),面试官说:我以前面的好多南方的学生都不愿意来的。我就很无语,哥们投递的就不是北直隶顺天府的部门,是尔等硬要锁定我的简历给我安排面试,现在刚开始面试又来问这么个问题。
  • 面完之后我心想,你还是早点把我挂了吧,这样我好去面别的部门,结果还是让我过了一面。

3.14二面,大概一个小时,主要就一直在聊华为的项目和对应的论文,问了很多RLHF/DPO/RRHF之间的区别,面试官似乎对这个方向并不感兴趣,并且言语上一直在打压我在论文里的工作。后面出了个算法题是嵌套List解析,也是Leetcode原题,不过比较冷门所以我没做到过,做题的时候就有点磕磕绊绊的。

3.18三面,还在聊华为项目和论文,又问了很多的细节,没有手撕代码环节。还是在问我愿不愿意来京城,虽然我确实不会来,但你们到处锁别人简历,还一直对这个问题紧追不放,是不是有点太心胸狭隘了。

3.26流程被打回,当时感觉这轮投递应该寄了。互相浪费了半个月左右的时间。

3.30系统里正式发现挂了。我非常高兴,因为他走了半个月流程终于把我挂了,可以转向下一个部门了。

4.2被换了部门,转到PCG,然后进行了一面,大概一个小时:

  • 问了一篇新中稿的文章的内容,因为我在面试前一周新中稿了一篇论文,所以就趁热问了。
  • 出了一道脑筋急转弯题,ABCD*4=DCBA,问ABCD四个个位数分别是多少?突然被问这种题有点惊讶,但其实不难。
  • 算法题是经典的字符串DP,反正也是Leetcode原题。
  • 这回说自己的部门在深圳了,依然不是目标地点,不过还是硬着头皮面下去。

4.7二面,大约四十分钟,简单聊了聊论文,问我如何看待大模型的技术性低的问题,我能怎么看待,只能说了一些老生常谈的答案,毕竟ChatGPT也不是我发明的。然后出了一道代码题,全排列,依然是Leetcode的原题。

4.16 HR面,承诺会发offer,问我什么时候去深圳,然后跟我说组里一共招8个实习生,目前已经有三五个人入职或者即将入职了。我想了想既然组里这么热闹,那我干脆就不去了,因为手头还有一个月左右的活要干,等我入职其他人早就混熟了,所以干脆直接没接腾讯的offer

虽然面试过程还挺顺利,但是在选base上一败涂地,腾讯的面试给我的感觉也是随便聊聊,没咋用心准备各种问题的感觉。还是得招靠谱的内推帮忙锁定简历才有机会去想去的部门。

快手其九

3.13内推投递,学校论坛看到的招聘帖,随便用了个内推码就投递了,投的是快手杭州这边的多模态理解算法岗。

3.27一面,大约四十分钟。聊了几篇论文,因为那边不是纯NLP的部门所以对多模态的那几篇文章比较感兴趣。聊完做了个算法题:三数之和,Leetcode原题。

4.8二面,大约四十分钟。还是聊论文,聊华为项目中数据集的构建,聊完做了个算法题:最长公共子字符串,也是Leetcode原题。

面完之后再无消息,总体感觉快手的面试好像也比较随意,而且面试官的提问水平和大厂也有显著差异。

其实快手和我方向对口的主要部门也在北直隶顺天府,但投的时候还是投了杭州的岗位,还是不怎么想去当一个顺天府漂,总的来说就是头顶没长通天纹导致的。

字节跳动其十

3.13内推投递,找的98发帖学长,抱着刮彩票的心态直接投了AML的多模态大模型算法岗位,一开始其实想找师兄帮忙推抖音的电商,不过听师兄说他们那比较累,AML可能更舒服一点(但也更难进),所以后面又改变想法直接投个现在这个岗位。

3.19一面,大约一个小时,主要过程如下:

  • 面试官打开我的简历说让我把简历上写的四篇代表作找出来,一篇篇跟他聊,一聊就是五十多分钟。主要就是在解释自己为什么要这么做。
  • 中间穿插了一些八股文的拷问,比如SGD和Adam之间的区别,llama2相比于llama1的改进,总的来说比较常规。
  • 最后离一小时还六七分钟的时候说我们随便写个题,但是时间不太够了,所以你得写得快,然后说让我自己实现一个快速排序。虽然快排比较基础,但是我确实没复习到过,只能临场发挥了,所以手忙脚乱地花五分钟给他现编了一个,跑了一组测试数据过了,然后一面就结束了。

3.22二面,大约一个小时,主要过程如下:

  • 依然聊论文,这次问的比较多的是华为那篇文章,聊了大概二十分钟,还聊了聊多模态知识图谱的那篇论文,然后开始疯狂拷打八股
  • 问多模态的融合有哪些操作。从古代的拼接和点乘一路说到了大模型的融合方法。
  • 问知不知道Q-former,其实就是对CLIP->BLIP那一套多模态预训练模型的拷打,还好之前看过。
  • 问对多模态生成模型(Diffusion和SORA)的认知,问了很多Diffusion模型实现的细节,比如怎么更好地将文本输入和图像进行语义匹配。我对Diffusion了解的也不多,智能凭感觉瞎答。
  • 问对多模态大模型的理解,知不知道现有的一些主流技术方案。把知道的都说了一通。
  • 问大模型中的Attention如何进行优化其计算效率。答了KV-Cache和FlashAttention,问我Diffusion模型中能否参考KV-Cache这样的方式进行优化,我两眼一黑,又开始凭感觉瞎答。
  • 最后二十分钟出了个代码题,是没做过的题,大意就是说有给定2n+1个排好序的数,其中有n个数组重复出现了两次,另外有一个数只出现了一次,用低于O(N)时间复杂度的方法来找出只出现了一次那个数。虽然没见过原题,一开始差点被难住了,后来一想似乎只能是二分,然后还没彻底想清楚开始写(再搞下去时间来不及了),写着写着突然想明白了,实际上就是一个原始二分查找的简单改进。

4.1三面,大约一个小时,主要过程如下:

  • 拷打论文,这次不是简单聊聊了,直接从论文的motivation和具体的设计上进行狠狠地拷打,拷打了半个多小时。
  • 给了比较长的时间手撕代码,写一个Multi-head Attention,虽然准备过,但是写完之后和面试官在代码细节上讨论了很久,比如该用Pre-norm还是Post-norm
  • 总的来看比较像压力面,面试官有意给我上强度

过了十天收到了offer

字节的面试是所有公司的面试里最令我汗流浃背的不仅有挖祖坟式的拷打基础知识,而且会抓住论文里的细节上的设计追问,并且每一面都有手撕代码题,每次面完字节我都精疲力尽。相比之下很多其他厂的面试其实都是随便聊聊洒洒水啦。

写在最后

应该说找实习的整个过程还算可以,不仅收到了几个比较满意的offer,也成功写完了自己非常中意的一篇论文(虽然还投不出去),但整个过程比较累也是真的。面试真的是一件非常消耗精力的事,有的时候面试排期排得很满,以至于出现一天连面三场的盛况,早上下午晚上轮流切换状态参加不同公司的面试,不过据经历过去年秋招的师兄说这个强度也就是一般水平。甚至有的时候面试安排的比较早,室友还没醒,所以早上的面试好多都是我在走廊里坐在楼梯上面完的。

比较搞笑的是,之前一直没什么中所谓的顶会,在开始找暑期实习之后倒是连着中了两篇(一次SIGIR一次ACL),只可惜中稿的消息发到我的邮箱里的时候面试也基本接近了尾声,所以中稿也没对我找实习的这个过程产生多大的增益。总之先试试去实习,其他的事情以后再说。之前一直受到很多人的帮助,不管是本科,还是保研、读研、科研、找工。希望我的这篇找实习记录也能对后面找算法岗的朋友有所帮助。

颜色主题调整

评论区~

有用的话请给我个star或者follow我的账号!! 非常感谢!!
快来跟我聊天~