├── README.md
├── blty.jpeg
├── huhu.png
├── output.pdf
├── test.txt
├── 拼多多.md
├── 携程.md
├── 百度.md
├── 知乎.md
├── 美团.md
├── 蚂蚁金服.md
└── 阿里.md
/README.md:
--------------------------------------------------------------------------------
1 | # 推荐算法岗面试题目搜集
2 |
3 | 笔者在网上查找一些过来人面试推荐算法岗位的经验时,深感翻阅多篇帖子看起来不太方便,于是萌生了整理一系列面试题目的想法。能够方便自己平时自己进行查找,也方便各位找实习和找工作的同学复习和备考笔试面试!
4 |
5 | 下面是我自己在整理的一些面经,信息均采集于互联网,有的是人工进行的采集,有的是通过爬虫技术进行的采集。每一篇面经都进行了人工审核,我进行标注了是实习,校招,或者是社招,整理的面试题分别放到了每个公司下,希望能够帮助到大家.
6 |
7 |
8 |
9 | | |
10 |
11 |
12 | |
13 |
14 |
15 | 公司的目录如下,点击链接即可进入:
16 | 1. [百度](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E7%99%BE%E5%BA%A6.md)
17 | 2. [蚂蚁金服](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E8%9A%82%E8%9A%81%E9%87%91%E6%9C%8D.md)
18 | 3. [拼多多](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E6%8B%BC%E5%A4%9A%E5%A4%9A.md)
19 | 4. [美团](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E7%BE%8E%E5%9B%A2.md)
20 | 5. [阿里](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E9%98%BF%E9%87%8C.md)
21 | 6. 今日头条
22 | 7. 网易云音乐
23 | 8. 爱奇艺
24 | 9. [携程](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E6%90%BA%E7%A8%8B.md)
25 | 10. 银联
26 | 11. 快手
27 | 12. [知乎](https://github.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/blob/main/%E7%9F%A5%E4%B9%8E.md)
28 |
29 |
--------------------------------------------------------------------------------
/blty.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/3b0ebc90a4736b0312566824d2b8042ed7b03802/blty.jpeg
--------------------------------------------------------------------------------
/huhu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/3b0ebc90a4736b0312566824d2b8042ed7b03802/huhu.png
--------------------------------------------------------------------------------
/output.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Geeksongs/Recommendation_algorithm_interview_questions-collection/3b0ebc90a4736b0312566824d2b8042ed7b03802/output.pdf
--------------------------------------------------------------------------------
/test.txt:
--------------------------------------------------------------------------------
1 | 123
2 | hh
3 |
--------------------------------------------------------------------------------
/拼多多.md:
--------------------------------------------------------------------------------
1 | # 拼多多
2 |
3 | 1.2020年社招
4 |
5 | 一面:超级难!问的特别广,特别深,特别奇思妙想,大多超脱简历,傲游整个算法领域,但是答不上来也没关系,尽力发挥就好,别有心理压力。
6 |
7 | 二面:常规技术面,具体问什么忘了。
8 |
9 | 三面:部门大leader面,难度也是非常大,但是以聊天为主,感觉面试官对职业规划,行业现状认知非常棒,面试过程中学到很多,会有一些奇思妙想的小问题,以我的水平随缘回答,好在面试官耐心提示,最后都答出来了。
10 |
11 | 后续:背调,定薪之类的。
12 |
13 | 心得分享:基础一定要扎实,面试过程中难免碰到答不上来的,不要紧张,面试不要求全答对的,遇到开放性问题畅所欲言,多多阐述自己的亮点。
--------------------------------------------------------------------------------
/携程.md:
--------------------------------------------------------------------------------
1 | # 携程
2 |
3 | ## 1.2019年秋招
4 |
5 | 一面是去的现场集体面试,人多到爆。所以一面就进去聊了15min
6 |
7 | 一面
8 |
9 | - 问实习做的事
10 | - 懂不懂深度学习,在推荐系统中的应用是否了解
11 |
12 | 二面
13 |
14 | - 问实习做的事,还给提了不少很中肯的意见。
15 | - xgboost和gbdt区别
16 | - 聊最近的推荐系统相关的模型。XDeepFM,DIN之类的
--------------------------------------------------------------------------------
/百度.md:
--------------------------------------------------------------------------------
1 | # 百度
2 |
3 | 1.社招
4 |
5 | 一面:聊简历上的技术,各种算法的细节,算法比较,算法应用,项目经理,一般自己熟悉的算法,自己做过的项目,还是比较容易通过的,然后会有两道算法题,leetcode中等难度吧。
6 |
7 | 二面:紧接着二十分钟后二面,主要是聊特征处理,训练前后中的一些问题,真正做过算法的都没问题,惯例结尾有算法题。
8 |
9 | 三面:一周左右,leader面,介绍了下部门情况,工作情况,聊了些算法认知,个人规划之类的问题,还有就是比如加班能不能接受,可能会有些简单的工作能不能接受之类的问题,总体以聊天为主,比较轻松愉快。
10 |
11 | 四面:hr面,基本就是价值观,职业规划,自我认知评价,期望薪资之类的
12 |
13 | 后续:然后是线上价值观评测,答题还挺累的,接着定级,定薪一系列,后续流程慢慢来就好。
14 |
15 |
--------------------------------------------------------------------------------
/知乎.md:
--------------------------------------------------------------------------------
1 | # 知乎
2 |
3 | ## 1.2020年招聘
4 |
5 | #### **面试流程**
6 |
7 | **1、自我介绍。**
8 |
9 | balabala......
10 |
11 | **2、介绍下协同过滤。**
12 |
13 | 我大致介绍了下协同过滤的分类,以及每种分类的主要思想以及优缺点。其中提到了LFM,面试官又追问LFM用来解决什么问题,我从降维和回归两个角度来进行解释的。
14 |
15 | **3、介绍下SVD与MF的区别。**
16 |
17 | 我从两点进行解释的,第一个角度是是否需要满足矩阵是全填充的,另一个角度从计算复杂度上进行介绍的。
18 |
19 | **4、介绍下SVD++的主要思想。**
20 |
21 | 我把SVD++的公式写下来并进行了解释,其主要是考虑了用户的隐式反馈信息。
22 |
23 | 后来面试官说问错了,其实是想问一下BiasSVD的思想,还好我写的公式包含BiasSVD的公式,主要是对于用户和项目更细粒度的建模,因为有的用户可能相对仁慈,所以评分普遍偏高;有的用户可能比较严厉,所以评分普遍偏低;同理对于项目也是如此,有的项目天上质量上乘,有的项目天上质量比较差。所以我们需要增加偏置项来捕获细粒度的影响。
24 |
25 | **5、问简历中发表的CCF-C类论文的细节。**
26 |
27 | 由于项目中涉及graph embedding的东西,所以介绍了下GE;
28 |
29 | 由于GE涉及到word2vec的东西,我又说了下word2vec。
30 |
31 | 因为word2vec分为了CBOW和Skip-gram模型,后来面试官又问两种模型的适用场景。
32 |
33 | 因为我只介绍了其中一个优化技术Negative Sampling,其中把概率公式写了出来,他又让我分享一下另一个优化技术Hierarchical Softmax,大致说了下,就是把多分类任务转化为了多个二分类任务,同时利用哈夫曼树来将词频高的词尽可能出现在里根节点近的地方。
34 |
35 | **6、了解最近MF与深度学习结合的东西吗。**
36 |
37 | 我说了下何向南的神经协同过滤。
38 |
39 | **7、了解常见的机器学习算法吗,说一下LR。**
40 |
41 | 了解。我从线性回归入手过渡到逻辑回归,他们是对于特征的线性组合,并且假设数据是线性可分的,同时可以通过超平面将之分离,另外介绍了可以通过最大似然来推导出LR。
42 |
43 | **8、介绍一下常用的排序算法。**
44 |
45 | O(n^2):冒泡,选择、插入
46 |
47 | O(nlogn):快速排序、堆排序、归并排序
48 |
49 | **9、说一下快速排序的过程以及最好和最坏情况**
50 |
51 | 大致说了一下分而治之的流程...
52 |
53 | **10、了解JVM么,介绍一下**
54 |
55 | 不是很了解
56 |
57 | **11、了解协程么,介绍一下**
58 |
59 | 不是很了解
60 |
61 | **12、说一下进程与线程的区别**
62 |
63 | 进程可以由多个线程组成,另外线程间可以进行资源的共享,进程间不行。cpu调用的是进程。
64 |
65 | **13、咱做个简单的算法题吧,给定一个有序数组,然后再给个关键字,写一个函数返回其下标。**
66 |
67 | 我想到了二分查找来解决这个问题。
68 |
69 | **14、常用的数据结构了解哪些,hashmap以及如何解决冲突,红黑树以及平衡搜索树等。**
70 |
71 | 因为用的java不是很多,所以不是很了解hashmap,对于冲突解决可以采用开放定址法等。平衡树了解一些,红黑树不是很了解了。
72 |
73 | *最终,凉。*
74 |
75 | 正如面试官所说,我们要求算法工程师不仅对于机器学习算法需要了如指掌,我们更需要将算法部署到真实环境中,因此不是简单的用python训练个模型就好了,还需要将之部署到服务器上,我们更加注重计算机基础相关的东西,同学你还得加强基础训练啊。确实如此。
76 |
77 |
78 |
79 | 北京的秋天,秋高气爽,云卷云舒。坐在学校教学楼旁边的长椅上,人来人往,自己安静的思考着未来的方向,好久没有这么静止了。正因为未来充满了不确定,我们才更加的对未来充满期待啊。
80 |
81 | 不说了,真的基础太差了,刷题去了レ(゚∀゚;)ヘ=3=3=3。
--------------------------------------------------------------------------------
/美团.md:
--------------------------------------------------------------------------------
1 | # 美团
2 |
3 | ## 1.校招 2020
4 |
5 | 背景介绍:
6 |
7 | 本人经历几乎没有什么实践项目,大部分是算法相关的工作,研究生阶段主要做的是推荐系统,涉及矩阵分解、图嵌入等,所以问题很多是和我方向相关的,大家可以有选择地参考一下~
8 |
9 | 一面:
10 |
11 | 几乎全部是项目相关的:
12 | 1、说说矩阵分解
13 | 2、围绕LLE来问:LLE全称是什么;简述LLE和PCA的特点和区别;LLE里面涉及的图拉普拉斯有没有了解(应该问的是LE:Laplace Eigenmaps)(一定要了解相近的一类对比算法)
14 | 3、整体代码的实现(一定要有条理地说清楚啊);deepwalk是手写还是工具包,有没有用numpy;图嵌入的训练集是什么,矩阵分解的训练集是什么
15 | 4、简述word2vec;说说滑动窗口大小以及负采样个数的参数设置以及设置的比例;怎么衡量学到的embedding的好坏
16 | 5、是否了解图卷积
17 | 6、说说推荐系统算法大概可以分为哪些种类:(1)基于内容;(2)基于协同过滤:基于内存(UB IB);基于模型(MF)
18 |
19 | 二面:
20 |
21 | 1、推导LR
22 | 2、图结构是怎么存储的?利用你所做的这个图结构实现深度/广度优先遍历,格式是:
23 | def find_path(graph, root, destination)
24 | 深度优先遍历用栈结构实现;广度优先遍历用队列结构实现
25 | 3、聊到了宏观会问到的业务上的问题:
26 | 如果图表只存储了学校这片区域的中心点,但是我们下单的宿舍地址不在中心点附近,怎么去确定这个具体位置?说:可以遍历走过该地址的外卖员的轨迹,大量相交的交点大概率是具体位置;
27 | 还问,如果要给外卖员分配订单,怎么去分配?从外卖员到下单地址的距离远近,下单的紧急程度,外卖员正在派送的位置与下一个要派送的位置是否顺路(不可以时东时西)
28 |
29 | 三面:
30 |
31 | 1、详细描述工作,画出来整体框架
32 | 2、工作最大创新点,在代码实现方面遇到的难点
33 | 3、看你对比的都是传统的或者是基于图的推荐算法,有没有尝试过对比一下或者有没有了解其他不同数据源的深度学习算法?
34 | 4、说到上面提到了attention机制,问了怎么看待attention机制,为什么有这么多工作去使用它
35 | 5、除了优化模型,还可以从什么方面去取得更好的性能:说了特征工程的处理,GBDT得到feature importance取topk贡献较大的特征作为模型输入
36 | 6、上面说到的特征处理,提到了会筛选出来特别的节日来单独处理,问:为什么要把平常日、周末、节假日分开处理
37 | 7、怎么去规划工作几年中的小目标
38 |
39 | 四面:
40 |
41 | 1、推导SVM公式,挨个步骤说清楚,我说错了y的取值范围,应该是{ 1,-1};没说清楚函数间隔和几何间隔的物理含义
42 | 2、问了满二叉树和完全二叉树,大概画了一下;问了红黑树,说没学过,没有接着问了
43 | 3、问了随机森林有了解吗?知道里面的有放回的采样方法吗?后面问了个数学问题:
44 | 给定n个小球,有放回地采样。当n趋向于无穷的时候,某小球不被取到的概率是多少?
45 |
46 | \--------------------
47 |
48 | 以上是全部流程啦,其中一面是电话面的,后三面是去到美团现场面的(时间会提前跟我们沟通好的),一个下午面完,感觉效率很高,全程感觉也比较好,面试官会根据我们经历,顺着我们的话去深挖,也会结合业务去一块讨论。收获满满的一次面试~ 希望可以对大家能有一点帮助,一起加油鸭!~~~
49 |
50 |
51 |
52 | ## 2.2019校招,秋招
53 |
54 | 去酒店面了一面,后来通知去二面。想着美团也不招人就给鸽了。
55 |
56 | 一面
57 |
58 | - 自我介绍
59 | - 问实习,召回怎么做的,精排模型是什么
60 | - 过拟合的原因和解决方法
61 | - batch norm的原理
62 | - dropout原理
63 | - 讲一下tensorflow的分布式版本
64 | - 手写代码,实现double power(double base, int exp)
65 |
66 | 二面,和三面的信息缺失。
--------------------------------------------------------------------------------
/蚂蚁金服.md:
--------------------------------------------------------------------------------
1 | # 蚂蚁金服
2 |
3 | 1.社招,2020年
4 |
5 | 一面:北京的面试官,问的也比较中规中矩,简历上的模型,项目,还有一些基础的模型,essm和widedeep是重点,建议多准备一下,xgboost和gbdt比较也很重要。
6 |
7 | 二面:上海的面试官,介绍可以啊那边的业务,问了些算法层面的宏观认知,结束的比较快。
8 |
9 | 三面:杭州的面试官,也是入职后的部门leader,以聊天为主,同样是聊算法,聊发展,聊认知,因为当时在公司会议室面试,比较紧张担心被发现,大家一定要注意找一个合适的环境面试。
10 |
11 | 四面:hr面,遇到过最专业的hr,考察表达能力,理解能力,学习能力,价值观,人生规划等等诸多方面,人很温柔,特别棒!
12 |
13 | 后续:定级,定薪,体检,背调,取名等。
--------------------------------------------------------------------------------
/阿里.md:
--------------------------------------------------------------------------------
1 | # 阿里
2 |
3 | 1. 阿里校招,秋招
4 |
5 | 阿里是第一个正经面试,然而一面凉。场景题答的太乱了。也怪自己。
6 |
7 | - 自我介绍
8 | - 介绍实习做的事情
9 | - C++ operator new和new operator的区别
10 | - C++ 引用和指针的区别
11 | - SGD和BGD区别,还知道哪些优化算法?动量的作用是什么?
12 | - xgboost的gbdt的区别
13 | - k-means的时间复杂度
14 | - 场景题:怎么给新上架的商品做冷启动
15 | - 场景题:设计一个10亿用户和10亿商品的推荐系统
16 | - 手写代码:用朴素贝叶斯实现垃圾文本分类
17 |
18 |
--------------------------------------------------------------------------------