[Interview] Preparation Directions

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值