2019年9月2日

494 阅读3分钟

前言

先说说Bigo这家公司,简单来说是开始做海外社交和直播视频相关业务的,然后被YY全资收购了。今天上午十点半面试的,开始让用Zoom面试,结果出了点问题,改用了微信。

  • 2014年11月 BIGO于新加坡成立

  • 2016年3月 全球视频直播社交平台-BIGO LIVE上线

  • 2016年4月 BIGO LIVE荣登泰国地区APP排行榜首

  • 2017年7月 Likee(原LIKE短视频)上线

  • 2017年11月 Likee(原LIKE短视频)获得Google Play 2017三项殊荣

  • 2018年6月 BIGO完成D轮融资

  • 2019年3月 BIGO被欢聚时代(YY)收购

  • 2019年5月 集团产品全球月活数超过4亿,其中imo月活数达2.11亿

面试

  • 自我介绍
  • 了解Transformer和Bert? 说一下Transformer的结构。然后就是Transformer的经典问题
  1. 为什么需要位置编码

self-attention机制是一种词袋(bag of words),不论看上去距离多远的词,在self-attention机制中都为1。这样的建模方式,实际上会丢失词之间的相对距离关系。举个例子就是,“牛 吃了 草”、“草 吃了 牛”,结果是一样的。

  1. 多头注意力机制的好处

借鉴了CNN的多个卷积核的机制,原论文中表述是形成多个特征子空间,每个子空间学习不同的文本特征

3. 缩放点积Attention的公式?为什么需要除以\sqrt{d_k}

高维向量相乘结果可能很大或者很小,容易处于softmax的的饱和区域,进行缩放后处于softmax的敏感区域,有利于梯度的传播。

  • transformer的优化器?(这里我感觉他问错了,应该是bert的)

刚开始没懂,就说了Adam。然后他追问了Adam和Adgrad的区别。以及Adam用的学习率大小,过大过小会如何。最后说你见过先大后小的学习率吗?我才搞明白他想问warmup。

  • 讲一下对话系统的项目里面的数据集是如何构建的,多任务是如何做的?
  • 讲一下原始的pipeline模型是怎么做的?意图分类分了几类?用的什么模型?做了什么改进?

SVM,追问了SVM如何用作多分类。SVM多分类使用的是多个二分类器组成的,可以是1对其余(n个分类器),也可以是1对1(n(n-1)/2个分类器)。 改进主要是针对样本不均衡使用了focal loss,追问了focal loss的函数形式和作用。

  • 讲一下模型压缩工作。SVD是怎么做的?

SVD是把矩阵分解成U\sigmaV三个矩阵,然后根据\sigma中的奇异值进行截断,从而压缩数据量。

  • 过拟合的方法

数据层面:增加数据,数据增强,模型层面:L1,L2正则化,Droupout,剪枝,以及模型集成,多任务学习等

  • 了解BN吗 BN的公式 BN的滑动平均均值和方差

假设输入服从高斯分布对batch方向进行归一化,然后再缩放。 训练的时候使用训练集batch的滑动平均,测试的时候固定均值和方差,使用训练的滑动平均的结果进行预测。

  • 了解推荐系统模型吗?有哪些?

我不是很懂推荐系统的,只说了基于SVD分解的协同过滤

  • 只想做NLP还是做NLP相关的内容

NLP和推荐结合的内容

  • 反问
  1. 您是做什么工作的?

推荐

  1. NLP岗位的内容有什么?

把评论数据转换为特征用于推荐