记录字节跳动2020年实习生面试

特别特别紧张.

以下是本人在2020.3.17下午收到的字节跳动机器学习(推荐算法岗位)实习生面试的一面和二面问的技术问题。

# 一面

1. transformer的结构,写一下self-attention的公式.你的transformer模型和普通的机器翻译中使用的有什么区别?遇到了什么困难?

2. BP算法的推导,神经网络最后一层使用softmax激活函数和交叉熵损失函数

3. 如果LR中的特征有所重复,会有什么影响?

4. 如果进行下采样,会对AUC产生什么影响?为什么?

5. 推荐算法的各种问题.如何找到最适合的连麦的主播?

6. 如何确定抖音上某个up主的视频应该给出多大的流量?如果我们已经有了这样的模型,如何判断这个模型是否还有提升的空间?

# 二面

7. 假设有一栋100层高的楼,我们有N个玻璃球.如果我们在某一层将玻璃球往楼下扔,当层数大于等于某层时,玻璃球就会摔碎.这一层我们称为阈值,假设每一层成为阈值的概率是均等的,且一定有某一层是阈值.我们试图扔最少的次数找到这个阈值.

   1. 假设N=1.

      我们采用以下策略:

      在第1层扔,如果没有碎,在第二层扔,如此递增层数直到找到阈值.

      复杂度分析:最好情况为1次,最差的情况为99次(因为如果第99层没有碎的话,第100层必定是阈值).其平均次数为$0.5*99(99+1)/99=50$次

   2. 假设N=2

      * 我们采用以下策略:

        先将第1颗球在第50层扔,如果没有碎,则阈值所在的区间为$(51,100)$;如果碎了,阈值所在的区间为$(1,50)$.再使用第二颗球在$(1,50)$或者$(51,100)$之间从最低层递增层数扔,这两种情况都需要第二颗球扔平均$0.5*49*(1+49)/49=25$次.再加上第一颗球扔的一次,总共为26次.

      但是这不是最佳的方案,因为第一颗球如果没有碎的话,是可以重复利用的.

      * 我们将我们的策略改动如下:

        先将第1颗球在第33层扔,如果碎了,则阈值所在区间为$(1,33)$;如果没有碎,我们在第66层扔,如果碎了,则阈值所在区间为$(34,66)$;如果没有碎,则阈值所在区间为$(67,100)$.再用第二颗球在这三个区间之间扔.则平均次数为$(1+16.5+2+16.5+2+17)/3=18.3$次.

        我们是否可以获得一些启示?

      * 我们继续更改我们的策略:

        我们将$(1,100)$区间分成n等分,则每一等分的长度为$100/n$.我们将第一颗球扔出去的位置设置为在等分点上从低依次往高提升,即:$100/n,100/n*2,100/n*3,...,100/n*(n-1)$,第二颗球在这些小区间内确定阈值的具体位置.平均次数为:
        $$
        \begin{align}
        average\_num=&[1+100/n*0.5+2+100/n*0.5+...\\
        &+(n-1)+100/n*0.5+(n-1)+100/n*0.5]/n \\
        =&[(n-1)*(n)/2+(n-1)+50/n*n]/n\\
        =&\frac{n}{2}+\frac{49}{n}+\frac{1}{2}\\
        \end{align}
        $$

        $$
        \begin{align}
        &f(n)=\frac{n}{2}+\frac{49}{n}+\frac{1}{2}\;求导:\\
        &f'(n)=-\frac{49}{n^2}+\frac{1}{2}=0\\
        &n^2=98,\quad n取9或者10 \\
        &f(9)=10.44,f(10)=10.4次.\\
        &所以n取10,最少次数为10.4次\\
        \end{align}
        $$

   3. 假设N=3

      我们采用以下策略:

      我们将$(1,100)$分成n等分,使用第一颗球确定阈值所在区间;再将此区间分成m等分,使用第二颗球确定阈值所在更具体的区间;最后使用第三颗球确定阈值具体的位置.后续推导略.
   
8. LR和SVM的区别?SVM是如何推导的?

9. SVM的各种核函数的使用
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值