V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hakunamatata11
V2EX  ›  推广

纯刷题行不通了! Facebook 评级定薪全靠它

  •  
  •   hakunamatata11 · 2020-04-20 15:28:04 +08:00 · 874 次点击
    这是一个创建于 1531 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近刷知乎看到这么个热门问题:

    只靠刷题,能不能进国外大厂实习?

    下方有在美国从事 CS 的网友回答:

    也就是说:勤奋刷题有可能帮你面试出线!

    但是纯刷题在工作中行不行得通呢?

    显然不行!

    侥幸进去,可啥都不会,return offer 都拿不到

    同样,在该问题下还有人说了

    FLAG 喜欢考 System Design (系统设计)

    谷歌 intern 也面系统设计

    没错,原本 SDE2 常考的系统设计

    现在甚至 intern 和 new grad 面试也有

    下面我举例一道 Facebook 系统设计真题

    “ Design a photo reference counting system at FB scale ”

    令狐冲老师解答

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

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

    从这道题的题面来看,面试官只是要对每个 photo 有一个 counter 。这个 counter 干嘛的呢?你可以理解为某个 photo 被 like 的数目。这个和我们在《系统设计班》第一节 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 分

    自学事倍功半,我到底该咋办?

    系统设计这套东西太广了

    无数人经历了从自学到放弃的惨痛过程

    自学太痛苦,哭求高人指点

    推荐九章算法的

    系统设计班 :https://www.jiuzhang.com/course/28/?utm_source=sc-v2ex-fks

    互动课、随时学,戳上面链接即可免费报名试听

    同时还能获得 LintCode 题库访问权限

    边刷题边学

    从 [事倍功半] 到 [事半功倍]

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2286 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:47 · PVG 19:47 · LAX 04:47 · JFK 07:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.