我是靠谱客的博主 健康墨镜,最近开发中收集的这篇文章主要介绍百度春招实习三面柳暗花明经,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

百度春招实习三面柳暗花明经

    • 一面(1.5h)
      • 问答部分
      • 算法部分
    • 二面(1h)
      • 问答部分
      • 算法部分
    • 三面(45m)
      • 问答部分

岗位:百度推荐春招实习,前两面间隔一周左右,二面结束后大概过了三周才通知安排三面,期间一度以为自己挂掉了…感觉面试期间被问到的问题有很多需要自己细细思考及好好掌握的地方,所以总结了一篇柳暗花明经。

一面(1.5h)

问答部分

  1. 介绍下实习经历和召回上所做的主要工作?
  2. 召回策略分别都做了哪些优化?
  3. 召回模型分别都做了哪些优化?特征+模型结构?
  4. 针对历史点击等用户行为,有没有做过模型上的优化?
  5. 召回侧所关注的主要指标是什么?如何判断召回策略是否有效 or 生效?
  6. 为什么在尝试了FFM之后要直接尝试DeepFM?有试过其他方法吗?
  7. 基于FFM做近邻索引和用DeepFM的区别是什么?
  8. DeepFM为什么会导致线上时延提高?有没有什么优化办法?模型+策略?
  9. MultiTask学习的互动目标主要包括什么?有没有想过在召回侧进行多目标学习?
  10. DeepFM+MMoE的模型结构是怎样的?相比Share-button主要提升在哪里?
  11. 学习多目标怎么保证融合各个目标的loss?存在哪些问题?正负样本怎么选取?
  12. 对于不同数量级的loss如何调整?如何兼顾分类任务和回归任务?
  13. EsMM结构是怎么实现的?正负样本是怎么选取的?EsMM存在样本不均衡问题,有什么更好的解决办法吗?
  14. 多个目标是如何融合在一起的?加法和乘法的区别?参数是怎么调整的?
  15. 精排中的Attention结构是怎么实现的?你们业务上的DIN结构做了哪些改进?
  16. 模型训练的方式是什么样子的?有没有接触过分布式的相关内容,Spark or flink?
  17. 大概讲讲毕设的实现,数据集,模型结构,loss指标。
  18. Python中的GIL机制?对哪种形式的任务影响较大?
  19. py2和py3的区别是什么?

算法部分

  1. 给定一个无序数组,求两数之和小于target的所有组合数.
# 双指针
def findThePaire(nums, target):
    order = 0
    nums.sort()
    left,right = 0,len(nums)-1
    while left < right:
        if nums[left] + nums[right] < target:
            order += left+1
            left += 1
        else:
            right -= 1
    return order
  1. 给定二叉树,输出从左看去由上至下的所有节点.
# 树的层次遍历
def showTheLeft(node):
    queue = list()
    order = list()
    if node:
        queue.append(node)
    while queue:
        order.append(queue[0].val)
        cur = list()
        while queue:
            cur_node = queue.pop(0)
            if cur_node.left:
                cur.append(cur_node.left)
            if cur_node.right:
                cur.append(cur_node.right)
        queue = cur[:]
    return order

二面(1h)

问答部分

  1. 实习经历同一面。
  2. 召回侧的主要形式是怎么样的?如何调整召回策略拟合后续的精排目标?
  3. CF的主要实现过程是怎么样的?说一说CF以及UCF、ICF。
  4. 你认为CB(Content Base)和CF的主要区别在哪里?哪种方法更适合冷启动场景?
  5. DeepFM中加入了Multi_task以后,对主任务比如CTR会有什么影响?带来效果提升的原因是什么?
  6. MMoE的主要改进是什么?除此以外还知道哪些多任务学习方法?
  7. 精排融合公式是怎么构成的?为什么采用这种形式?
  8. 模型离线的训练指标是什么?多任务场景下训练指标怎么确定?
  9. 精排中DIN结构的实现形式是怎么样的?为什么参数量级会扩大?召回侧有没有做过类似的优化?
  10. 数据样本大概是什么量级?怎么评估线上线下效果?
  11. 对于模型及参数的调整如何判断是否可以上线?哪些部分是可以在线下环境确定的?

算法部分

  1. 手写快排
def quick_sort(nums, begin, end):
    m,n = begin,end
    base = nums[begin]
    while m < n:
        while m < n and nums[n] >= base:
            n -= 1
        while m < n and nums[m] <= base:
            m += 1
        nums[m] = nums[n]
    nums[m] = base
    quick_sort(nums, begin, m-1)
    quick_sort(nums, n+1, end)
    return nums

# 如遇到顺序序列如何保证复杂度仍为O(nlogn)
# random方法具有一定随机性,还可以如何优化?

三面(45m)

问答部分

  1. 简单介绍实习经历。
  2. 如何离线验证召回策略的有效性?(和前面相比强调了离线场景)
  3. 在新增召回策略未生效的情况下,如何判断是策略失败还是排序模型存在gap?
  4. 如何完整的搭建一个推荐系统?
  5. 如何在现有模型中加入新的特征,如何判断新加入特征的有效性?
  6. 在LR模型中如果存在线性相关的特征组合,会对模型效果产生怎样的影响?为什么?
  7. 人生问…(遇到过的困难&人生低谷&balabala…)

最后

以上就是健康墨镜为你收集整理的百度春招实习三面柳暗花明经的全部内容,希望文章能够帮你解决百度春招实习三面柳暗花明经所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部