快手算法面经秘籍

《AI未来星球》陪伴成长的人工智能社群,价值过万的各种内部资源及活动,限时特惠中,点击查看。

求职跳槽福利:为了便于大家求职、跳槽的准备,大白将45家大厂的面经,按照知识框架,整理成700多页的《人工智能算法岗江湖武林秘籍》,限时开放下载,点击查看下载。


面经整理历程:经过一年多的努力,大白整理了超过3500篇,各类大厂的算法面经资料。

并将涉及到的知识点,按照知识框架,分类汇总,每个公司整理成一篇,比如本文的快手面经

大家对照面经,可以了解心仪的公司,会根据你的简历,问哪些知识点?便于大家对掌握的知识,进行回顾梳理。

希望为大家在求职或者跳槽的道路上,提供一些帮助,为大家取得心仪的offer助力。

面经整理心得:大白也将整理所有面经的心得,写成了一篇文章,点击查看心得

其他大厂面经:国内其他大厂的面经汇总,点击查看目录

快手面经整理:江大白

1 快手面经汇总资料

1.1 面经汇总参考资料

① 参考资料:

(1)牛客网:快手面经-77篇,网页链接

(2)知乎面经:点击进入查看

(3)面试圈:点击进入查看

面经框架及参考答案:

(1)面经知识框架:点击进入查看

(2)面经参考答案:点击进入查看

1.2 面经涉及招聘岗位

(1)实习岗位类

【快手杭州商业化算法实习生】、【算法测试实习生】、【用户增长算法实习生】

(2)全职岗位类

【计算机视觉工程师】、【机器学习算法工程师】、【广告算法工程师】、【openday社区科学部算法工程师】、【推荐算法工程师】、【图像增强算法工程师】、【y-tech部门工程师】、【数据挖掘算法工程师】、【视觉识别算法工程师】、【商务化业务部广告算法工程师】、【语音算法工程师】、【快手游戏AI算法工程师】、【NLP算法工程师】

1.3 面试流程时间安排

PS以上流程为大白总结归纳所得,以供参考。

1.4 快手面试心得汇总

★ 对简历上自己实习或者做过的项目的细节,要知道清楚,会针对项目问得很深

★ 二面和面试官交流了很多,深刻认识到数学在算法方面的重要性,“数学能力决定上限,代码能力决定下限”。

★ 感觉快手都没咋问基础知识,基本就是项目经历+算法,感觉比头条简单一些。

★ 还是得多刷算法题,常见题目必须得秒写,二叉树,链表,二分查找,这是目前这么多面试出现频率最高的题目,可能是因为实习生的要求不高,问的都比较基础,估计校招的时候就会问一些DP相关的题目了。

★ 有人说的HR面的问题,基本都是一模一样,先介绍部门然后问我什么城市选择、职业规划、三个词形容自己等。

2 快手面经涉及基础知识点

2.1 图像处理基础

● 手写直方图拉伸?

● 手写均值滤波?

2.2 深度学习:CNN卷积神经网络方面

2.2.1 讲解相关原理

2.2.1.1 卷积方面

● 什么是dropout?让你实现一个dropout你怎么实现?

● dropout原理讲一下?作用以及训练测试时的不同?

2.2.1.2 池化方面

● 池化层的作用?池化层反向传播的时候是怎么计算的?

2.2.1.3 网络结构方面

● 介绍常用的网络结构,如何改进?

2.2.1.4 其他方面

● BN层解释一下?有啥用为啥好用?

● BN的原理、作用以及训练测试时的不同?

● BN为什么能加快收敛速度?BN解决了什么问题?是怎么计算的?基于什么计算的?训练和测试的时候有什么不同?测试时候的均值和方差是怎么来的?

● 为什么输入网络之前数据要做归一化?

● 梯度爆炸的原因及解决方法

● BN的gama  labada意义

2.2.2 数学计算

● 卷积时间复杂度?

2.2.3激活函数类

● 介绍softmax,对softmax的理解

● 证明softmax的特征规划问题,在撕代码的界面推

2.3 深度学习:RNN递归神经网络方面

2.3.1 讲解相关原理

● LSTM各类门结构?

● LSTM的门是什么,激活函数是什么?

● RNN的反向传播 + bp推导

2.4 深度学习:CNN&RNN通用的问题

2.4.1 基础知识点

● 训练集测试集和验证集怎么划分?

● 训练数据太少怎么办?

● 模型attention怎么做,结果效果?

● overfitting的解决方法 为什么为产生overfit的现象

● 介绍一下transformer的结构?encoder的输入?decoder的输入?介绍一下self attention?为什么比RNN好?encoder和decoder都能并行?decoder的mask?

2.4.2 模型评价

● AUC啥意思?横纵坐标什么?物理含义什么数据分布改变时,AUC有什么影响(没啥影响,我居然说我不太清楚?)

● AUC的定义和计算方法、auc实际上衡量的是什么能力,roc曲线是否会出现先增后减的情况?

2.5 传统机器学习方面

2.5.1 讲解相关原理

2.5.1.1 数据准备

● 介绍一下自己在数据清洗这一块有什么心得方法?

2.5.1.2 特征工程

2.5.1.3 有监督学习-分类和回归方面

① 分类回归树(集成学习)

● gbdt和rf的区别?

● 讲一下rf和lightgbm区别?

● 集成学习的方法有哪些?

A.基于bagging:随机森林

● 分析一下随机森林可不可以剪枝?

● 随机森林是什么原理?

B.基于boosting:Adaboost、GDBT、XGBoost

● 介绍一下LightGBM与Xgboost的区别?Lightgbm相对于xgboost的优化?

● 介绍一下GRU、RF、GBDT、XGBoost

● 如果判断树模型lgb过拟合,怎么调整树的参数?

● XGBoost 的特征重要性是如何得到的?

● GBDT+LR

● 问了xgboost缺失值处理方法?

● 为什么xgboost要二阶展开?

② K近邻

● KKT条件具体是什么?

③ 逻辑回归LR

● 问了标准化,那些模型需要对数据进行标准化,标准化有什么用,LR中是否一定需要标准化 ?

④ SVM

● 通俗的讲一下SVM?

● 讲SVM原理,SVM损失函数是什么?

● SVM为什么能够求解对偶问题,求解对偶问题为什么和原问题一样?为什么要求解对偶问题?svm的公式是什么?如果线性不可分怎么办?

● 问了支持向量机的基础思路,支持向量机的损失函数,了解支持向量机的核函数吗?核函数需要满足什么样的条件?核函数怎么进行构造?

● SVM解决线性问题还是非线性问题?

⑤ 朴素贝叶斯(Naive Bayes)

● 贝叶斯的原理是什么?

● 朴素贝叶斯公式是怎么得到的,推导一下?

● 贝叶斯公式

● 先验概率和后验如何用到朴树贝叶斯上的?

⑥ 决策树

● 你了解决策树么?讲一下?

● 决策树是怎么样进行划分的,决策树的损失函数?

● DNN和树模型,哪个用于输入是类别特征时效果更好,为什么?

● 树模型如何输出特征重要性得分?物理含义是什么?

2.5.1.4 无监督学习-聚类方面

● 介绍一下kmeans算法,然后问在分布式的环境下怎么实现?

● 说说k-means算法和高斯混合模型的关系?

● kmeans,K值选择,初始点?

● k-means的数据应该符合什么条件

● 说说高斯混合模型以及参数估计过程?

2.5.2 手推算法及代码

● 写一下逻辑回归的损失函数,并且推导一下权重更新公式?

● 推导LR、LR损失函数是什么,数学含义是什么?

● 写线性回归的损失函数,并推导权重更新公式。

● 手推 XGBoost

2.6 深度学习&机器学习面经通用知识点

2.6.1 损失函数方面

● 神经网络有哪些常用的损失函数?

2.6.2 激活函数方面

● RELU有什么缺点?

● 推导softmax的梯度,和tanh的梯度?

● 反向传播梯度推导?(relu、sigmoid)

2.6.3 网络优化梯度下降方面

● 如果不用梯度下降优化,还能怎么优化,我说了一些优化算法,他说牛顿法怎么具体更新参数的。

● 说说最优化方法有哪些,以及具体解释一下adam解决了什么问题(从动量以及学习因子自适应的角度解释了一下)

● 具体解释adam,二阶矩是什么?为什么要用二阶矩?

● 剃度优化bfgs的原理

● 写sgd和momentum优化的方法?

● lda调参中的参数是什么,α,β怎么设置?

2.6.4 正则化方面

● 正则化有哪些方法?详细介绍下L1和L2?

● 正则化与bias,variance的关系?

● 说说正则化技术,为什么L1正则化可以保持参数的稀疏性?(我回答了两个角度,一个是画约束图,另一个是L1正则化本质上是假设样本的先验分布服从拉普拉斯分布,画出拉普拉斯分布曲线解释),然后又推了一下为什么L1正则化本质上是假设样本服从拉普拉斯分布。

● 从两种数学角度解释L1、L2(一个是画图 一个是数值角度)

2.6.5 过拟合&欠拟合方面

● 过拟合和欠拟合的原因及解决方式?

3 快手面经涉及项目知识点

3.1 深度学习:CNN卷积神经网络方面

3.1.1 目标检测方面

● RCNN、Fast-RCNN、Faster-RCNN讲一下?

● 对anchor的理解?

● 手写NMS代码

3.1.2 图像分类

● 介绍图像分类用到的Loss

● 一般做分类我们都用交叉熵损失,交叉熵损失是否可以替换为MSE损失呢?

3.1.3 人脸识别

● center loss作用

● 小论文中改进了center loss,介绍center loss

● 开放问:为什么center loss没有得到广泛的应用?

● 问到在处理上万的类别的分类任务上,centerloss能否使用,arcface有什么问题?

● 人脸arcface中的arc为啥比cosface那些好,为啥比triplet好?

3.1.4 音频算法

● 音频部分基础知识:

(1)MFCC、FBANK提取过程、区别。

(2)帧移,为什么选择这个范围

采样率、带宽、 奈奎斯特定理等

● 问几个现实场景中的问题,说几个解决方案或思路。

(1)说话人识别注册语音少怎么解决:数据扩充、自适应等。

(2)应对噪声场景:数据扩充、降噪、GAN网络、说话人分离、DNN VAD等。

3.2 深度学习:RNN递归神经网络方面

3.2.1 自然语言处理NLP

① Bert

● Bert的Position Embedding是怎么处理的?

● Bert了解么,position embedding是什么,哪种效果好?

● 介绍一下BERT?介绍一下两个训练任务?介绍一下如何fine-tune?如何在bert后接网络?为什么要比直接输出好?

② Attention

● attention计算时为什么要除根dk?

③ Word2vec

● 讲一下word2vec原理?

● word2vec具体的细节,损失函数?

● word2vec原理?skipgram和cbow详细说一下?哪个用的多?skipgram为什么在解决罕见词方面更好?训练中两种优化方式介绍一下?为什么能优化?

● 介绍一下Glove?和word2vec的区别?

④ 其他

● tfidf公式写一下

● 评估两个句子的相似度,有什么方法

3.3 强化学习

● 生成式模型与判别式模型的区别?

● 说一说基于值函数和基于策略梯度的RL算法的区别,什么时候用值函数RL算法合适,什么时候用基于策略梯度的合适?

● 说说onpolicy和offpolicy的区别,并分别举几个代表性算法?

● 写一写q函数的原始定义,并说说q函数的意义?

● 你对GAN有了解是吧,写写GAN的损失函数吧,并解释一下G和D的训练过程。

● 写一下RL中Q函数的表达式,并说说Q函数的意义。

● 你在项目中用了DDPG,说说DDPG算法吧,(我说的时候可能表述的不够清楚,面试官让我画出几个网络之间的输入输出关系)。面试官接着问,这是offpolicy算法吧,你先解释下offpolicy,并说一下你在项目中怎么实现的。(我回答的核心是在π策略上加了噪声,形成采集样本策略)面试官说加的噪声少了会怎么样,加的大了会怎么样,有什么影响)

● 你对DQN了解吗,对DQN的改进算法了解多少?说说它对Q-learning的改进在哪些方面?

● 项目是关于DQN 和DDQN的,后来问了DDQN能从根本上解决DQN的高估现象吗?

3.4 机器学习方面

3.4.1 推荐系统

3.4.1.1 讲解原理

● 讲一下DeepFM的原理?

● 协同过滤,userCF、itemCF讲一下?

● 推荐方法用了哪些?冷启动怎么实现

● CTR损失函数及意义?CTR评价指标?

● youtubu召回模型

● deepfm模型

● 推荐系统的各个环节(召回、精排、重排)都是干啥的,你有什么理解?

● 如果给你一个DNN或逻辑回归模型,怎么输出特征的重要性得分?

● 广告算法岗:

(1)了解计算广告的常见收费方式吗? eCPM是什么含义?

(2)了解竞价机制吗?解释一下广义第二竞价机制?

(3)为什么要用广义第二竞价机制呢?(优点是什么)

(4)了解哪些常见的广告形式?

● 聊到推荐系统,我说了 FM 和 FFM,面试官问我 FFM 的第一个 F 代表什么,我回答说 Field。面试官让我解释一下为什么要用 FFM?

● 讲一下FM、FFM、DeepFM的流程?

3.4.1.2 手写代码

● fm的公式推导,怎么写成矩阵形式

● 手推FM/FFM公式

4 数据结构与算法分析相关知识点

4.1 数据结构与算法分析

4.1.1 线性表

4.1.1.1 数组

● 给定一个数组 [a,b,b,c,c,c,b,a,b,c],按照字母序排序 ‘a’,’b’,’c’,变成[a,a,b,b,b,b,c,c,c,c] ?

● 循环数组找最小值

● 旋转数组的查找

● 合并有序数组(C++)

● 小和问题:在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。

例子:

[1,3,4,2,5]

1左边比1小的数,没有;

3左边比3小的数,1;

4左边比4小的数,1、3;

2左边比2小的数,1;

5左边比5小的数,1、3、4、2;

所以小和为1+1+3+1+1+3+4+2=16

● AABBCDDEE 给一个数组,除一个数组外均为重复出现,要求找出单独的字母,时间复杂度尽可能低?

● 以时间复杂度O(n)从长度为n的数组中找出同时满足下面两个条件的所有元素:

(1)该元素比放在它前面的所有元素都大;

(2)该元素比放在它后面的所有元素都小

● 给一个长度为N的数组 里面有1-N+1这些unique的数字,其中少了一个 怎么找出少的这个,不允许用额外space

4.1.1.2 链表

● 链表反转

● 判断一个链表是否有环,有环的话输出环的第一个节点,没有的话输出空。

● 写一个合并K个排序链表的代码?

● 合并两个排序链表并删除重复值?

● 做了将K个链表排成一个排序好的单链表

4.1.1.3 字符串

● 删除字符串中多余空格,连续空格都变成一个,要求时间空间复杂度尽可能小

● 找出字符串中最长的不含重复字符的子串长度,用双指针轻松解决

● 字符串全排列

4.1.2 树

4.1.2.1 二叉树

● 判断一个二叉树是否为二叉搜索树。优化空间

● 一颗二叉树,找到找到叶子节点的值等于给定值的那条路径?

● 非递归实现二叉树翻转、分割子树求乘积max?

● 求二叉树从根节点到叶子节点路径等和等于target的路径

● 二叉树的友视图

● 翻转二叉树

● 层次构建二叉树,然后先序遍历输出

● 层序遍历二叉树

● 二叉树的蛇形遍历

● 二叉树Z形遍历

● 二叉树非递归前序遍历

● 求树中两个节点的最近公共父节点,时间复杂度

● 给一个二叉搜索树,和一个区间,删掉不在区间内的节点?

4.1.2.2 堆

● 最大堆实现

● 堆和栈的区别,应用

4.1.3 排序

● 归并排序(只写了O(n)空间的),O(1)空间能做?

● 归并排序的平均复杂度是多少?最坏复杂度是多少?

● 最大的k个数

● 求 top(k) return sorted(A)[::-1][:k]?

● 链表快排、为什么数组排序都用快排不用归并?

● 手写快排

● 快排的平均时间复杂度,最坏情况是什么,复杂度多少?

4.1.4 搜索

● 快排dfs

4.2 算法思想实战及智力题

● 从文件中读取n个数,求最大的K个数(约为K个即可)写入新文件;要求:n,k都很大,无法直接装入内存,空间复杂度O(1),尽量减少IO次数;思路:利用概率密度

● 给几种硬币,凑一个数,求最少硬币数

● 最长递增子序列

● dfs全排列

● 有重复的数组,两个数相加=n,求两个下标,列出所有可能情况

● 连续最长子序列

● 二分查找:有序递增不重复序列,找出第一个缺失的元素,加强版:如果可以重复呢?

● 最大值和最小值的差小于或者等于num的子数组数量

● 实现编辑距离,O(n)空间复杂度

4.3 其他方面

4.3.1 数论

● 凸函数是什么,有什么良好的性质?极值是什么?

● 解释一下什么是凸函数?(我回答了Hession矩阵半正定就行,)面试官接着问如果函数不可导怎么判断?

● 最小二乘法原理?

● 极大似然函数和极大后验函数是啥?

● 极大似然估计,条矩阵问题:AX=Y,A列数大于行数,为什么会有无穷个解,有无穷个解的条件,如何得到一个最优解 ?

● 如果有2组独立同分布的数据,但模型分布不一样,怎么解决?EM算法,混合高斯模型?

● K个独立高斯同分布随机变量的结果是?

● ax=b,求x的方法。(求逆矩阵,如果不可逆怎么办。什么情况下可逆。)

● 求a.b独立且服从0-1均匀分布,求|a-b|的期望

● 两个独立同分布的骰子,求骰子数积的期望?

● 扔硬币,连续扔出2次的最大期望值,连续扔出两个正就停止

● 求两个数的汉明距离?

● 求y = sqrt(x)

4.3.2 概率分析

● 打可乐,机器坏了每次打0-1杯,如果<1/2再打一次,最多打两次……最后<2/3就投诉,问最后投诉的概率?

● 写一个随机函数发生器,随机产生(1,2,3,4)四个数,当采集了无穷多数以后,产生的数概率服从(0.1,0.2,0.3,0.4)分布?

● 54张牌抽出四张,抽出为1234的概率

● 三个人斗地主,出现王炸的概率

● 一个孤岛重男轻女,直到生出男孩为止,男女出生率1比1,初始比例也是1比1,问最终的男女比例?

● 某疾病发病概率1/1000,患者有95%的概率检测出患病,健康者有5%的概率被误诊,问若一个人被检测出患病,实际患病概率是多少?

● 30分钟内看到一辆车的概率是0.95,求10分钟内看到一辆车的概率

● 圆上任取3点,得到一个锐角三角形的概率

4.3.3 矩阵运算

● 说说矩阵分析里面特征值和特征向量的意义?

● 矩阵问题:AX=Y,A列数大于行数,为什么会有无穷个解,有无穷个解的条件,如何得到一个最优解?

● Leetcode困难难度:一个矩阵,1能走,0不能走,可以上下左右走,问最短路径,时间复杂度(nm),空间复杂度(nm)

4.3.4 其他

● K个独立高斯同分布随机变量的结果是?

● 最大连续子序列和,并返回开始和结束的位置

● 两个均匀分布相加是什么分布

4.4 Leetcode&剑指offer原题

● Leetcode 23

● LeetCode 42:接雨水

● Leetcode 103

● Leetcode 113

● Leetcode 199

● Leetcode 206

● Leetcode 300

● Leetcode 322

● Leetcode 542

● Leetcode 原题:两数之和

● Leetcode 原题:用栈实现队列

● Leetcode 原题: 最长回文子串

5 编程高频问题:Python&C/C++方面

5.1 python方面

5.1.1 网络框架方面

5.1.1.1 Pytorch相关

● Pytorch实现把一个Tensor中大于0的数字都置为0

5.1.1.2 Tensorflow相关

● tensorflow原理,keras和他的区别?

5.1.2 基础知识

5.1.2.1 线程相关

● 讲一下python的多线程和多进程

5.1.2.2 讲解应用

● Python引入其他库,底层实现是怎么样的?

● Python的sort,如果两个次数相同,sort会改变他们的先后顺序吗?

● 判断字符、取字符、输出二维数据的行列

5.2 C/C++方面

5.2.1 基础知识

5.2.1.1 内存相关

● 堆和栈存储

● 两个栈实现队列

5.2.1.2 讲解原理

● 多态(虚函数)

● 空类的大小

● 静态函数,静态变量

● 类里面的变量+static有什么作用?

● C:指针占用内存大小、strlen和sizeof的区别、堆栈的区别、double型与0怎么比较

● C++:STL容器、虚函数、类的一些知识

● 什么是深拷贝浅拷贝?

5.2.1.3 讲解应用

● vector和list底层实现?

6 操作系统高频问题:数据库&线程&常用命令等

6.1 数据库方面

6.2 操作系统方面

6.2.1 常用命令

● 怎么设置环境变量: .bashrc,然后source一下?

● 统计当前文件夹下面.jpg文件的数量:ls -l | grep '.*\.jpg' | wc -l

● 计算当前文件夹的大小:du -sh

6.2.2 其他问题

● 数据挖掘算法岗问到的问题:

(1)spark执行机制

(2)spark sql写两个表字段相同id和ip,统计两个表中不一样的ip的出现次数排序

7 技术&产品&开放性问题

7.1 技术方面

● 介绍天池比赛(讲训练验证数据划分以及原因、残差特征、lgb和xgb的选用、具体的模型融合方法、AUC、FM和LR的区别、LR的损失函数推导、交叉熵公式、AUC高一定预测的转化率准确吗?)

● 介绍在腾讯实习的项目(讲DeepFM、讲word2vec原理、word2vec中的优化:哈夫曼树and负采样and频繁下采样、讲协同过滤、AUC、连续值分桶)

● 如何判断一张图片含有什么噪声?

● 场景题:诈骗项目,想选出topk的诈骗类(没有标签)

主要类别有电商诈骗,虚拟交易诈骗,婚恋诈骗,主播诈骗等

数据有:举报人ID,被举报人ID,私信数据,评论数据,浏览记录

● 样本不均衡的处理方法

权重调整,采样,对样本不均衡不敏感的指标,

面试官补充:对样本不均衡不敏感的模型,比如SVM,XGB

然后讨论了一波为什么XGB对样本不均衡不敏感?

某个项目为什么效果不好,有何反思,未来如果再做你会怎样改进?

● 场景设计题:现在我们要给快手上的视频用半监督方法打标签,target是印度风的视频,已知印度快手上传的视频中印度风bgm的比例远高于其他国家,现在给你视频的bgm和上传国家两个特征,设计一个方法给这些视频打上是否是印度风的标签。个人感觉这个有点像半监督召回问题。

● 如何理解数据挖掘/机器学习/数据科学之间的关系?

● 在实际的业务数据中,现在有一个文件不断保存业务过来的流式数据,如何从文件中等可能的取出想要的某个数据,回答了挺久但好像都不是他想要的回答。

● 你如何解决一段文本去找相关图片的任务?

答:通过文本摘要得到关键字,通过搜索引擎去搜索相关图片,然后利用图片描述,与相关文本做相似度计算,取其TopN

7.2 产品方面

● 风控部门,如何识别那些经过加工方式上传的恶意视频

本文由 大白智能 作者:凯哲 发表,其版权均为 大白智能 所有,文章内容系作者个人观点,不代表 大白智能 对观点赞同或支持。如需转载,请注明文章来源。

发表评论

This site is protected by wp-copyrightpro.com