system design
-
workers
-
asynchronous queues
-
cache
-
database denormalization, replication
-
partitioning
-
transactions
-
Build a search autocomplete system
-
Design an Online Chat
- A chat is basically a
list
of timed messages (asstrings
) from a set ofUsers
- Any user can
add
to the list - Any user can
delete
from the list - Users with the right access can
modify
the list's metadata. - ...
- Any user can
- A chat is basically a
-
Design a Call Center
-
Design a Leaderboard (https://leetcode.ca/all/1244.html)
From EPI
- Design Problems
- Design a spell checker
- So I'm guessing: Given some string of whitespace-separated words, check if the words are correctly spelled?
- How do you obtain a collection of correctly spelled words?
- How do you do a comparison?
- Design a solution to the stemming problem
- What is the stemming problem?
- For example, consider the words "jumping," "jumps," and "jumped." The stemming process would reduce all of these words to their common root, "jump."
- What is the stemming problem?
- Plagiarism detector
- Pair users by attributes
- Design a system for detecting copyright infringement
- Design TeX
- Design a search engine
- Implement PageRank
- Design TeraSort and PetaSortx
- Implement distributed throttling
- Design a scalable priority system
- Create photomosaics
- Implement Mileage Run
- Implement Connexus
- Design an online advertising system
- Design a recommendation system
- Design an optimized way of distributing large files
- Design the World Wide Web
- Estimate the hardware cost of a photo sharing app
- Design a spell checker