A collection of System Design Interview Questions - Brossura

Gulli, Antonio

 
9781535078757: A collection of System Design Interview Questions

Sinossi

A collection of System Design Interview Questions

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

Dal risvolto di copertina interno

Contents 5
Basic Knowledge 10
1. What are the important numbers to remember? 11
Solution 11
2. What are the fundamental steps for system design interviews? 14
Solution 14
3. What are some prerequisites for system interview questions? 17
Solution 17
4. What are the principles for Web distributed system design? 18
Solution 18
5. What is horizontal and vertical scaling? 20
Solution 20
6. What is sharding? 20
Solution 20
7. What are the key requirements while designing a key-value store? 21
Solution 21
8. What is consistent hashing? 21
Solution 21
9. What are the different consistency models? 23
Solution 23
10. What are the different models of workload distribution? 23
Solution 23
11. What is the CAP Theorem? 24
Solution 24
12. What is 2PC and what is PAXOS? 24
Solution 24
2PC 24
PAXOS 25
13. What is vector clock? 25
Solution 25
14. What is a Merkle tree? 26
Solution 26
15. Design Patterns: What is a pipeline? 27
Solution 27
16. Design Patterns: What is a load balancer? 27
Solution 27
17. Design Patterns: What is a farm of workers? 28
Solution 28
18. Design Patterns: What is a cache? 28
Solution 28
19. Design Patterns: What is a queue? 29
Solution 29
20. Design Patterns: What is Map and Reduce? An example in spark 30
Solution 30
Code 31
21. Design Pattern: What is a DAG Scheduler? 31
Solution 31
22. Distributed computation: find the top ten visited URLs 32
Solution 32
23. Distributed computation: failure 33
Solution 33
24. Distributed computation: generating a unique ID 33
Solution 33
25. Distributed computations: design an elevator system 34
Solution 34
26. Distributed computation: design a rate limiting system 34
Solution 34
Projects 36
27. Project: Design a photo hosting system 37
Solution 37
Requirements 37
High level design 37
Storage 38
Redundancy & Availability 39
28. Project: Design a distributed cache 40
Solution 40
Requirements 40
High level design 41
Coding 41
29. Project: Design a Tiny URL 42
Solution 42
Requirements 42
Estimating the size of the problem 42
High level design 43
Coding 43
30. Project: Design a Web search engine 44
Solution 44
Requirements 44
High level design 45
Estimating the size of the problem 46
Storage 46
Web index 47
34. Project: Design a YouTube repository 47
Solution 47
Estimating the size of the problem 47
35. Project: Design a Facebook style news feed 48
Solution 48
Requirements 48
High level design 48
Push Model 49
Pull Model 49
High level design 50
Estimating the size of the problem 50
Ranking 50
Scalability 50
36. Project: Design a Whatsup Messaging Service 50
Solution 50
Requirements 50
High level design 50
Estimating the size of the problem 51
37. Project: Design an in-memory cache similar to Memcached 51
Solution 51
Requirements 51
High level design 51
Estimating the size of the problem 51
38. Project: Design an Auto-complete system 51
Solution 51
Requirements 51
High level design 52
Estimating the size of the problem 52
39. Project: Design a Recommendation System 53
Solution 53
Requirements 53
High level design 53
Estimating the size of the problem 54

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.