Вы находитесь на странице: 1из 3

To Read:

- http://cs75.tv/2012/summer/#about,lectures [david malans course on web]


- https://github.com/checkcheckzz/system-design-interview [must]
- https://docs.google.com/document/d/1wCWwMhbCDm50w_VdhX_3OFuoLnZGP
l4oFk4O5eHpk2U/edit#heading=h.lx0hu3guw75d [mahadi]
- https://highlyscalable.wordpress.com/2012/02/01/mapreduce-patterns/ [sunny
bhai]
- http://infolab.stanford.edu/~backrub/google.html [sunny bhai]
- https://kafka.apache.org/documentation.html#design [kafka]
- https://cwiki.apache.org/confluence/display/KAFKA/A+Guide+To+The+Kafka+Pro
tocol [kafka]
- http://blog.gainlo.co/?
utm_source=Gainlo&utm_medium=header&utm_campaign=Gainlo [blog of gainlo]
- http://blog.gainlo.co/index.php/2015/12/22/how-to-crack-the-coding-interview-
with-practicing-only-30-questions/ [tips gainlo]
- http://blog.gainlo.co/index.php/category/system-design-interview-questions
[gainlo sys**]
- https://www.interviewbit.com/courses/system-design/topics/storage-scalability/
[interview bit***]
- https://docs.google.com/document/d/1z56pUDriAbOkchEsC7BgIpUPtbNS8wQy2
tirh-zfVbA/edit [mashuq vai]
- https://www.rabbitmq.com/
- http://down.ebook777.com/036/9781535078757.pdf [book]
- https://sites.google.com/site/steveyegge2/five-essential-phone-screen-questions

Already Read:
- http://www.tom-e-white.com/2007/11/consistent-hashing.html [consistant
hashing java]
- https://prismoskills.appspot.com/lessons/System_Design_and_Big_Data/Chapter
_07_-_Designing_Google_Maps.jsp [google map]
Concurency:
http://www.ktipsntricks.com/data/ebooks/java/concurrent%20programming%20in%20java
%20design%20principles%20and%20pattern.addison.wesley.pdf

Read Next:

- Malans HTTP basic lecture.

System Design Steps:


- Try to build a MVP: Minimum valued product
- Figure out the use cases:

- Constraints:
- Do Some Math: Use following as a benchmark.
- FB user: 1.3 Billion
- Twitter: 650 Million
- New Tweet: 500 Million/ day
- 1 Million 10^6, 1 Billion 10^9
- 1 MegaByte 10^6 Byte (2^20), 1 GigaByte
10^9 Byte (2^30)
1 TeraByte 10^12

- Figure out request/ month[calculating memory], request/ second.


- Figure out request/second
- Read, Write or other use-case request percentage
in your service?
- Figure out memory per month:
- What data we need to store?
- Budget for a time of 5yrs.
- How much data are going to be
written: Byte per write (size of URL + Hash)

- Abstract Design:
- Latency - Is this problem very latency sensitive (Or
in other words, Are requests with high latency and a failing request,
equally bad?). For example, search typeahead suggestions are useless if
they take more than a second.
- Consistency - Does this problem require tight
consistency? Or is it okay if things are eventually consistent?
- Availability - Does this problem require 100%
availability?

- Application Service Layer:


- Data Storage Layer:
- Discuss the necessary Algorithm:
- Bottleneck:
- Huge traffic?
- Huge data?
- Read heavy/ write heavy ?

- Scalability:
- http://cdn.cs75.net/2012/summer/lectures/9/lecture9.pdf [slide]
- https://www.hiredintech.com/classrooms/system-design/lesson/60
[video]

- Points:
- Response Time Reduce: Algorithm
- Scale architecture: Load Balancer
- Scale DB:
- Vertical Scaling aka Partitioning (Normalization) :
Status & Comment in diff table/db
- Horizontal Scaling aka Shrading: Distribute the
rows of tables.
Problems:
- web crawler
- Sequence generator

Вам также может понравиться