跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 国内国外都要考的系统设计到底咋得分?
未分類
10 5 月 2020

国内国外都要考的系统设计到底咋得分?

国内国外都要考的系统设计到底咋得分?

資深大佬 : hakunamatata11 7

都说系统设计面试就是让你“造火箭”!

没错,许多面试者都有种“高屋建瓴”的感觉。往往看完网上搜的资料,脑子更不清楚了,只能哀嚎:见了鬼的,谁能告诉我到底怎么答才得分?!

今天小编就用一道 Facebook 真题来举例:

Design a photo reference counting system at FB scale

令狐冲老师解答

《系统设计》《九章算法班》主讲老师; FLAG 资深工程师

这个题是我们在《系统设计班》第一节课讲过的内容。

首先,你先不要曲解题目,你直接把题目翻译为:设计 distributed counting system,就已经走偏了。

从这道题的题面来看,面试官只是要对每个 photo 有一个 counter。这个 counter 干嘛的呢?你可以理解为某个 photo 被 like 的数目。这和《系统设计班》第一节 Design a Twitter 里说的,某个 post 被 like,是一样的。

在这道题中,面试官主要考核你以下几个层面的东西:

[第一层]

你首先要知道是用 denormailze 的方法,和 photo 一起存在一起,这样不用去数据库里数 like 。所以可能考察的就是,数据库的存放方法,服务器端用 memcached 或者任何 cache 去存储,访问都是找 cache,实在是太大的数据量,才会考虑分布式。

+1 分

[第二层]

你知道这玩意儿不能每次去数据库查,得cache。

+0.5 分

[第三层]

这玩意儿一直在更新,被写很多次,你知道必须一直保持这个数据在 cache 里,不能 invalidate。

+0.5 分

[第四层]

你知道怎么让数据库和 cache 保持一致性

+2 分

[第五层]

你知道 cache 里如果没有了,怎么避免数据库被冲垮( memcache lease get)

+2 分

[第六层]

一个小的优化,如果这个数据很 hot,可以在 server 内部开一个小 cache,只存及其 hot 的数据。

+2 分

以上,看完后你是一脸懵逼

还是茅塞顿开、思路清晰?

通常面试者会遇到的共性问题有

大佬有話說 (8)

  • 資深大佬 : gemini767

    场景方案看完了,满分是 100 分么?这设计是认真的么?

  • 資深大佬 : Senventise

    数学

  • 資深大佬 : Senventise

    @Senventise sorry,手滑了

  • 資深大佬 : PureWhiteWu

    想问一下,denormailze 是啥意思?[doge]

  • 資深大佬 : Zhuzhuchenyan

    @PureWhiteWu 这个首先看什么是 normailze,一般就是我们所说的数据库范式 1NF,2NF,3NF,BCNF,一步一步上升的过程其实就是 normalize 的过程
    这里可能(我的猜测)会指的是,如果非常追求 normalize 程度,photo 自己一张表,photo 的 like 存一张表,两者通过 photo 的表的主键进行连接,在查找的时候通过 join 找到对应的 photo 的 like 个数
    然后所谓的 denormalize 就把 photo 的 like 直接存在 photo 的表里去了,这样就可以减少数据库层面上的查询开销

  • 資深大佬 : PureWhiteWu

    @Zhuzhuchenyan normalize 我知道啥意思,denormalize 我也知道啥意思,denormailze 我就不认识了。

  • 資深大佬 : Zhuzhuchenyan

    @PureWhiteWu 哈哈,那可能是神奇的打错了

  • 資深大佬 : swulling

    第六层就满分了?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具