Palanir系统设计面经
Facebook HR 内部邮件, System Design 面试内容揭秘!
【1】Concurrency (threads, deadlock, starvation, consistency, coherence)
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=138340&ctid=213
主要让我介绍一个我自己的项目 要把architecture画下来。我觉得重点是对项目非常了解同时是一个相对complicated的项目 最好用到的tech比较多。比如service怎么和前台接,endpoint怎么design,api为什么这么设计,Parallel process在不同情况下效率如何,用了什么caching layer,用什么concurrency framework以及为什么。如果重头来过有什么地方可以提高。另一个重点是表述简单清晰。
http://www.wtoutiao.com/p/ef9tYN.html
1. 设计一个牌类游戏 OOD
2. 设计一个服务监视系統。说你有一堆服务器和一堆服务,怎么监视服务状态。 系统设计。各种情况。各种要求。
3. 设计一个企业内部用的那种日志系统。大概的用途是A发现一个什么问题,log问题,相关的人会接到通知。半系统半OOD。中间面试我的人想给我点提醒。说中间某部分可以用某种design pattern来做。不过那个design pattern不是factory singleton observer strategy等几个常见的。所以提示了和没提示一样。
4. 设计一个和配置相关的系统。大概的功能是比如A要买你的软件,人家可能不需要把你所有的功能买走。他提出了一些他想实现的功能,然后你把你内部的一些模块啥的拼一拼然后给人家。这样一个系统怎么设计。
第一题基本还有个参照。按CC150思路走的。不过也被拍死了。cc150的结构大概适合于赌场游戏。他说如果像UNO那种。你这个设计就不行。直接就傻逼了。时间也到了。这个里面让做了个洗牌。然后讨论为什么我的洗法能够实现纯随机。就是可以等概率的洗出任意一种可能。
Facebook HR 内部邮件, System Design 面试内容揭秘!
首先,HR指出,Facebook 的 System Design 面试时长为45分钟,主要考察是是,求职者能否处理 Large Scale 的问题。在面试过程中,面试官会让你为Facebook设计一个feature。通过设计一个负责的系统,面试官主要是想考察你在 consistency, availability 和 partition tolerance 之间如何做 tradeoff,进而评估你的思考、实践能力。在这里,Facebook HR 着重要求面试者,一定要看以下的资料:
【1】Dropbox Large Scale 相关视频:http://t.cn/zQUvcsq
【2】Facebook 关于Scaling Memcache的文章:http://bit.ly/1zqgW4p
【1】Concurrency (threads, deadlock, starvation, consistency, coherence)
【2】Abstraction (understanding how OS, filesystem, and database works)
【3】Real-world performance (relative performance RAM, disk, your network, SSD)
【4】Availability and Reliability (durability, understanding how things can fail)
【5】Datastorage (RAMvs. durablestorage, compression, byte sizes)
http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=138340&ctid=213
主要让我介绍一个我自己的项目 要把architecture画下来。我觉得重点是对项目非常了解同时是一个相对complicated的项目 最好用到的tech比较多。比如service怎么和前台接,endpoint怎么design,api为什么这么设计,Parallel process在不同情况下效率如何,用了什么caching layer,用什么concurrency framework以及为什么。如果重头来过有什么地方可以提高。另一个重点是表述简单清晰。
http://www.wtoutiao.com/p/ef9tYN.html