中级农民
- 积分
- 280
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2015-4-9
- 最后登录
- 1970-1-1
|
(20)
短url,全程我在说,他也没问什么问题
(21)
Design twitter feed system
news feed就是问 - 比如这些是用户写的一条post,有用户基本信息,内容,图片,时间等等(当时还画了一下基本ui),如何拿到这些信息,如何存储. 还问了如果有新的feature,比如加了一个button,如何让没有update app的人仍然流畅使用他们现有的。scale倒是没细问。时间有点长了也记不起来剩下问了什么了。。
(22)
设计一个上传video, 可以看自己或者朋友的video的. 说实话, 整个过程, 不是特别清楚, 他到底想看什么...所以就是他想看哪块, 我就细讲一下那块. 我自己感觉沟通不是太畅, 最后, 时间到了. 系统设计这种东西, 本身就是开放型的讨论, 运气, 人缘很重要, 这也不是我能把握的
(23)
设计一个在线游戏的排名系统。游戏是回合制的,每一回合结束后都会获得一个分数。玩家可以在游戏中添加好友,每个玩家有任意个好友。在每一回合结束后,游戏界面需要弹出两个排序的表格:(1)玩家及其所有好友的最高分数排序top 10;(2)玩家的分数在所有用户(million级别)最高分数中的排名,以及该排名的前十位、后十位的玩家及分数
(24)
design ETF arbitrage system: 每一个ETF由许多不同的stock组成, ETF有两个价格, 一个是underlying asset price, 就是所有stock加起来的价格, 一个是市场目前报价, 也就是
class ETF{
double market_price;
double underlying_asset_price;
vector<pair<ticker, qty>> underlying_asset
}
有feed不断提供所有ETF的报价和每个stock的报价, 寻找arbitrage的机会(当underlying_asset_price 不等于market_price的时候就可以arbitrage )
这道题没见过还按照之前的正常想法设计不同的service group, 面试官不太满意, 后来才反应过来这个是要设计一个ultra low latency system, 而不是设计分布式系统
(25)
Design 一个 status post 系统,支持存储status和搜索包含某一个string或者某几个string的所有statuses
(26)
design是设计post和friend的搜索 支持多个关键词
(27)
Desgin an Advertisement (AD) statistic system. 每次用户登录的时候,系统都会show几个广告给他。广告总共有K种类别,可以认为K<=10。用户看到广告可能会点击,Click Through Ratio (CTR) = 用户点的广告数量/给用户看的广告数量。注意若同一个广告被用户点击了多次,只算一个click。设计一个系统,answer the following two types of queries:
1. Given a user, return his CTR for all types of ADs.
2. Given an AD type, return its average CTR ovre all the users.
Follow ups:
a. What if K becomes very large? for example, we consider each product as one type, thus K can be as large as 10000.
b. New query type: Given an AD type, return the top-X users with highest CTR. 1< X < 100
个人感觉这个题似乎更偏向数据库设计?我当时其实有点懵,花了很多时间解释如何设计relationalDB, 处理这些query,以及可能的优化,e.g., 这个application明显是write-heavy的,所以caching(delayed write)会很有用。答完没有什么感觉,但面试官表示满意"Looks your design works well". 但是面无表情所以不知道是不是套话 |
|