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

脸家 onsite

全局:

2019(4-6月) 码农类General 硕士 全职@meta - 猎头 - Onsite  | | Other | 在职跳槽

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

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

x
刚面完脸家。只是我面过比较tough的面试 希望能帮到同胞。在职跳槽真累啊
1. system design - design friend list onlin
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
behavior
面我的都是脸家5年工作以上的大佬。真是很tough啊:)
大家加油!

评分

参与人数 8大米 +38 收起 理由
everending + 1 赞一个
popsheep + 1 赞一个
阿满 + 2 很有用的信息!
ttbx + 1 赞一个
匿名用户-ZKHYN + 30

查看全部评分


上一篇:新鲜LinkedIn昂赛面经
下一篇:4.12亚麻VO

本帖被以下淘专辑推荐:

  • · 脸书|主题: 17, 订阅: 1
推荐
helloteacha 2019-4-18 10:34:21 | 只看该作者
全局:
wangzhuyun32 发表于 2019-4-14 00:27
你的思路对头。 细节问的很细, 你的列表肯定存在缓存里,比如redis, application server 可以直接fetch ...

感谢你把系统面试drill into这么细的程度。给我进步思考的信息。

背景:我没有设计和开发分布式系统的经验,目前正在看design data-intesnive application那本书。同时在研究了很多论坛的总结帖子和油管的技术会议视频。我没有太多经验,只能根据看这些资料来讲我的理解了。

1. 缓存: 缓存的使用应该是比较直接,用户登录系统之后,web server通过缓存获取自己全部信息(包括自己所有朋友列表),如果缓存没有,就去route to dB获取用户信息。在得到用户自己的朋友列表之后,再去访问另一个用户状态的缓存服务器(假设存在这样一个用户状态缓存服务器)。假设用户自己和朋友的社交网络graph的地域分布特征为本区域和本国家内的用户的connect较密集,国家之间、洲际之间用户的connect较稀疏; 所以这个用户在线状态缓存,主要保存本地区用户状态。同时少量的其他国家、地区的用户在线状态,方便那些具有多国朋友的人查询自己的好友是否在线。

2. Schema的设计: 这里的schema,我理解的是用户是否在线状态的设计,这个应该是in-Mem的schema-less的JSON对象。如果只是为了online/offline这个应用,在设计schema的时候只需要用少数几个attribute,例如: userID,userName,country,Region etc 这样也可以减少内存需求空间。至于脸书这个社交网络平台的其他schema的设计和考虑就比较宽了,设计的内容太多。

3. web server与data access server的同步:不知道需要讨论那些问题。

4. 数据库与缓存(例如Redis)的同步: 如我上面理解的,用户在线状态信息应该全部通过in-mem获取,如果仅仅是确定在线好友状态,不用去访问关系型数据库(RMDB)。如果是其他信息的话,遵从先缓存更新,后RDMS更新的基本原则。当然需要考虑读/写数据的request load来采取具体策略。

5. 1B的用户数量: 还是需要考虑分片(sharding)。我前面假设脸书的用户具有很明显地域分布特征。在分片的时候,主要考虑把本国本区域的人的在线状态信息存储在附近的datacenter。

这五个方面我的理解肯定都比较肤浅。望楼主多多指教。也方便活跃版面热烈讨论技术的氛围。

评分

参与人数 2大米 +3 收起 理由
everending + 1 赞一个
kyzgz + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
helloteacha 2019-4-13 23:20:20 | 只看该作者
全局:
wangzhuyun32 发表于 2019-4-13 13:31
比如你login了facebook,你的backend system 是如何handle 你的好友的在线和不在线的状态的。

简单的思路:
assumption: 针对的use-case是用户的朋友数量在1~1000个的情况,通常fB也限制朋友的最大数。
1在用户初次登陆的时候:从server读取在线friend的列表,并更新自己的online friend列表。同时,用户的状态由offline变成online也作为statuschange的消息push到server。
2当用户在线使用fB的时候:朋友都有自己的状态,如果一旦发生status change;把status change作为notification push到server,然后转给自己。例如,我正在使用fB,我的页面上显示了目前在线的friend,如果其中某个朋友下线了,他的状态改变会通过notification push到server再转给我,或者直接notify我的client端。

没fB和系统架构的经验,求拍!
回复

使用道具 举报

🔗
irisasd 2019-4-13 09:42:38 | 只看该作者
全局:
楼主是Uday去的吗
回复

使用道具 举报

全局:
请问面的几
回复

使用道具 举报

🔗
 楼主| wangzhuyun32 2019-4-13 11:01:39 | 只看该作者
全局:
是recuriter 安排的,不太清楚。
回复

使用道具 举报

🔗
中心点 2019-4-13 11:02:42 | 只看该作者
全局:
题目真的好难啊。。。
回复

使用道具 举报

🔗
 楼主| wangzhuyun32 2019-4-13 12:02:24 | 只看该作者
全局:
中心点 发表于 2019-4-13 11:02
题目真的好难啊。。。

在血汗工厂也是组里的主力sdeII, 但今天被脸家的资深中国大哥问的答不上来了。脸家的SDE真是挺强的。
加油。
回复

使用道具 举报

🔗
rumblewarrior 2019-4-13 12:40:33 | 只看该作者
全局:
感谢感谢。:)  希望楼主跳槽顺利
回复

使用道具 举报

🔗
helloteacha 2019-4-13 12:41:09 | 只看该作者
全局:
你面试前都调查清楚他们的工作经历了呀?哈哈。感觉两个系统题目都是与他们在做或者做过的项目呀。同学:你几年工作经验了?
回复

使用道具 举报

🔗
helloteacha 2019-4-13 12:42:45 | 只看该作者
全局:
第一个设计题目可以再展开说一下么?online/offline feature都指的是哪些feature,举例来说?
回复

使用道具 举报

🔗
 楼主| wangzhuyun32 2019-4-13 13:31:12 | 只看该作者
全局:
zorrowei 发表于 2019-4-13 12:42
第一个设计题目可以再展开说一下么?online/offline feature都指的是哪些feature,举例来说?

比如你login了facebook,你的backend system 是如何handle 你的好友的在线和不在线的状态的。
回复

使用道具 举报

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

本版积分规则

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