经验分享-应届生如何在秋招拿下多个年薪50w的offer

转眼间25届的秋招提前批已经开始啦,不禁让我想起了去年这个时间段边实习边秋招边完成毕业论文的煎熬。一直坚持到12月份之后感觉整体结果还是满意的。我同时参加了大陆的秋招和香港小部分公司的招聘(因为感觉香港没有分春秋招,全年可投),拿到的offer情况如下:

大陆

投递了300多家公司,拿到多个互联网公司以及新能源公司的算法岗以及开发岗的offer。其中一个SSP,一个SP。

  1. SP来自国内某电商中偏大厂,AI开发工程师,给出x*16薪 + (房补+餐补)*12的offer总包刚好50w。
  2. SSP来自国内某新能源Top1,大语言模型算法工程师,给出((x-8)*12) * 2的offer,比上一个差一些。(感觉是赶上风口了, 之前没想过自己能拿到纯算法岗的offer)

还有一些其他互联网,能源,通信公司的offer相对这两个给的就很少,基本听到报价就直接拒了。

香港

  1. 本地政府机构实习转正,给出(x-2)* 12 + 合同完期的bonus (两年总包*15%)。了解下来算是在香港本地公司里算比较高的了,但是跟大陆比还差一截。是的你没听错,
    在寸土寸金的生活费巨高的香港给应届生的工资还不如大陆(It是这样的,其他行业感觉还是香港高一些)。

  2. 刚好赶上大陆某个Top1招聘行业的互联网公司出海,NLP算法岗,给出(x+1) * 14的总包,42w港币,后来我发现北京的总部也能拿到这个数的RMB。
    后面问Hr,香港的生活成本比北京高多了,而且香港发的还是港币,相对发rmb的北京以后可能还要打八折,这么一算比北京还要少。Hr回复是根据香港本地It行情+30%来定价的
    无异于再次证明了香港程序员的工资相对其他行业并不突出。其实我拿到这个offer的时候是想留下来的,但后来因为argue package搞得很不愉快,最终散是满天星了。

后来偶然的机会让我选择了读博,于是乎就放弃了这些offer,感觉还是挺可惜的,毕竟大陆的互联网一年不如一年,现在还能喝口风口末期的汤,有朋友劝我说搞不好我博士毕业回去还不如硕士毕业拿得多,我也觉得有这种可能,但是能遇到一个欣赏我的Phd supervisor也是千载难逢。最后跟家人商量下来,还是觉得继续读书了。

秋招准备经验分享

我在秋招总结出来了一套自己的准备方法,我觉得这个方法还是效率挺高的,分享出来希望能帮助到大家。

刷题

image

首先最基本的任务就是刷题了,互联网基本在3-6轮面试左右,前4轮基本每一轮都要当场手撕代码,写题大多是在牛客上,所以我后来觉得先刷LeetCode很不明智。于是从9月份开始我基本就只刷牛客上了,注意,LeetCode跟牛客的提交方式还是有很大差距,LeetCode是核心代码模式,不用自己写提交函数。而牛客是ACM模式,需要完整的代码。建议刚准备的同学可以先在LeetCode上刷一下常见题型,因为LeetCode比牛客要全一些,而且分类整理的更好。如果准备时间不够充分,就刷hot100。然后多去牛客上刷题,主要是为了熟练ACM模式的规则。整体上刷300道左右,面试写代码这一关通过率就很高了。

八股文准备

技术面的第一个环节要么是写题,要么是八股文,题目没写出来八股文回答的好可能还能拯救一下,那么如何准备八股文呢。我的方法是自己整理一个跟自己用到的技术息息相关的文档,比如你简历里写了你熟练使用java,那面试官大概率会问你java里的锁机制,多线程,I/O,jvm等等(现在比较卷了,基础的继承,封装,多态这些基本不会再问了),大厂会问的特别深,很多问题必须看过源码才能回答上来,比如腾讯二面当时问我乐观锁和悲观锁有哪些,机制分别是什么样的,在我回答完synchronized锁之后又立马追问我synchronized锁是如何实现的。这些问题是背不完的,并且我觉得死记硬背也没意义,所以我建议应届生的简历里尽量不要用“精通”“熟练掌握”这些个词语,很多面试官自己都不敢这么写,看到你这么写之后就会有竞争心里,一定要问到你答不出来为止。再比如你简历里写了你懂计算机网络,那么面试官一定会问你TCP/UDP的通信过程,握手细节,http,https,websocket等协议的区别,拥塞控制和流量控制是如何实现的等等。
所以简历里写到的所有技术的八股文一定要了解原理,不能只会用。 如果简历里写了却答不出来就会很扣分,并且会很尴尬。
这里我有一个小tips:
如果准备的时间不够充分,一定要把自己熟悉原理的技术放在前面,这样就可以起到吸引火力的作用,一般八股文这个环节就15分钟左右,问不了太多的问题。

我所了解到的岗位需要准备的知识

  • 后端开发岗必会:一个编程语言(一般是java或者go),数据结构,计算机网络,数据库(一般是MySQL)。
  • 后端开发岗锦上添花(想在池子中排名靠前必会):一个开发框架(SpringBoot,SpringCloud等),缓存数据库(Redis,MongoDB等), 消息中间件(RabbitMQ,Kafka等等)。如果简历里写了这些,前面基础的问题可能就随便问一两个了。
  • 前端开发岗必会(略微准备了一些,但没投过):html,css,js三组件,一个开发框架(Vue或React),计算机网络。
  • 算法岗必会:Pytorch/TensorFlow,你研究领域的常见算法,如做CV的必须会CNN以及一些变体,做NLP的必须精通Transformer,还有一些机器学习的算法原理,要能够很深入的回答出来某些结构为什么好为什么不好,比如序列任务中为什么batch normalization效果不好,以及某某损失函数在某个场景下为什么比其他好。
  • 算法岗锦上添花:你这个领域近些年引用量比较高的论文里提出的方法得口到擒来,其次有个非常加分的点:了解一些工程性的技术,因为互联网大多部门的算法岗大部分工作其实在工程实现上,如果懂一些算法部署框架如Flask,加速框架如TensorRT等等会比较加分,能拿到SP的基本要求。

项目准备

现在互联网比较卷了,大家基本都有多段实习,如果学历特别好只有一段拿得出手的实习就行。我准备项目的时候是这样准备的:
首先把你简历里所有项目经历放在一个文档里,比如Markdown,接下来对每一段项目经历总结以下几个点:

  1. 技术原理:项目中用到的所有相关技术的八股文一定要非常了解。
  2. 复习项目:复习项目中的所有代码实现。如果没有代码了怎么办:至少能用一个非常通顺切合理的逻辑去把这个项目的实现过程复述一遍。
  3. 项目反问:反思项目中所有可能会被面试官问到的点。
  4. 项目贡献:最好能总结出来你在这段项目中带来了哪些贡献,比如系统的QPS经过你优化之后提升了多少多少,再比如高并发场景下你如何优化数据一致性问题。
  5. 改进方法:在你讲完你的项目之后,面试官可能还会追问针对你提到的某一个点,你还有没有改进的办法,所以提前把这些问题想好到时候就不会慌乱了。

尤其是第3点至今都让我觉得受益匪浅,我当时会不停的思考,我讲到任何一点的时候面试官都可能会打断我并且提出问题,那么我如何回答这个问题能让面试官非常满意。

这里给一些我当时整理的文档的截图,总共整理了10w多个字:

比如一个大模型的项目中:

再比如一个视觉算法的项目中:

再比如一个开发的项目中:

总结

以上就是针对项目中的一些八股文和问题整理的回答思路。不需要整理的很规范,自己能看懂就行,节省时间用来投递最重要。
最后吐槽一下秋招投递:每一家公司要填的信息非常多,而且都是手填,有些插件效果也不太好,还是要自己调整,我最后就准备了一个专门用来投递的文档,把信息直接复制上去,不过还是很花时间,平均投递一家公司要20分钟。那么投递300家公司就是6000分钟,我当时秋招就差不多是这个数,后来因为有offer了且打算读书了,春招就直接放弃了。

最后祝愿大家都能顺利上岸,拿到满意的Package!