由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个Linkedin设计题:判断任意两个用户间的距离,怎样通过好友连接
相关主题
面G 遇到一个设计题目,没有任何想法当时,求大牛给分析分析问个精华区的面试题
一道linkedin的graph题检查graph里面是否有circle,是用BFS,还是DFS?
问个题目google onsite经历
报Google Offer并请教面试题请教一下超大图的存储问题
在网上看到一道amazon的面试题 不知道怎么搞 求大牛指点Amazon电面经
Level order traversal只让用一个Queue怎么做?graph如何找最短路径?
当数据很大时,如果做BFS、DFS?f/l/g/t/weibo的social graph是怎么存储的?
[合集] Google Phone Interview问道G题(3)
相关话题的讨论汇总
话题: 好友话题: linkedin话题: 用户话题: connection话题: 怎样
进入JobHunting版参与讨论
1 (共1页)
x*****n
发帖数: 195
1
板上看到的,看下面的讨论没有很好的解答。。。求大牛指点。
对于linkedin上任意两个用户,精确判断他们上1st connection(直接互为好友),还
是2nd,3rd(隔来一个朋友,两个朋友),等等。如果是直接好友,显示他们的共同好
友;否则显示他们怎样通过各自的朋友连起来(通过朋友1再通过朋友2)。请设计数据
结构和算法。怎样把数据存储map到多台机器上。
我自己使用linkedin的经验一般也就显示到最多3rd,觉得还是kv store的思路,可以
在机器上按user id范围分布存储该用户的好友关系信息到不同机器上,运行时直接计
算两个user有没有直连,或者有共同好友,或者共同好友有共同好友。不知道怎样是不
是推荐的做法?
看到有个概念叫graph db,存储关系信息的,不知道这里是不是用得上。
e***i
发帖数: 231
2
results from google search give some hints "linkedin social graph
architecture"
Might be helpful
https://engineering.linkedin.com/real-time-distributed-graph/using-set-cover
-algorithm-optimize-query-latency-large-scale-distributed
http://blog.karmona.com/index.php/2008/12/30/the-social-graph-c
http://hurvitz.org/blog/2008/06/linkedin-architecture

【在 x*****n 的大作中提到】
: 板上看到的,看下面的讨论没有很好的解答。。。求大牛指点。
: 对于linkedin上任意两个用户,精确判断他们上1st connection(直接互为好友),还
: 是2nd,3rd(隔来一个朋友,两个朋友),等等。如果是直接好友,显示他们的共同好
: 友;否则显示他们怎样通过各自的朋友连起来(通过朋友1再通过朋友2)。请设计数据
: 结构和算法。怎样把数据存储map到多台机器上。
: 我自己使用linkedin的经验一般也就显示到最多3rd,觉得还是kv store的思路,可以
: 在机器上按user id范围分布存储该用户的好友关系信息到不同机器上,运行时直接计
: 算两个user有没有直连,或者有共同好友,或者共同好友有共同好友。不知道怎样是不
: 是推荐的做法?
: 看到有个概念叫graph db,存储关系信息的,不知道这里是不是用得上。

l*3
发帖数: 2279
3
我是小白,不懂什么大规模数据。只想弱弱的问一句,难道现在所谓的码农连图的广度
优先搜索都不知道了吗?。。。。
n******n
发帖数: 12088
4
说的就是大数据。

【在 l*3 的大作中提到】
: 我是小白,不懂什么大规模数据。只想弱弱的问一句,难道现在所谓的码农连图的广度
: 优先搜索都不知道了吗?。。。。

w*****t
发帖数: 190
5
这个至少不是普通的BFS吧。题目讲了是map到多台机器的

【在 l*3 的大作中提到】
: 我是小白,不懂什么大规模数据。只想弱弱的问一句,难道现在所谓的码农连图的广度
: 优先搜索都不知道了吗?。。。。

g*********e
发帖数: 14401
6
linkedin's current graph db can only find connections when the intermediate
hop is <= 3
x*****n
发帖数: 195
7
这样的话每个user的record存他的所有好友列表就行了。然后实时计算任意uer间的关
系,一般人有个2、3千connection也到头了吧,时间复杂度感觉还能忍。真不行就把
2nd的离线计算好。离线计算所有3rd connection存储上应该太浪费了。
哪位有实际开发经验的大牛讲讲?

intermediate

【在 g*********e 的大作中提到】
: linkedin's current graph db can only find connections when the intermediate
: hop is <= 3

c*****n
发帖数: 35
8
neo4j

板上看到的,看下面的讨论没有很好的解答。。。求大牛指点。对于linkedin上任意两
个用户,精确判断他们上1st connection(直接互为好友),还是2nd,3rd(隔来....
....

【在 x*****n 的大作中提到】
: 板上看到的,看下面的讨论没有很好的解答。。。求大牛指点。
: 对于linkedin上任意两个用户,精确判断他们上1st connection(直接互为好友),还
: 是2nd,3rd(隔来一个朋友,两个朋友),等等。如果是直接好友,显示他们的共同好
: 友;否则显示他们怎样通过各自的朋友连起来(通过朋友1再通过朋友2)。请设计数据
: 结构和算法。怎样把数据存储map到多台机器上。
: 我自己使用linkedin的经验一般也就显示到最多3rd,觉得还是kv store的思路,可以
: 在机器上按user id范围分布存储该用户的好友关系信息到不同机器上,运行时直接计
: 算两个user有没有直连,或者有共同好友,或者共同好友有共同好友。不知道怎样是不
: 是推荐的做法?
: 看到有个概念叫graph db,存储关系信息的,不知道这里是不是用得上。

k***5
发帖数: 583
9
这想的太简单了,如果把约束条件变成系统有50K用户,要对50K用户进行map,一个图
的广度优先搜索做50K次,会跑死系统的。

【在 l*3 的大作中提到】
: 我是小白,不懂什么大规模数据。只想弱弱的问一句,难道现在所谓的码农连图的广度
: 优先搜索都不知道了吗?。。。。

b*****p
发帖数: 9649
x****u
发帖数: 12955
11

4th level connection is already too remote to be any benefit anyway. By 7th
level, you could be connected to virtually everybody on the internet.

【在 x*****n 的大作中提到】
: 这样的话每个user的record存他的所有好友列表就行了。然后实时计算任意uer间的关
: 系,一般人有个2、3千connection也到头了吧,时间复杂度感觉还能忍。真不行就把
: 2nd的离线计算好。离线计算所有3rd connection存储上应该太浪费了。
: 哪位有实际开发经验的大牛讲讲?
:
: intermediate

k******a
发帖数: 44
12
直接用BFS会计算量太大,
如果每个用户是100个朋友,那么从A到B,如果B是A得二级朋友,那么要扫描100*100各
节点。
如果从A扫,再从B扫,再查看交集,那么就是100+100个节点。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问道G题(3)在网上看到一道amazon的面试题 不知道怎么搞 求大牛指点
F家一题Level order traversal只让用一个Queue怎么做?
一般社交网站的"friend"是怎么存储的呢?当数据很大时,如果做BFS、DFS?
请教word ladder解法,大test超时[合集] Google Phone Interview
面G 遇到一个设计题目,没有任何想法当时,求大牛给分析分析问个精华区的面试题
一道linkedin的graph题检查graph里面是否有circle,是用BFS,还是DFS?
问个题目google onsite经历
报Google Offer并请教面试题请教一下超大图的存储问题
相关话题的讨论汇总
话题: 好友话题: linkedin话题: 用户话题: connection话题: 怎样