diff --git a/docs/第三章 推荐算法面经/3.1 ML与DL基础.md b/docs/第三章 推荐算法面经/3.1 ML与DL基础.md new file mode 100644 index 00000000..a6b718fe --- /dev/null +++ b/docs/第三章 推荐算法面经/3.1 ML与DL基础.md @@ -0,0 +1,123 @@ +# 3.1 机器学习相关 + +## 3.1.1 机器学习 +- 介绍一个最熟悉的机器学习算法 + +- 介绍下GBDT + +- 介绍XGBoost + +- 介绍下LightGBM + +- LightGBM相对于XGBoost的改进 + +- GBDT中的梯度是什么,怎么用 + +- GBDT如何计算特征重要性 + +- 介绍XGBoost中的并行 + +- 介绍XGBoost中精确算法与近似算法 + +- XGBoost如何处理空缺值,为何要进行行采样、列采样 + +- 为什么高维稀疏数据,LR比GBDT要好 + +- 随机森林与GBDT采样的区别 + +- 随机森林中列采样的作用 + +- bagging与boosting对比 + +- bagging与boosting分别从什么角度降低过拟合 + +- 逻辑回归如何避免过拟合 + +- 推导逻辑回归损失函数和损失函数求导 + +- 正则化项L1和L2为什么有用 + +- l1正则不可导,如何优化 + +- 什么样的特征容易产生比较小的权重 + +- 随机森林采样n次,n趋于无穷大,oob样本的概率接近于? + +- 逻辑回归与树模型的优缺点 + +- 对于高维稀疏数据,树模型能训练吗?一般怎么处理 + +- 树模型一般有哪些参数,分别有什么作用 + +- 随机森林如何处理空缺值 + +- 介绍kmeans,与其他聚类算法的对比 + +- 机器学习导致误差的原因?过拟合、欠拟合对应的偏差和方差是怎样的? + +- 如何解决过拟合问题?哪些角度 + +## 3.1.2 深度学习 + +- 优化器,SGD与Adam的异同点 + +- SGD缺点,已经有什么改进的优化器 + +- 网络权重初始化为0有什么影响,初始化为一个非0的常数呢? + +- embedding如何设置维度?越大越好还是越小越好? + +- transformer中计算attention除于根号d的作用 + +- embedding如何训练 + +- 介绍下attention,相比cnn、lstm的优势 + +- word2vec如何进行负采样 + +- word2vec两种训练方法的区别,具体损失函数 + +- 介绍LSTM每一个门的具体操作,一个LSTM cell的时间复杂度是多少 + +- transformer中encoder和decoder的输入分别是什么 + +- transformer中encoder与decoder的QKV矩阵如何产生 + +- transformer中QKV矩阵是否可以设置成同一个 + +- transformer与bert的位置编码有什么区别 + +- BERT中计算attention的公式 + +- BERT中LayerNorm的作用,为什么不用BN? + +- BERT中的两种预训练任务介绍 + +- 深度学习中BN的好处?最早提出BN是为了解决什么问题?BN具体怎么实现的 + +- 激活函数中,sigmoid,tanh有什么不好的地方?relu有什么优势? + +## 3.1.3 特征工程 +- 特征工程一般怎么做 + +- 特征数值分布比较稀疏如何处理 + +- 正负样本不均衡如何处理 + +- 连续特征离散化的作用 + +- 对id类特征onehot导致维度过高,如何处理? + +- 如何进行特征筛选 + +## 3.1.4 评估指标 + +- auc的含义和计算方法 + +- 如果对负样本进行采样,auc的计算结果会发生变化吗 + +- 交叉熵跟MSE有什么区别 + +- micro-f1解释 + +- 介绍下排序指标ndcg \ No newline at end of file diff --git a/docs/第三章 推荐算法面经/3.2 推荐模型相关.md b/docs/第三章 推荐算法面经/3.2 推荐模型相关.md new file mode 100644 index 00000000..1e437fbb --- /dev/null +++ b/docs/第三章 推荐算法面经/3.2 推荐模型相关.md @@ -0,0 +1,32 @@ +# 3.2 推荐模型相关 +## 3.2.1 召回 + +- 介绍双塔模型 + +- 双塔模型的输出,用双塔embedding做内积+sigmoid和求余弦相似度+sigmoid的区别 + +- 双塔模型一般怎么做特征 + +- 双塔模型为什么不直接把两个塔合起来输入一个DNN + +## 3.2.2 排序 + +- 为什么CTR中目前普遍使用深度学习模型替换树模型 + +- 为什么要有wide层、FM层,deep层不也有记忆能力吗 + +- DeepFM与wide&deep的介绍与对比 + +- 对DeepFM进行优化,有哪些思路 + +- DeepFM如果过拟合和欠拟合分别如何处理 + +- 介绍除了FM之外的特征交叉的模型 + +- 介绍DIN模型,适合的场景 + +- DIN中如何计算attention + +- transformer与DIN的区别和联系 + +- 介绍下listwise排序模型LambdaRank \ No newline at end of file diff --git a/docs/第三章 推荐算法面经/3.3 热门技术相关.md b/docs/第三章 推荐算法面经/3.3 热门技术相关.md new file mode 100644 index 00000000..fad5dd9c --- /dev/null +++ b/docs/第三章 推荐算法面经/3.3 热门技术相关.md @@ -0,0 +1,54 @@ +# 3.3 热门技术相关 +## 3.3.1 Embedding + +- 介绍下item2vec模型 + +- embedding冷启动怎么做 + + +## 3.3.2 多任务学习 + +- 多任务学习模型的发展历史详细介绍 + +- 为什么要用多任务学习 + +- 介绍MMOE、PLE、ESMM,PLE相对MMOE的改进 + +- ESSM算法原理和解决的两个问题 + +- ESMM中如何解决CVR样本过于稀疏的问题,实际上解决了吗 + +- ESMM训练是否使用全量样本 + +- 介绍PLE模型 + +- PLE里面loss如何平衡 + +- PLE模型中,是否有尝试对不同的gate用不同的特征,是否有尝试不同业务用不同的特征组合 + +- gradnorm介绍 + +- 介绍关于多任务权重设置的相关模型或者策略 + +- 如何平衡不同任务的loss + +- 如果一个特征对任务a是正相关,对任务b是负相关,如何处理这个特征 + +- CTR和CVR任务放在ESMM(都是曝光空间)里和放在PLE(CTR点击空间,CVR曝光空间)里哪种效果好 + + +## 3.3.3 图神经网络 + +- GNN在推荐系统中有哪些用法 + +- GCN、GraphSAGE、GAT的区别与联系 + +- node2vec对比deepwalk的改进 + +- GraphSAGE对比GCN的优势 + +- transductive与inductive的区别 + +- 训练图模型的loss有哪些 + +- graph embedding的作用 \ No newline at end of file diff --git a/docs/第三章 推荐算法面经/3.4 业务场景相关.md b/docs/第三章 推荐算法面经/3.4 业务场景相关.md new file mode 100644 index 00000000..34513ce7 --- /dev/null +++ b/docs/第三章 推荐算法面经/3.4 业务场景相关.md @@ -0,0 +1,15 @@ +# 3.4 业务场景相关 + +- CVR相比CTR的区别、特点 + +- 搜索与推荐的区别,你认为哪个难度更大 + +- 广告与推荐的区别 + +- 什么时候用策略规则,什么时候用模型 + +- 线上如何生成最终的排序得分 + +- 正负样本介绍(规模和比例),如何构造负样本 + +- 低活用户特征稀疏如何解决 \ No newline at end of file