首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

腾讯+头条 算法双杀面经

作者 | 常青czq

整理 | NewBeeNLP

面试锦囊之面经分享系列,持续更新中

写在前面

本人21届渣硕,本硕华南某985,有过两段实习经历,一段是大厂的算法实习,另一段是招行Fintech实习,虽然岗位都是机器学习,但工作的内容都和推荐相关,很感谢这两段实习带给我的成长,对春招找实习有非常大的帮助,面试常常被问到...

春招找实习面试了三家大厂,offer情况:「字节跳动(小程序平台)」「腾讯(CDG广告)」 另外,「阿里」交叉面面完了,面试官说下一面HR面... (虽然三份投的也都是机器学习算法岗位,但聊了工作内容感觉也都是和推荐相关,这大概是我与推荐的缘分吧...)

字节:(2技术+1HR)

一面

本来是约的下午,面试官临时有事改到那天晚上9点,感觉他也有点疲惫所以问的东西并不多~

  • 自我介绍
  • 项目/实习
  • RandomForest和XGBoost区别
  • XGB相对于GBDT的改进的地方
  • 如何提特征?
  • 防止过拟合?
  • 手撕:寻找数组中是否存在超过一半的数字,时间复杂度O(N)
  • 概率题:抛硬币一亿次都是正面,下一次是反面的概率有多大?看到概率题脱口而出的1/2(自己都笑了,虽然知道答案不是但面试过程交流下来感觉很轻松就没想那么多了),面试官也笑了说我们做机器学习的,就不能常规思维去想这个问题,从最大似然的角度思考blabla直接告诉我怎么分析了。
  • 反问。

字节的效率果然是出了名的,第二天就通知下一面...但自己想多做准备就延后一周再二面了

二面

  • 自我介绍
  • 一面面试官已经问过其中一个实习的项目了,还有其他项目想讲一下吗
  • 为什么要选择RandomForest
  • 中间问了一些和项目相关的算法基础知识
  • 深度学习的东西用过哪些
  • RNN和LSTM,GRU的对比优缺点?
  • 手撕:给定一个升序数组1,元素有重复,对每个元素算一下平方后得到新的数组2,问数组2中不相同的元素的个数?要求时间复杂度O(N),空间复杂度O(1)
  • 方程题:我们有n个蛋,k层楼,假设蛋从第m层楼及以上往下扔会碎,现在要找到m,问在最坏的情况下至少需要试出多少次才能知道m。w(n,k)表示次数。写出状态转移方程w(n,k)。

注:写状态方程是很懵的,第一次遇到,自己说了思路(其实没啥思路但觉得也要开口讲些东西,哪怕错的也说明你有在思考),面试官超级耐心疯狂暗(明)示,最后一步一步写出来,最后他也说了虽然我一开始没思路,但是经过提醒之后每一步都能写出来也挺不错。(所以个人感觉面试的过程也是一个交流的过程,不是被试者单方面的output,说不定遇到的面试官超级nice,哪怕说错了也不会直接放弃你而是引导和暗示)

HR面

其实很惊讶没有三面...emm直接HR面然后就oc有被惊喜到...(可能是我面的部门海量hc?)

腾讯:(3技术+1HR)

一面

  • 自我介绍。
  • 涉及到的实习经历?如何构建特征?
  • 分类模型怎么构建?(跟自己实习内容有关)
  • 共享屏幕画GRU4Rec时序推荐模型的结构。(主要是负采样了)
  • 推荐的评价指标有哪些。
  • 归一化了解过哪些。
  • 写LR的loss(这个是自己挖坑,本来只让说一下,当时共享屏幕,所以我就说了那我写出来吧,但感觉又会推导,所以想一步直接写出来最后的结果,就是经过sigmoid处理,差点翻车。。还好最后写出来了)
  • 手撕:找出数组中第K大的数。leetcode原题,要求O(n)。

二面:

全程被问“还有吗”,面试官很厉害一直在深挖东西,感觉被掏空

  • 自我介绍。
  • 问非计算机学院的,学过计算机基础的课程吗?他提了一下计算机网络(瞬间慌了,这是我学过最差的课了。。)还问了解过一些基础算法不是机器学习的算法,比如贪心搜索等等的。(还好用过)
  • 说一面面试官已经问过项目了所以不再问了。。。(接下来就是疯狂问模型还有原理)
  • 首先讲一个自己最熟悉的机器学习的模型/算法。(我讲了一下树模型)
  • RandomForest和XGB之间的差别。(讲了大概五六个点他表示比较满意)
  • 追问:为什么RF关注方差,XGB关注偏差。
  • 追问:XGB并行化如何实现。(自己讲了两三个点。问还有吗?再讲了一两个点)
  • 追问:XGB对GBDT的改进的地方有哪些。(自己讲了两个点。问还有吗?再讲了一个点。再问还有吗。。)
  • 追问:XGB使用正则项防止过拟合,L1和L2两个的原理是什么。(回答了L1,L2的作用,他说我回答的是这两个的结果不是原理,想知道为什么?自己有点想不起来,随便说了一下,他表示不太满意,说这方面还需要加强学习。)
  • LightGBM和XGB的区别(改进的地方)
  • 追问:LightGBM如何并行化。
  • 追问:防止过拟合的方法有哪些(讲了三四个点吧。。追问还有吗?再讲了一个点?再追问???陷入沉思中,他说你刚刚回答的都是从模型和结构上相关的角度,有没有其他角度??我大概就是用过上面说的那些了。他说没有用过但是知道的也可以说一下。又从数据的角度讲了一些。)
  • 用过分布式计算吗?做过大规模数据吗?(瑟瑟发抖说数据大概百万级。他说那肯定不需要分布式了,分布式都是亿级以上,好的没事这方面也是和业务相关以后还是要多学习。我说好的好的。还好在这个点没有为难我,无限感恩。)
  • 算法题:找出数组中a+b=c的组合,其中abc都在数组里面。时间空间复杂度?

快要结束的时候,面试官和我聊了一下组里有四五个和我同校的师兄师姐,都很不错。有被惊喜到,第一次感受到母校强大的光环,感动师兄师姐都太棒了沾了福气

三面:(应该就是总监面了)

全程问的技术问题就三个吧

  • RF和GBDT、XGB和LGB的区别、优化(没问得很细)
  • 在IEG做的项目基于什么平台?
  • 深度学习应用在推荐系统的发展?
  • 手撕:青蛙跳台阶,吃虫子,青蛙每次只能跳一阶或者二阶台阶,每个台阶的虫子是一个数组a[m],青蛙最多只能跳n次,其中0<m<1000,0<n<100,问青蛙怎么样吃到最多的虫子?
  • 反问。聊了一些业务~非常亲切nice

HR面

一些常规问题。感觉真诚一些自信一点好好回答都没问题的~

总结

  • 关于算法基础,楼主是属于看东西比较慢但基础比较扎实一点点的人,对于简历上提到过的每一个算法都要真的会~
  • 面试过程心态也要放好,记得看过一句话,面试是一个互动的过程,面试官也是希望问到你会的相关的东西,也庆幸一下自己遇到的面试官都超级nice,问到一些我不会的都会稍加引导和暗示,整个面试的过程都学到了很多东西。
  • 关于做题,2020年之前还没有刷过leetcode,用了将近一个月的时间做完剑指offer和80%的leetcode hot,但题确实是真的不得不刷,阿里面试遇到的题就是自己没做的20%leetcode hot之一,真想锤自己一下...
  • 有努力就会有收获,最后祝大家都能收到心仪的offer(^▽^)~

- END

下一篇
举报
领券