回复: 23
跳转到指定楼层
上一主题 下一主题
收起左侧

讨论下脸熟最近高频面经Newsfeed 和 Privacy Setting

 
全局:

2017(4-6月) 码农类General 本科 全职@meta - Other - Onsite  | | Other | 其他

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
最近在各大论坛都看到有人汇报这个面经,虽然有很多回复,但是都是简略概括,还是有很多地方没看懂, 这里我做一个回复的汇总,也希望引出各位大神指点讨论。红色的字体是我提出疑问的地方


题目要求
FB 的 privacy setting 设计,怎么设计api,code大概怎么写,使用哪些数据,数据怎么存,要支持下列功能
1. Fiend 可见, Friend of Friends 可见
2. 每个user可以自己设些group,把一些user加进每个Group,其他用户不知道他设的group是什么,怎么让group里面的人看到我发的状态?怎么存group?



以上是题目。思考一下,我觉得有可能需要讨论的有几个方面

1. friendship 怎么存。  这个一般来说都是存成  adjacency list
那么SQL 和NoSQL 各自的
SQL
FromUser  ToUser   Propertiy
                A                                        B          Mute
                B                                        A           


要知道 A 的朋友 select * from friend where from_user = A
要知道 A 的朋友的朋友   select * from friend where from_user in (select * from friend where from_user = A)   


NoSQL
row_key(user_id), col_key(friend_user_id),  比如
A :  B,  C
B :  A,  
C:   A
要知道A的朋友 listA = query(A)    O(1)
要知道A的朋友  for each key in listA   query(key)   O(n)



那么各自的trade off 是什么?  (这里暂时不讨论scale,单纯就存储方式来看)




怎么存group?  
sql: 用一个 group table
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
x">


3. 怎么scale,  还在整理,会在回复里面继续。,希望大家能提出。总之就是cache, sharding, replica

Friendship:  cache friend list, reduce read time.


Pull Model
a. 对于每个用户,都缓存他的最近的POST, N个用户,就
b. 对于我自己,cache我的timeline.(就是聚合好的结果)

Push Model





评分

参与人数 8大米 +60 收起 理由
wuyilun1028 + 2 很有用的信息!
ya_ch_yv + 5 给你点个赞!
zhxymacau2017 + 3 给你点个赞!
siranjoy119 + 5 很有用的信息!
AnthonyNeu + 5 感谢分享!

查看全部评分


上一篇:FB Onsite 附带代码
下一篇:狗家 Fall Intern 电面

本帖被以下淘专辑推荐:

全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

推荐
sudo_0 2017-7-10 04:35:21 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

推荐
 楼主| scredwood 2017-6-23 03:07:26 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
jiaguofang 2017-6-22 05:54:47 | 只看该作者
全局:
顶起来,坐等大侠出现
回复

使用道具 举报

🔗
 楼主| scredwood 2017-6-22 07:51:28 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

🔗
Lolipop 2017-6-22 08:48:40 | 只看该作者
全局:
想知道newsfeed如何实时更新~
回复

使用道具 举报

🔗
jiaguofang 2017-6-22 09:18:16 | 只看该作者
全局:
如果用push,这种情况怎么处理:先mute了一个人,过一段时间在unmute,这期间的newsfeed怎么办?
回复

使用道具 举报

🔗
 楼主| scredwood 2017-6-22 09:41:26 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

全局:
坐等大神来分析 谢谢LZ
回复

使用道具 举报

🔗
say543 2017-6-23 00:41:26 | 只看该作者
全局:
mute 的定义是什么? NoSQL: group_id as key, user_id as column key. 我觉得楼主的user_id 因该就是hash index 的value 这边不需要range query 还是columb index 指的是second index ?
回复

使用道具 举报

🔗
denis2016 2017-6-25 22:01:16 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表