Interview Preparation

Algorithms
OO Design


http://blog.csdn.net/longyulu/article/details/9159589
System Design


Here are some articles about system design related topics.
Hot Questions and Reference:
There are some good references for each question. The references here are slides and articles.

Design a CDN network
Reference:

Design a Google document system
Reference:
  • google-mobwrite
  • Differential Synchronization.
Design a random ID generation system
Reference:
  • Announcing Snowflake
  • snowflake.
Design a key-value database
Reference:
Design the Facebook news seed function
Reference:
  • What are best practices for building something like a News Feed?
  • What are the scaling issues to keep in mind while developing a social network feed?
  • Activity Feeds Architecture
Design the Facebook timeline function
Reference:
Design a function to return the top k requests during past time interval
Reference:
Design an online multiplayer card game
Reference:
  • How to Create an Asynchronous Multiplayer Game
  • How to Create an Asynchronous Multiplayer Game Part 2: Saving the Game State to Online Database
  • How to Create an Asynchronous Multiplayer Game Part 3: Loading Games from the Database
  • How to Create an Asynchronous Multiplayer Game Part 4: Matchmaking
  • Real Time Multiplayer in HTML5
Design a graph search function
Reference:
  • Building out the infrastructure for Graph Search
  • Indexing and ranking in Graph Search
  • The natural language interface of Graph Search and Erlang at Facebook.
Design a picture sharing system
Reference:
Design a search engine
Reference:
Design a recommendition system
Reference:
Design a tinyurl system
Reference:
Design a garbage collection system
Reference:
Design a scalable web crawling system
Reference:
Design the Facebook chat function
Reference:
Design a trending topic system
Reference:
Design a cache system
Reference:
POI
Reference:
Design distributed file system:
Reference:
More questions:
http://www.mitbbs.com/article_t/JobHunting/32741713.html