写在前面
我个人虽然模模糊糊知道春招要投递简历,但是真正行动起来还是腾讯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其实很简单,聊项目,聊思维能力。虽然回想起来似乎都挺常规,但是面试过程中是唯一一家让我感觉有压迫感的(或者说不苟言笑),因此十分建议打磨一下自己的讲故事水平。