System Design Problems:
-
Amazon S3
- Support one file more than 1TB, how to design the system to meet the requirement?
-
TinyURL:
- We should provide a tinyurl service(two main interface: post long url to get the tinyurl, post tinyurl to get the tinyurl). The tinyurl should be as shorter as possible.
- More than 10 billion url in total
- More than 100 thousands long url to tinyurl requests per second
- More than 1 million tinyurl to long url requests per second
- We should provide a tinyurl service(two main interface: post long url to get the tinyurl, post tinyurl to get the tinyurl). The tinyurl should be as shorter as possible.
-
User Rank:
- We have 500 million users, each user have a score(range from 0 to 1 million), the score will change all the time (people view pages, upload text...will cause the score change).
- When view somebody's profile page, we should display his rank (sort by score). How to design this system?
-
User Graph Service:
- In weibo we have 500 million users, each user follow about 200 users on average, 2000 users at most
- given 2 user, say A and B, to return is A following B or not? is B following A or not?
- 80 billion request per day
- given 1 user, return the following list
- 4 billion request per day
- how to get user we both follow?
- how to get: people A following also follow B (我关注的人也关注他)?
- how to design this system, how many machine will be used?
-
Weibo's feed, how to design?
- In weibo we have 500 million users, each user follow about 200 users on average, 2000 users at most
- the feed service get the tweet list created by my following users sort by time / by weight?
- Hint:
- more than 100 million tweets are created per day
- more than 2 billion requests to the feed service per day
- more than 50 million user attention kaifu lee
- In China, a lot of tweet will be deleted....The reason you know!
- It's a realtime system, the interface should response in at most 40 ms
- Which type of machine you want to use? How many?
-
Weibo's counter service, how to design?
- we have more than 50 billion tweets, each tweets have repost, comment, read counter.
- more than 80 billion requests per day
- read counter: means how many times does this tweet be viewed?
- what about how many user have been viewed this tweet?
- Which type of machine you want to use? How many?