├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Rishi 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Infrastructure Engineering Interview Questions 2 | =========== 3 | The goal of this repositry is to collect all the best material related to infrastructure engineering at one place which can be helpful to prepare for the system design interviews. 4 | 5 | ### Study Material 6 | --------------------- 7 | 8 | * CAP Theorem 9 | * [In plain English](http://ksat.me/a-plain-english-introduction-to-cap-theorem/) 10 | 11 | * Sharding 12 | * [Basic Design](https://www.interviewbit.com/problems/sharding-a-database/) 13 | * [Sharding of MySql](https://engineering.pinterest.com/blog/sharding-pinterest-how-we-scaled-our-mysql-fleet/) 14 | * [Scale DB through sharding](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html) 15 | 16 | * Cache system 17 | * [Basic Guide](https://www.interviewbit.com/problems/design-cache/) 18 | 19 | * Scalability 20 | * [Le Cloud Blog](http://www.lecloud.net/tagged/scalability) 21 | 22 | * Event driven concurrency 23 | * [nodejs](http://ganeshiyer.net/wp-content/uploads/2015/01/NodeJSv2.docx-1.pdf) 24 | 25 | =========== 26 | 27 | ### Practice Problems 28 | --------------------- 29 | 30 | **System Design Questions** 31 | 32 | * Build bit.ly like system 33 | 34 | * [interviewbit](https://www.interviewbit.com/problems/tiny-url/) 35 | 36 | * Build Twitter 37 | 38 | * [interviewbit](https://www.interviewbit.com/problems/design-twitter/) 39 | 40 | * Design Messenger 41 | 42 | * [interviewbit](https://www.interviewbit.com/problems/design-messenger/) 43 | * [Actual architecture](https://www.facebook.com/notes/facebook-engineering/chat-stability-and-scalability/51412338919/) 44 | 45 | * Find the duplicates in the large array 46 | * [Quora Answer](https://www.quora.com/How-do-I-check-if-there-are-duplicates-in-the-array-but-the-array-is-very-large-and-had-to-be-distributed-across-multiple-machines) 47 | * [External Merge Sort](https://www.youtube.com/watch?v=ATK74YSzwxg) 48 | --------------------------------------------------------------------------------