(基本只列出问题,可能会加一些我的理解)
1.首先自我介绍
2.项目做过频繁模式的挖掘,基于此:
给一张表,其中5个字段——时间、userID、orderID、itemID、price
用sql或者pandas找出近七天在所有订单中2项(2个item)频率最高的商品
3.问编程语言,答python,基于此:
(1)new和init的区别
(2)谈谈ContextManager
4.项目有做过推荐系统,基于此:
(1)谈谈协同过滤的基本思想;(item-based、user-based)
(2)中间用到了k-means,问距离度量的方式(标准化 欧式距离)
(3)现阶段基于item的常用的深度学习方式是embedding,假设我们有10w条item,每条item被embedding成128维向量,也就是10w128维的矩阵,现在要根据相似度计算出每个item最近的10个item,即10w10的矩阵,请问怎么做(我从分布式答的 类似于10亿数组求topk的思想)
(4)如果现在是100*128维的矩阵,请问如果你可以使用numpy,怎么快速的得到(3)中的答案 (这个我不会 只能笨笨的说就二阶循环遍历 菜哭)
5.项目做过不平衡集以及利用到了RF、Xgboost,基于此:
(1)你们的缺失值是怎么处理的(答了连续均值、分享均值、众数等)
(2)基于(1),有什么优化的方法吗(答了根据数据的分布,随机生成数据)
(3)那你说说RF和Xgb的区别
(4)RF中特征的部分抽取原理(答了提高泛化能力 降低过拟合风险 不知对否);基分类器CART如何分裂的,写出Gini的公式,问在处理分类、连续变量的时候具体怎么分(连续值二分);GBDT和XGB在回归问题迭代的是残差,那么在分类问题迭代过程中拟合的是什么?(答了交叉损失熵);
决策树的剪枝过程(预剪枝和后剪枝,后剪枝答了常用的最小损失方法,但是计算公式忘记了。。菜哭)
(5)我们样本一般是不平衡的,我们需要根据其出现的概率来抽样,现假设有一数组,类型为int,要从中取k个数,其中每个数被取的概率为该值与数组总和的比值,手撕代码实现(我是求出sum之后,在sum中random再确定要取的数)
6.你一般处理数据分类特征,如何处理 (答了one-hot),于是:
假设我现在这个维度为亿级,如useID,那你怎么处理(懵逼,没处理过,还是菜)
那对spark和MR的理解和使用如何,(大概讲了RDD和传统MR区别,本身对这一块不深入)
7.提问环节:问了深度学习和传统机器学习在百度的应用场景,答曰:
目前搜索、推荐、广告场景中数据庞大,因此传统的机器学习都在向深度学习靠拢,建议我深度学习一定要继续深入学习、实践。

总体,虽然被吊打,但是面试体验极佳,原因有二:
1.面试官小哥哥是个很清秀的学长,年龄估摸二十七八,整个过程中都是很友好的态度,交谈方式也很随和,并没有因为我的菜表露不屑。。。最后问了,是港科大毕业(我真无聊)
2面试问到的广度和细节也是整个秋招过程中最全面的,也让自己发现更多的不足,并且又对下一阶段的方向有了一定的认知。路才刚开始走,到处都是风景(天生盲目乐观的我)