2021年7月底,"陌陌"推荐算法5道面试题分享!

共 1619字,需浏览 4分钟

 ·

2021-09-19 03:19

文 | 七月在线
编 | 小七


目录

FIGHTING


问题1:Graph SAGE的原理

问题2:deepwalk的原理

问题3:xdeepfm, deepfm区别

问题4:wide&deep,deepfm区别,分别哪个公司的

问题5:股票最大利润,并且输出买卖价格


问题1:Graph SAGE的原理


GraphSAGE是Graph SAmple and aggreGatE的缩写,其运行流程如上图所示,可以分为三个步骤:

  1. 对图中每个顶点邻居顶点进行采样

  2. 根据聚合函数聚合邻居顶点蕴含的信息

  3. 得到图中各顶点的向量表示供下游任务使用


问题2:deepwalk的原理


DeepWalk的思想类似word2vec,使用图中节点与节点的共现关系来学习节点的向量表示。那么关键的问题就是如何来描述节点与节点的共现关系,DeepWalk给出的方法是使用随机游走(RandomWalk)的方式在图中进行节点采样。


RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。


获取足够数量的节点访问序列后,使用skip-gram model进行向量学习。


问题3:xdeepfm, deepfm区别

上图为xDeepFM的总体结构,有三个分支:Linear(稀疏的01向量作为输入)、DNN(经过embedding的稠密向量作为输入)、CIN(压缩感知层)。


xDeepFM如果去掉CIN分支,就等同于wide & Deep。


xDeepFM将基于Field的vector-wise思想引入Cross,并且保留了Cross的优势,模型结构也很elegant,实验效果也提升明显。如果说DeepFM只是“Deep & FM”,那么xDeepFm就真正做到了”Deep”Factorization Machine。xDeepFM的时间复杂度会是其工业落地的一个主要性能瓶颈,需要重点优化。


问题4:wide&deep,deepfm区别,分别哪个公司的


Goggle在2016年提出的Wide & Deep模型。deepfm是华为和哈工大联合发表的模型。

deepfm采取Wide & Deep的框架,差异在于将Wide部分的LR替换为了FM,从而自动构造二阶特征叉乘,而非手工设计叉乘。



 问题5:股票最大利润,并且输出买卖价格

该题为leetcode121题,两种方法:


方法一:暴力解法

对数组进行遍历,找到后一个数与前一个数的最大差值,返回。注意遍历j时要从i+1进行遍历。

代码如下:


在 leetcode 上运行上面代码会出现超出时间限制的问题。

时间复杂度:O(n^2)

空间复杂度:O(1)


方法二:

只进行一次遍历,在遍历过程中更新两个值,股票最小值和差值最大值,更新到最后即可。

时间复杂度:O(n)

空间复杂度:O(1)




— 今日学习推荐 —


Kaggle成立于2010年,是一个进行数据挖掘和预测竞赛的在线平台。对于有一定基础或者参加过一场CV竞赛,现在想全面学习CV相关竞赛的各种方法、提分技巧的人,给大家推荐一门七月的【CV竞赛实战】特训课程,限时1分秒杀!

课程链接:https://www.julyedu.com/course/getDetail/354

课程老师以实际参与的比赛经历为背景,理论和实际相结合,带你全面掌握CV竞赛技能。

本课程适用于有一定竞赛基础、对计算机视觉感兴趣,想提升比赛技能的同学。

阅读原文” 1分秒杀【CV实战竞赛课程

浏览 83
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报