一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推多家公司面试
Airbnb 数据科学职位
in analytics and inference
游戏初创公司
招聘工程师、Designer和游戏策划
游戏初创公司DreamCraft招聘工程师、UIUX Designer和游戏策划
电商初创公司Good Days
招聘SDE/UI/TPM实习生
把贵司招聘信息放这里
查看: 898|回复: 11
收起左侧

[找工就业] 求助:写了个FB system design题求点评

[复制链接] |试试Instant~ |关注本帖
everest8848 发表于 2017-11-2 12:25:29 | 显示全部楼层 |阅读模式

2017(10-12月)-[]CS硕士+3-5年 - 网上海投|BayArea 码农类全职@Facebook那几个大家都投的大公司在职跳槽

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

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
无奈之举,说出来不怕大家笑话,我有好几年工作经验但是没学到什么有用的system design相关的东西。对system design真的不知道怎么下手,网上资料挺多,也看过一些但是还是摸不到头绪。面试官问题一出来,我也摸不清到底要问什么,每次都回答的乱七八糟的,不知道应该是什么套路。地里的link我也看了些,但是觉悟比较慢。面试全都挂在system design上了(少部分是coding没回答好)。下周只剩最后的onsite了,有两轮system design,也是完全没把握,只是不想挂的太难看。我讲个网上看到system design的例子,地里哪个好心人能给我指点一下吗?或者好心人能给举个其他的例子,你是怎么设计的思路吗?非常感谢啊。


举个例子,高频题,比如别人让设计 FB NEWS Feed应该怎么设计呢?(真的不太懂,轻拍,求指点)

我看网上提到的就大致为3部分,我自己还是讲不出东西来:. from: 1point3acres.com/bbs
. 1point 3acres 璁哄潧
Model :
database里有2个表:User和Feed。
User: userId, name, registration date
Feed: feedId, feedType, content, metadata (还有image, video)
Relational database: need to model two relations: user-feed relation and friend relation.
Friend relation: adjacency list (friend table store two userId)
然后就不知道应该讲什么了。
.鐣欏璁哄潧-涓浜-涓夊垎鍦
Ranking:
Ranking by its score (how to calculate: based on its created/update time, share/like/comments numbers)
这个是不是算说完了?
. from: 1point3acres.com/bbs
Feed publishing:
Two approaches: push and pull
优缺点讲一下? 另外有的情况是read heavy,有的write heavy,那到底怎么选择?.鏈枃鍘熷垱鑷1point3acres璁哄潧

还有CAP原理,CP和AP结合现实怎么取舍?

评分

1

查看全部评分

yixuefenfei12 发表于 2017-11-3 17:14:35 | 显示全部楼层
我已经无语了,你自己写一个出来不就行了。. from: 1point3acres.com/bbs
那些天天畅谈system design的人 到底有几个真正代码实现了。
说的再热闹,都没写过一行。

那些愿意听忽悠就录你的公司,你觉得会和现在不满意的工作有什么区别吗?

我这个人最大的爱好 就是看pricinple, staff之类的工程师5年内的代码,上班没事干就看。据我观察,这些人的代码堪称disater,实现细节都是shit.

楼主,如果你希望未来当这样一名pricinple 或者 staff的话,你就去听别人忽悠你吧, 你未来还会在不懂system design的情形下找下一份工作
回复 支持 1 反对 1

使用道具 举报

oldman09 发表于 2017-11-7 10:41:52 | 显示全部楼层
yixuefenfei12 发表于 2017-11-3 17:14
我已经无语了,你自己写一个出来不就行了。
那些天天 畅谈system design的人 到底有几个真正代码实现了。
...

你这就是刷proj不是刷题了,系统设计千千万万,哪个都说自己有几百万用户,都有那么多的traffic,上哪来那么多时间精力去实现?我身边跳槽成功的人也没听说过谁把news feed自己做了一遍,首先你traffic哪里找,那么多server上哪弄?
回复 支持 1 反对 0

使用道具 举报

阿矾 发表于 2017-11-2 12:52:26 | 显示全部楼层
你这自己不是列得很清楚了吗…. visit 1point3acres.com for more.

这种问题就是
1。有哪些难点;. visit 1point3acres.com for more.
2。有哪些方案,各自优缺点,trade-off. from: 1point3acres.com/bbs
3。情况1,xx方案比较好;情况2,xx方案比较好。

你的 User 之间互相关注应该怎么搞?表怎么设计?是微信那种默认的双向关注,还是微博那种单向关注?这两种表可能就不一样,可能就不是 adjacent list。表Update的时候json数据结构是什么样的?Update两处还是一处?
. more info on 1point3acres.com
朋友圈这种没有大V、上限1000个user的 Feed流,和微博/Instagram这种可以有几十万粉的?策略会不会不一样?

有一个 大V发了一个新的Feed,他有50万个粉丝,后台把是要把这个Feed 的 FeedId 推50万次到每个 粉丝的 Feed 流记录里(Push)?还是粉丝刷新的时候,才generate这个粉丝的 Feed 列表,这个时候才来取这个新的 Feed ID?(Pull)?还是两者结合?两者的优缺点是什么?
以及again,Push 和 Pull 的数据库的表长什么样?. more info on 1point3acres.com
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
鹿晗万一突然和关晓彤结婚了,你是Pull 还是 Push比较好?鹿晗1000万粉,鹿晗一发微博就每个粉丝的 Feed 流 Ranking by its score?还会粉丝每次刷新的时候Ranking by its score?粉丝一分钟刷三次咋办?

最后,这么大量的数据存储,你数据中心怎么设计?sharding要搞吗?partition要搞吗?

这玩意儿就是一团烂账,你说得有理有据,各个trade-off分析清楚,最后选哪个其实不重要……
回复 支持 反对

使用道具 举报

阿矾 发表于 2017-11-2 13:05:07 | 显示全部楼层
LZ我感觉你列出来的每个点都能大讲特讲……我先问你一个,类似微信朋友圈这种上线1000,默认双向关注的;和微博这种无上限,仅单向关注的;这俩的User和Feed的表的设计会不会一样?

鹿晗和关晓彤突然结婚了,鹿晗1000w粉,Ranking by its score,你是鹿晗发博的时候给1000w个粉丝每个push个新的FeedID,然后ranking;还是粉丝刷新的时候pull,然后ranking?粉丝一分钟刷三次呢?ranking三次?粉丝一激动刷了一晚上呢?你这个ranking放前端后端?

如果是朋友圈里,撑死就1000个人的?Push / Pull 用哪个?
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
以及你这么大的数据量,数据库Sharding做不做?Partition做不做?怎么做?

这玩意儿就是一团烂账,你trade-off 说清楚就行了,选哪个有理有据自圆其说。这东西本质上不是秀思考过程,更像秀知识面 & presentation 技巧……

我打的时候也不知道答案…

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| everest8848 发表于 2017-11-2 13:22:09 | 显示全部楼层
阿矾 发表于 2017-11-2 13:05
打了一大段被审【】核去了。LZ我感觉你列出来的每个点都能大讲特讲……我先问你一个,类似微信朋友圈这种上 ...

非常感谢啊!你写的问题我要去网上再搜一下。另外能给个思路你是怎么回答这些问题的吗?我已经上过九z  hang了,有个可是每次听到关键的地方就感觉一笔带过了,并没有重点讲 “重点”的地方。
回复 支持 反对

使用道具 举报

bombersun 发表于 2017-11-3 09:29:02 | 显示全部楼层
求怎么准备system design!给楼主发私信了。
回复 支持 反对

使用道具 举报

 楼主| everest8848 发表于 2017-11-3 09:46:25 | 显示全部楼层
bombersun 发表于 2017-11-3 09:29
求怎么准备system design!给楼主发私信了。

我也不会啊,所以上来问。

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

bombersun 发表于 2017-11-3 09:49:51 | 显示全部楼层
everest8848 发表于 2017-11-3 09:46
我也不会啊,所以上来问。

给你发私信了,方便发下吗?多谢多谢。感觉不合适的话也没事,楼主无视就好了。
回复 支持 反对

使用道具 举报

bombersun 发表于 2017-11-3 09:50:36 | 显示全部楼层
everest8848 发表于 2017-11-3 09:46
我也不会啊,所以上来问。

多谢,多谢!
回复 支持 反对

使用道具 举报

 楼主| everest8848 发表于 2017-11-3 10:35:48 | 显示全部楼层
bombersun 发表于 2017-11-3 09:49
给你发私信了,方便发下吗?多谢多谢。感觉不合适的话也没事,楼主无视就好了。

这是延时吗?不是已经发给你了嘛。。。
回复 支持 反对

使用道具 举报

bombersun 发表于 2017-11-3 10:48:10 | 显示全部楼层
everest8848 发表于 2017-11-3 10:35
这是延时吗?不是已经发给你了嘛。。。

收到之前发的。。。。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-1-24 08:05

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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