推荐系统算法工程师
1.推荐算法公工程师做什么?
1.1招聘网站能力要求:
- 数据分析、数据挖掘能力
- 大数据处理技术(
spark
、Hadoop
、) - 扎实的算法基础:机器学习与推荐算法相关的
LR
、SVM
、GBDT
、DNN
- 丰富的
Python
、C
开发经验 - 项目经验
1.2工作内容
- 数据分析与处理
- 用户画像
- 个性化推荐
CTR
预估- 销量预测
2.怎样准备
2.1基本技能准备
- 数据分析与数据挖掘:
数据缺失值与异常值处理,特征构建与选择(pandas
) - 大数据处理的相关技术:
Hadoop
或者spark
的基本命令、MapReduce
原理(如统计一句话中单词出现的次数) - 算法基础:
算法原理、建模、调试(sklearn
、Keras
)(LR
、GBDT
、SVM
、DNN
)
模型的可调参数有哪些?
gbdt
和xgboost
区别
SVM
原理 - 推荐算法:
协同过滤(基于物品和基于用户)的原理,ItemCF
、UserCF
、SVD
矩阵分解
原理与实现:给一个场景,给出解决方案
首先选择基于物品或者用户的协同过滤,用户行为如果比较少,需要细化特征,得到相似性
2.2项目准备
- 房价预测
- 智能客服
- 音乐推荐系统
- 文本分类
简历上面至少要有一个深度学习的项目,如图像或NLP
项目需要弄明白的东西: - 项目来源
- 数据量,7天10个TB
- 做了多长时间,项目排期
- 用的算法和模型的原理
- 不同模型的区别,如何选择
- 模型参数的调试
- 结果如何评估,
- 可以改进的地方
项目突出的内容
推荐实时性很重要,两个小时的,一个是实时预测,一个是凌晨全量迭代
简历中项目要突出自己的工作量,实验结果,比如提升了多少auc
2.3其他
- 编程基本功:
排序算法,字符串查找 - 机器学习相关问答题:
3.面试会问那些问题
3.1技术面
- 机器学习的步骤
- 分类器的选择
SVM
原理- 特征选择的方法:
filter
、warpper
、bedding
、GBDT
选择 - 树模型是否需要做归一化,为什么?
不需要 - 模型过拟合与欠拟合,如何解决?
使用正确率或者loss
曲线 - 偏差与方差
GBDT
与xgboost
的区别- 实际场景的解决方案
3.2HR面
- 自我介绍
语言表达能力、思维能力 - 对我们公司了解多少
- 薪水