2020 春招暑期实习总结(算法)

写在前面

我个人虽然模模糊糊知道春招要投递简历,但是真正行动起来还是腾讯3.5日正式招聘开始后,陆陆续续有很多人问相关问题,这令我有些莫名恐慌,于是开始准备简历进行投递。

这里给出全部时间线(共计4-5周):

可以看出自投递起大约后两周(尤其是第二周)面试最为频繁,因此可以按个人时间尽量将面试分批集中安排在空闲时间。每一轮面试间隔不等,但是一般很难超过一周没有消息;hr至offer call时间不等,一般而言3-5天,7-14天。

总共流程大概可以分为准备简历,准备面试,面试,等offer四个阶段。

  • 准备简历:我个人之前没有写过简历,因此至少需要确定模版,确定内容,最终确认3个部分。模板其实无所谓,合理即可;确定内容没有想象中的简单,因为这是对自己过往的梳理,如果平时没有注意就会和我一样努力回忆一些细节,其实相当耗费精力。最终确认则是删改,完善部分,但是我通常会遇到某些地方不甚完善,细节缺乏等现象,因此还得去确认细节,保证简历内容自己深入了解。总体而言建议事先维护个人简历,或者至少留3天写简历。
  • 准备面试:写完简历其实自己就知道要准备哪些内容了,在完善细节的时候就相当于复习了。如果想要系统的复习及刷coding题目(至少刷一遍剑指offer,一般4天即可刷完),至少留7天吧。因此总计至少提前10天开始实习准备。
  • 面试:有趣的是大家似乎面试都聊得挺开心,包括我自己,因此说明其实面试压力不大,反而容易自己给自己较大压力。面试无外乎:个人介绍(简短即可)、coding/数学、项目/比赛/paper、场景解决方案。最关键的当然是项目/比赛/paper了,至少要能聊,coding基本功也是要的。其实初看很慌,但是这些大家多面几次就胸有成竹了,真的很套路,大家聊得都差不多,反而最有差距的地方是coding,这是基本功。面完之后需要复盘,主要是完善自己答的不太好的问题&细节,也包括练习coding,提高手感。
  • 等offer:从交叉面/hr面后你已经没有可以做的了,等。这其实挺磨练心态的(因为容易陷入焦虑),建议之前留一下hr或者面试官联系方式,每周可以问一下进度以缓解心态。

说起来有这么复杂吗,其实没有,说到底还是能通过聊天展现自己即可。
难度其实也不高,容易看面经自己吓自己。

最后复盘下来,问的问题其实都很基础。最重要的是

  • 能讲一个合格的故事,体现出自己的思考。
  • coding过关;剑指offer一定要刷完,保证手感在leetcode medium。

基本情况

共计投递了腾讯,阿里,美团,快手,字节,网易,百度7家公司,其中网易,百度由于懒放弃面试。

在有效的5家里腾讯1面挂,阿里4+1面后收到offer,美团2面后收到感谢信,快手2面后收到offer,字节4+1hr面收到offer。

其中业务部门为腾讯WXG,阿里妈妈搜索广告,美团不详,快手风控,字节tiktok推荐。

正常而言,阿里3+1交叉+1hr,快手2面,字节3+1hr面(我换了一次多了一面)。

腾讯

一面

  • 大致是机器学习相关,如GBDT,XGBoost,RF相关的问题。
  • 推荐系统的一些问题,不会,没聊下去。
  • coding:合并两个字典,字典的val可能是字典,因此需要递归合并。

总结

因为腾讯很久之后才捞我,再加上聊的是推荐系统,个人不了解,这两点加起来导致一面挂。

美团

一面

  • 基本全程项目
  • GBDT,XGBoost区别
  • L1,L2区别
  • 无coding

二面

  • 全程项目
  • bert相关
  • 无coding

总结

美团我其实一二面面得都非常开心,双方都有兴趣,但是莫名其妙的在两周后被发感谢信,难以理解。

快手

一面

  • 不问项目
  • coding:给定正整数数组arr,以及一个正整数K,数组满足条件arr[i]>2*arr[i-1],判断数组中是否存在两个元素arr[m]+arr[n] = K。要求O(log n)。
  • transformer,bert,dropout

二面

  • 挑一个你最熟悉的模型/框架讲讲
  • 全程发散性的聊天

总结

快手聊得非常开心,最终也给了oc,可惜没去,最后悔的是当时没有直接拒绝,后面也忘了,所以给别人的感觉应该很不礼貌,实在抱歉。

字节

一面

  • coding:快速幂
  • coding:leetcode123
  • L1,L2区别
  • LR,Sigmoid区别
  • 项目细节,实际用途

二面

  • coding:n个二维坐标点,一个中心点,以这个中心点画正方形使得其包含k个点,求这个正方形的最小边长;
  • coding:二叉树B是二叉树A的子树
  • 场景题

re二面

  • 聊项目
  • 常用的优化算法,大家想听的是sgd,rmsprop,adam这些,不是凸优化那些
  • 概率题并实现coding:连续数据流情况下,维护大小为k的池子,使得每个数字能被均匀的随机取到。

三面

  • coding:leetcode4
  • 聊项目细节,挖的比较深

hr

  • 似乎就问基本情况,比如个人情况,实验室情况,个人评价等

总结

字节的确是我非常想去的,同时也是我准备最多的一家,包括面试表现也是唯一的自我满意的一家,与面试官交流也很开心。体验下来明显感觉得到更看重的是coding的基本功和业务/数学/项目的思维能力,对于过往的经历反而不看重;可惜由于意外/未知原因导致流程拖了太久,最后放弃。

阿里

一面

  • 忘了

二面

  • 项目
  • 数学题:200个球(100黑,100白)放到两个盒子里,任取一个盒子中的一个,为了使得拿到黑球概率最大,问应当如何放球。
  • coding:leetcode9进阶

三面

  • 简单问问项目
  • 常用的优化算法
  • 常用的激活函数
  • few-shot场景处理
  • 场景题
  • coding:leetcode74

交叉

  • 基本情况调查,如学校,实验室等
  • 主体似乎是发散性聊天

hr

  • 有收获的项目
  • 实习原因
  • 基本情况调查,比较流程化记不清了

总结

流程的确非常慢,导致很多细节记不清了。和字节很大的区别在于coding其实很简单,聊项目,聊思维能力。虽然回想起来似乎都挺常规,但是面试过程中是唯一一家让我感觉有压迫感的(或者说不苟言笑),因此十分建议打磨一下自己的讲故事水平。

猜你喜欢

转载自www.cnblogs.com/y1s1/p/12760251.html