前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >秋招系列 | 推荐岗史上最强面经来袭(上)

秋招系列 | 推荐岗史上最强面经来袭(上)

作者头像
石晓文
发布2020-09-15 15:09:07
1.3K0
发布2020-09-15 15:09:07
举报
文章被收录于专栏:小小挖掘机

背景

作者是一名今年参加秋招的学弟,本文写在秋招结束后。

背景为985本硕&计算机科班,研究生期间方向主要为推荐算法,投递的方向主要为推荐/广告/机器学习。目前国内已从A收割到Z。本科做工程相关,研究生期间转算法,发表过CCF A类论文一作1篇,有过大厂实习经验、开源项目和机器学习比赛“划水“经历。

在这里也欢迎各位从事推荐及广告算法的小伙伴加入我们,一起交流学习,一起进步。

如下仅为部分面经,墙裂欢迎各互联网大佬来撩。

具体面经分享

百度

百度7月初就开启了AIDU计划(详情见“百度招聘”公众号),报名后可以直接在交流群联系部门负责人进行面试。

面试流程为 三轮技术面 + hr意向面 + 9月底带薪offer面。

我自主投递了商业策略平台部(凤巢),还被垂直搜索组捞了简历,两个部门同时进行面试,最终两个部门都拿到了offer

AIDU计划是先约面,面完再进系统走流程,这样既可以多个部门同时面,又不用担心没过的话有面试记录,这个方式是对应届生面试比较友好的,点赞?。但值得注意的是最终只能走一个部门的offer流程,如果拿了多个部门的offer意向需要自己取舍。

商业算法组

一面

自我介绍。

  • 询问实习,很详细。
  • 问2020腾讯广告算法比赛如何做的数据分析,预处理;模型后续如何提升。
  • LR的损失函数,sigmoid函数由来,lr求导手推。
  • 极大似然和最小二乘的区别。

答:观测值服从正态分布的情况下, 最小二乘法等价于极大似然估计。(可以推导) 例子参考:https://www.cnblogs.com/little-YTMM/p/5700226.html

  • 常见的优化器介绍;adam与adagrad的区别。
  • AUC计算公式,解释意义。
  • 朴素贝叶斯公式,为什么叫朴素,是生成模型还是判别模型。

答:朴素的英文是native,即“天真”,我们应用朴素贝叶斯时做了一个天真的假设:条件独立性假设。

  • 生成模型和判别模型的区别。

答:举个例子: 对面一个人走过来,和你说了一句话,你需要识别出她说的到底是汉语、英语还是法语等。可以有两种方法达到这个目的:

  • 学习每一种语言,你花了大量精力把汉语、英语和法语等都学会了,我指的学会是你知道什么样的语音对应什么样的语言。然后再有人过来对你说,你就可以知道他说的是什么语音.
  • 不去学习每一种语言,你只学习这些语言之间的差别,然后再判断(分类)。意思是指我学会了汉语和英语等语言的发音是有差别的,我学会这种差别就好了。

那么第一种方法就是生成方法,第二种方法是判别方法。

  • 生成模型:P(y|x)=P(x,y)/P(x) ,先由数据学习联合概率分布和先验概率分布,然后求出条件概率分布。
  • 判别模型:直接学习决策函数 y=f(x)
  • 概率题:工厂A和工厂B的产品的次品率分别为1%,2%,现从由A和B的产品分别占60%和40%的一批产品中随机抽取一件,发现是次品,则该产品属于B厂生产的概率。
  • 代码题:剑指offer 面试题68 - II. 二叉树的最近公共祖先。

二面

实习介绍。

  • 内积,外积,哈达玛积的区别。
  • loss回传时,m个隐层单元,n个输出层单元,每个输出层单元的loss是如何回传到m个隐层单元的。
  • embedding和one-hot的区别,emb的好处与坏处,做emb是否有信息缺失。
  • 问贪心算法和动态规划的思路一般是什么样的。
  • 代码题:二维数组最大子数组和。

三面

介绍实习,论文,很详细。

  • 开放题:问搜索场景下,会提示相关词,这种相关词的收益效果如何量化,给出一个方案。
  • 部门介绍与反问。

垂直搜索组

一面

介绍论文,实习,项目,说了很久。

  • 探讨ctr未来可能做的方向。
  • 代码题:划分一个整形数组,把负数放在左边,零都放在中间,正数放在右边,要求空间复杂度 O(1)。

快排思想来做,如下:

代码语言:javascript
复制

def solution(nums):
    low = 0  # 负数区域,指向负数区域后的第一个位置
    curr = 0  # 0区域,指向0区域后的第一个位置,也是当前遍历位置
    high = len(nums) - 1  # 正数区域,指向区域前的第一个位置

    while curr <= high:
        if nums[curr] < 0:  # 当前元素添加到负数区域,并前进一格
            nums[low], nums[curr] = nums[curr], nums[low]  # 有可能和自身交换
            curr += 1
            low += 1
        elif nums[curr] == 0:
            curr += 1
        else:
            nums[curr], nums[high] = nums[high], nums[curr]
            low -= 1
    return nums

二面

介绍印象最深的一个项目,顺着项目问了很久。

  • 特征分析和预处理的方法。
  • LR,SVM,GBDT,NN的介绍和区别。
  • GBDT和NN的使用场景以及优缺点。
  • NN如何解决过拟合。
  • Graph Embedding如何联合属性进行训练。

答:参见:https://zhuanlan.zhihu.com/p/70198918 ,使用属性的emb + pooling代替随机初始化的GE

  • 搜索中的position bias问题(展现在前面的item点击率会偏高)如何解决?

答:有两种可以尝试的方案:

  1. 在训练阶段将位置作为一个特征加入到模型中,而在预测阶段置为0或者一个统一的常数
  2. 通过一个shallow tower(比较轻量的模型)来预测位置偏置信息,输入的特征主要是一些和位置偏置相关的特征。在多任务模型的子任务最后的sigmoid前,将shallow tower的输出结果加入进去。而在预测阶段,不考虑shallow tower的结果。
  • Graph Embedding如何联合属性进行训练。
  • 如何做query和doc的搜索,简单说一下思路,以及该思路存在的问题。

答:参考DSSM,用 DNN 把 query 和 doc 表达为低维语义向量,并通过 cosine 距离来计算两个语义向量的距离,最终训练出语义相似度模型。

  • ctr中的selection bias问题(推荐破坏了用户真实兴趣分布)如何解决?
  • 最近在读的论文,三句话介绍其观点。
  • 自我评价-优缺点。

三面

自我介绍。

  • 介绍自己的项目,遇到的问题。
  • 开放题:推荐/搜索中的bias问题如何解决。
  • 开放题:在线/离线场景,特征表现的一致性如何评估?
  • 自我评估。

总结

百度的面试难度比较友好,主要是对机器学习基础,实习情况以及一些推荐场景的常见开放性问题进行查询。

京东|广告质量部定向组

京东6月22日开启提前批(详情见“京东招聘”公众号),找了相关匹配部门的学长内推,但面试安排的较晚,到7月27日才安排面试。

面试流程为 两轮技术面,最终拿到了offer

由于hc紧张,发放的是意向offer,即如果明确去的话,会给sp及以上offer;不能确定的话,可以先秋招其他公司,随时沟通进展。

一面

介绍比赛,实习,很详细。

  • 代码题:leetcode 1:两数之和;leetcode 169:Boyer-Moore 投票算法;Leetcode 382:蓄水池抽样算法 + 推导

推导是用数学归纳法: 举例说明:1 - 10 遇到1,概率为1,保留第一个数。遇到2,概率为1/2,这个时候,1和2各1/2的概率被保留 遇到3,3被保留的概率为1/3,(之前剩下的数假设1被保留),2/3的概率 1 被保留,(此时1被保留的总概率为 2/3 * 1/2 = 1/3) 遇到4,4被保留的概率为1/4,(之前剩下的数假设1被保留),3/4的概率 1 被保留,(此时1被保留的总概率为 3/4 * 2/3 * 1/2 = 1/4) ...

二面

介绍论文,实习,很详细。

  • 说说ESMM的实践为什么没收益,分析原因。
  • 概率题:感冒发烧概率为0.6,不感冒发烧概率为0.1,感冒概率0.2,问发烧感冒的概率。
  • 代码题:快排。
  • 介绍部门 + 反问。

总结

京东的提前批面试流程比较快,一面code考察较多,整体还是考察基础。

快手|商业化广告算法

快手是8月初投递的提前批,8月20号左右安排面试。

面试流程为 三轮技术面+hr口头offer+加面(加面是为了申更高级别offer),最终拿到了offer意向书。

一面

介绍论文,实习。

  • 代码题:字符串abc,输出所有子集。

[a,b,c,ab,ac,bc,abc]

  • 开放题:百度搜索的联想词搜索功能如何实现?如果建表/建树的话,如何估算内存?

二面

  • 介绍实习,说说实习训练模型具体调参调了哪些参?
  • ctr预估偏高会带来的问题。
  • 广告场景ctr预估为什么要保距?
  • 加了bn和ly以后学习率为什么可以上升?
  • hash emb的作用:增加泛化。
  • l1和l2的区别,作用。
  • 梯度爆炸和梯度消失。
  • 代码题:快排。

三面

介绍论文。

  • resNet为什么能把网络做深。

从梯度的角度来回答

  • CNN中卷积和池化设计的原因/好处。
  • 训练集验证集表现好,测试集表现差是什么原因?
  • 训练集验证集表现好,测试集表现差是什么原因?

特征穿越/过分拟合验证集

  • 线上线下表现不一致原因。

特征穿越/突然新增用户/广告导致的信息分布不一致

  • OCPM和CPA的区别。
  • MMOE和share bottom的区别。
  • 推荐和广告的区别。
  • 不使用online learning,如何捕捉用户近期的兴趣变化?

构建近期交互的统计特征,emb依时间衰减的加权特征

  • 开放题:din/dien在某些公司的效果为什么不好。
  • 开放题:如何利用旧数据迁移学习新的广告位场景。

滴滴|金融风控组

滴滴是6月8日参与投递的牛客网SP专场(详情见“牛客网”公众号)。

牛客网SP专场:牛客网帮忙汇总了大厂的一些SP offer,省去了填网申的麻烦,可以一键投递。

面试流程为 三轮技术面+交叉面,最终拿到了offer意向书。

滴滴是同一天连着三轮面试的,面试通过直接转流程到下一面试官,无需等待,这一点好评。

一面

介绍论文。

  • GCN与GraphSAGE的区别,说明其本质思想。
  • 介绍lr,手推lr损失和导数。
  • 代码题:leetcode198-打家劫舍(该题的类似变形)。

二面

介绍实习,论文。

  • FM与GBDT构建组合特征的区别。
  • FM与GBDT+LR的差异。
  • 开放题:金融风控场景,如何建模用户关系,并利用其来提升放贷收益?
  • 概率题:圆上三点,构成锐角三角形的概率
  • 代码题:剑指offer14-剪绳子

三面

介绍实习,DeepCTR项目。

  • 智商题:【100囚犯问题】1,2,3,...,100共100个人,每个人在1个房间,不能查看其他房间状态,房间什么都没,每个人都有概率随机被抽中,被抽中的人到101房间一趟,101房间有一个灯,一个控制灯的开关,设计一个方案,让这100个人中能有人知道100个人都已经去过101房间。

答:让1号控制关灯,其他人控制开灯 (仅每个人第一次出去的时候开灯),1号关灯99次,则说明此时所有人都去过101。

该方案的数学期望次数:

  • 答:分步考虑如下:
    1. 先考虑1号出去1次这个事件,概率为; 如果记期望次数为E,则有 ,可得期望为100次。
    2. 再考虑第i个未出去过的囚犯出去1次这个事件,概率为 ; 同理可以求得期望为次。
    3. 那期望的总天数为:

参考:https://wenku.baidu.com/view/49102f2558fb770bf78a5565.html#

交叉面

  • 介绍论文,实习,项目,比赛。
  • 代码题:k种硬币(无限个),n个碗,每个碗放1个硬币,最多连续不超过2个碗内的硬币类别相同,有多少种方法。

答:用动态规划,转移方程推导: dp[0]=k dp[1]=k*k dp[2]=(k-1)*k+k*(k-1)*k ... dp[i]=(k-1)*dp[i-2]+(k-1)dp[i-1]

总结

滴滴的一天三连面好评,这样极大的缩短了面试等待时间,而且上一轮面试官面过的可以及时反馈到下一轮,不会重复提问。

最后祝大家面试顺利,一起加油!欢迎大家来交流~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小小挖掘机 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 具体面经分享
  • 百度
  • 商业算法组
  • 垂直搜索组
  • 京东|广告质量部定向组
  • 快手|商业化广告算法
  • 滴滴|金融风控组
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档