抖音算法实习生面经(一面+二面)

第一面:上来三道题,然后问基础知识

算法题:

  • 链表反转 简单题
  • 寻找字符串中最长的无重复的子串
    Leetcode 3. Longest Substring Without Repeating Characters
  • 选择字符串中最长的所有字母出现次数>=k的子串
    Leetcode 395. Longest Substring with At Least K Repeating Characters

基础知识:

  • 对C++熟悉吗?用过boost库吗?hive呢? 指针和引用有啥区别

  • 你对Linux熟悉什么?

  • 数据库中 having与where的区别(对数据库的SQL语句的了解)

    • “where”是一个约束声明,在查询数据库结果返回之前对数据库的查询条件做一个约束,即返回结果之前起作用,“where”后面不能跟聚合函数;
    • “having”是一个过滤声明,在查询数据库结果返回之后进行过滤,即返回结果之后起作用,“having”后面可以加聚合函数;
  • Xgboost对于lightgbm的改进? Gbdt or 随机森林呢?

  • LR的损失函数(极大似然估计+交叉熵损失函数)

  • LR为什么用极大似然估计,损失函数为什么是log损失函数(交叉熵)
    https://www.cnblogs.com/stAr-1/p/9020537.html

  • 交叉熵损失函数的公式,与极大似然损失的异同点呢?
    https://blog.csdn.net/weixin_37567451/article/details/80895309
    https://blog.csdn.net/b1055077005/article/details/100152102

第二面:上来先问项目,里面的实现的细节,最后做算法题

  • K-means算法的基本思想?项目中Kmeans中k是怎么确定的?什么时候迭代结束?
  • tf-idf的含义
  • 爬虫模块有延迟怎么办?
  • 你熟悉哪些深度学习中的算法? (围绕着深度学习问的)
  • Adam优化器的原理,深度学习中的其他优化器? (有哪些优化方法)
    mini-batch梯度下降法,Momentum梯度下降法,RMSprop以及Adam优化算法
  • 深度学习中如何解决梯度爆炸和梯度消失?
    batch normalazation,吴恩达上课说的初始化权重可以有效缓解这个问题
  • 如何防止过拟合呢?你用过哪些?
  • Bert原理,解决什么问题?
  • attention原理。为何你项目里不用maxpooling而是用attention(有什么好处),这里你是如何实现的?怎么设计的?
  • Sigmoid的公式?用它有啥优点或好处?

算法:

  • 二叉搜索树中查找比指定值小的最大值(考虑各种情况)
    https://www.cnblogs.com/xiayy860612/archive/2012/10/16/2726861.html

写代码需要更快,而且是最优解。(也有需要和面试官稍微沟通,但是面试官希望的是直接做题,告诉他正确思路直接写代码,然后给代码给他看)

学习相关知识

  • 一文搞懂极大似然估计 https://zhuanlan.zhihu.com/p/26614750

L2正则化为何能避免过拟合?

  • 一:直觉上,正则化参数设置很大,让参数W很小,甚至很多为0,减少许多隐藏单元的影响,最终这个网络会变得更简单。
  • 二:如果正则化参数(W^2前的系数)变得很大,参数W很小,z也会相对变小,此时忽略b的影响,z会相对变小,实际上,z的取值范围很小,这个激活函数,也就是tanh曲线函数会相对呈线性,整个神经网络会计算离线性函数近的值,这个线性函数非常简单,并不是一个极复杂的高度非线性函数,不会发生过拟合。

dropout为何能避免过拟合?

  • 直观上理解:不要依赖于任何一个特征,因为该单元的输入可能随时被清除,因此该单元通过这种方式传播下去,并为单元的四个输入增加一点权重,通过传播所有权重,dropout将产生收缩权重的平方范数的效果,和之前讲的L2正则化类似;实施dropout的结果实它会压缩权重,并完成一些预防过拟合的外层正则化;L2对不同权重的衰减是不同的,它取决于激活函数倍增的大小
  • 第二个直观认识是,我们从单个神经元入手

batch normalization

Z = WX + b
a = sigmoid(Z)
抖音算法实习生面经(一面+二面)_第1张图片
对每一层的Z值进行归一化,然后服从某种分布,比如均值为beta, 方差为gama的分布(两个参数),每一层的分布可以不同。

抖音算法实习生面经(一面+二面)_第2张图片

Batch Norm 为什么奏效?

  • 原因一:
  • 原因二:

你可能感兴趣的:(面经)