0723快手 Openday社区科学部 算法工程师面经

0723快手 Openday社区科学部  算法工程师面经

目前状态:一面二面结束,等待结果中

本人由于简历上申明研究生方向为深度强化学习方向,因此面试官都问了较多关于强化学习的问题。除此之外就是关于机器学习的问题。

一面:

先介绍下参加的比赛吧,(巴拉巴拉 10分钟过去了)


  1. (1) 说一说基于值函数和基于策略梯度的RL算法的区别,什么时候用值函数RL算法合适,什么时候用基于策略梯度的合适?
  2. (2) 说说onpolicyoffpolicy的区别,并分别举几个代表性算法。
  3. (3) 写一写q函数的原始定义,并说说q函数的意义(这个问题我一面没回答出来,二面面试官又问了一遍,我才想起来,应该就是在当前状态下最优策略的未来累积回报值)。
  4. (4) 说一说Actorcritic算法吧。(我说完以后,面试官接着问)为什么需要critic网络呢,直接训练actor网络,输出最优动作有什么问题吗。
  5. (5) 你对GAN有了解是吧,写写GAN的损失函数吧,并解释一下GD的训练过程。
  6. (6) 写写逻辑回归的损失函数,并且推导一下权重更新公式。(我写了以后,面试官接着问)如果不用梯度下降优化,还能怎么优化,我说了一些优化算法,他说牛顿法怎么具体更新参数的(我只知道利用了二阶梯度信息,很诚实的说具体推导不会)
  7. (7) 写写线性回归的损失函数,并推导权重更新公式。(我写完以后,面试官接着问)X*X(T)一定可逆吗?我说不是,他又问:如果有两个特征的取值一模一样,这个更新公式有问题吗?(我想了半天,觉得可能会过拟合到这两个特征上,就尝试引导面试官让我写加了正则化的权重更新公式。但是面试官说不考虑正则化,就问当前表达式有什么问题。我诚实的说不清楚。后来面试官引导我说想想刚刚我问你的问题,我才想起来这时候X*X(T)不可逆,因为经过矩阵初等变换后有两行或者两列可以消去)
  8. (8) 写一个合并K个排序链表的代码吧(本身题目不难,就是在自己定义的子函数中,我new了一个节点dummy,最后返回的是dummy->next,面试官提示说new的节点在返回之前最好把它delete掉。)










二面:

先做自我介绍


  1. (1) 写写RLQ函数的表达式,并说说Q函数的意义。
  2. (2) 你在项目中用了DDPG,说说DDPG算法吧,(我说的时候可能表述的不够清楚,面试官让我画出几个网络之间的输入输出关系)。面试官接着问,这是offpolicy算法吧,你先解释下offpolicy,并说一下你在项目中怎么实现的。(我回答的核心是在π策略上加了噪声,形成采集样本策略)面试官说加的噪声少了会怎么样,加的大了会怎么样,有什么影响
  3. (3) 你对DQN了解吧,说说它对Q-learning的改进在哪些方面。我回答了三点




1) 用神经网络去拟合值函数

2) 使用replay-buffer存储过去的样本,消除训练样本的相关性。

3) 单独设置TD目标网络,防止TD目标更新过于频繁

面试官又问问什么需要单独设置TD目标网络(我又把刚刚参数去相关性,防止TD目标频繁更新扯了一遍)。


  1. (4) DQN的改进算法了解多少(我回答了double DQNdueling DQN,也只知道double DQN是为了解决Q函数过估计问题,后面具体的原理没答上来)
  2. (5) 机器学习方面:什么是生成模型,什么是判别模型,各举几个例子。说说HMM吧(我只知道它的模型以及解决的具体的三个问题,其他的没答上来)
  3. (6) 说说高斯混合模型以及参数估计过程。
  4. (7) 说说k-means算法和高斯混合模型的关系
  5. (8) 说说正则化技术,为什么L1正则化可以保持参数的稀疏性(我回答了两个角度,一个是画约束图,相信大家都会,另一个是L1正则化本质上是假设样本的先验分布服从拉普拉斯分布,画出拉普拉斯分布曲线解释),然后又推了一下为什么L1正则化本质上是假设样本服从拉普拉斯分布。
  6. (9) 说说矩阵分析里面特征值和特征向量的意义
  7. (10) 解释一下什么是凸函数(我回答了Hession矩阵半正定就行,)面试官接着问如果函数不可导怎么判断(懵逼)
  8. (11) 说说最优化方法有哪些,以及具体解释一下adam解决了什么问题(从动量以及学习因子自适应的角度解释了一下)
  9. (12) 编程:编写一个随机函数发生器,随机产生(1,2,3,4)四个数,当采集了无穷多数以后,产生的数概率服从(0.1,0.2,0.3,0.4)分布。(想了五分钟后,还是不会,当时想的每次怎么产生一个伪随机数,一直想不出来)
  10. (13) 编程,实现$y=\arqt{x}$











大致就这些,还有一两个问题忘了


#快手##面经##秋招##算法工程师#
全部评论
请问这是秋招提前批嘛?
点赞 回复
分享
发布于 2019-07-24 08:55
最后一个编程题是实现y=x0.5
点赞 回复
分享
发布于 2019-07-23 22:13
阅文集团
校招火热招聘中
官网直投
哥哥,我一个都回答不出来
点赞 回复
分享
发布于 2019-07-23 22:38
这个具体是什么岗位,不像cv和nlp吧
点赞 回复
分享
发布于 2019-07-27 01:35
有后续的通知吗?
点赞 回复
分享
发布于 2019-07-29 13:34
老哥在哪投的?
点赞 回复
分享
发布于 2019-08-01 17:31

相关推荐

#推荐算法面经##快手暑期实习### 快手【转正实习】-推荐算法(简历挂)简历挂快手【转正实习】-机器学习(第二志愿流转)### 第一次面试 - 时间:2024-03-27 11:00- 自我介绍- 手撕:  - 数组中第K大值(维护K大小的堆,复杂度O(nlogk))  - 快速幂- 本科推荐系统项目  - 召回用了哪些    - 非个性化:热度和高质量召回    - 个性化:FM、deepFM  - 召回的输入特征怎么来的  - FM召回算的什么分数,干什么用的  - FM特征怎么构造的  - 年龄等dense特征怎么处理的:直接送入或者分桶  - 召回融合方式:轮转召回融合和线性加权  - 排序用了哪些    - 协同过滤    - deepFM  - 协同过滤怎么做的  - 知道/用过哪些评测指标  - 是用的离线推荐吗:只写了离线层,没有实现在线层和近线层,数据规模小,用户五万 物品十万  - 大规模数据怎么处理:聚类选择代表性物品和用户,聚类id  - 数据库里存的什么信息,怎么计算FM的二阶特征交叉  - 冷启动怎么解决- 论文:照着paper讲解- 反问环节  - 项目规模  - 落地业务  - 我对该岗位来说,还有哪些需要提升和学习的?套评价,分析面试官反馈:实操丰富,但是缺少实践经验,本身招实习也是为了你们能来实战,感受业务场景从评价看,感觉一面能过。中午面下午就来二面消息了,不愧是**快**手,确实快😀
点赞 评论 收藏
转发
5 79 评论
分享
牛客网
牛客企业服务