• 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-... web
http://blog.csdn.net/longyulu...算法
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 Patternsdom
There are some good references for each question. The references here are slides and articles.ide
Design a CDN network
Reference:
• Globally Distributed Content Delivery.ui
Design a Google document system
Reference:
• google-mobwrite
• Differential Synchronization.google
Design a random ID generation system
Reference:
• Announcing Snowflake
• snowflake.url
Design a key-value database
Reference:
• Introduction to Redis..net
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 Architecturescala
Design the Facebook timeline function
Reference:
• Building Timeline
• Facebook Timeline.code
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 systemReference:• Introduction to Memcached.