Algorithms
• https://www.hackerrank.com/do...
• https://oj.leetcode.com/probl...
• http://lintcode.com/
• http://www.ninechapter.com/so...
• http://www.geeksforgeeks.org/...
• TopCoder Algorithm Tutorial: http://help.topcoder.com/data... 其中几何算法的教程要仔细看
• CC150: Cracking the Code Interview: http://www.valleytalk.org/wp-...
OO Design
http://blog.csdn.net/longyulu...
System Design
Here are some articles about system design related topics.
• How to Rock a Systems Design Interview
• System Interview
• Scalability for Dummies
• Scalable Web Architecture and Distributed Systems
• Numbers Everyone Should Know
• Scalable System Design Patterns
• Introduction to Architecting Systems for Scale
• Transactions Across Datacenters
• A Plain English Introduction to CAP Theorem
• The CAP FAQ
• Paxos Made Simple
• Consistent Hashing
• NOSQL Patterns
• Scalability, Availability & Stability Patterns
Hot Questions and Reference:
There are some good references for each question. The references here are slides and articles.
Design a CDN network
Reference:
• Globally Distributed Content Delivery.
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:
• Introduction to Redis.
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:
• Building Timeline
• Facebook Timeline.
Design a function to return the top k requests during past time interval
Reference:
• Efficient Computation of Frequent and Top-k Elements in Data Streams
• An Optimal Strategy for Monitoring Top-k Queries in Streaming Windows
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:
• Flickr Architecture
• Instagram Architecture.
Design a search engine
Reference:
• How would you implement Google Search?
• Implementing Search Engines
Design a recommendition system
Reference:
• Hulu’s Recommendation System
• Recommender Systems
Design a tinyurl system
Reference:
• System Design for Big Data-tinyurl
• URL Shortener API.
Design a garbage collection system
Reference:
• Baby's First Garbage Collector.
Design a scalable web crawling system
Reference:
• Design and Implementation of a High-Performance Distributed Web Crawler
Design the Facebook chat function
Reference:
• Erlang at Facebook
• Facebook Chat
Design a trending topic system
Reference:
• Implementing Real-Time Trending Topics With a Distributed Rolling Count Algorithm in Storm
• Early detection of Twitter trends explained
Design a cache system
Reference:
• Introduction to Memcached.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。