├── LICENSE ├── README.md ├── hello.py └── system-design-guide.jpeg /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Eugene Kozlov 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 | [](https://t.me/careerunderhood) [](https://t.me/ea_kozlov) 2 | 3 | 4 | Данный репозиторий - лучшее из того что мне удалось найти на просторах сети в процессе изучения System Design и подготовки к одноименному интервью. 5 | 6 | Эти ресурсы были невероятно полезны для меня, поэтому я решил поделиться ими с сообществом, чтобы каждый мог взять этот репозиторий и начать свое путешествие в мир System Design. Контент разбит на 3 категории чтобы человек любого уровня подготовки мог найти именно то что нужно. 7 | 8 | На первый взгляд может показаться что это слишком короткий гайд, и многих популярных книг и курсов в нем нет, но на самом деле каждая ссылка, особенно на Github репозитории раскрывается в огромное количество информации, в том числе с теми самыми книгами и курсами :) 9 | 10 | ## Содержание 11 | 12 | - [System Design Fundamentals](#system-design-fundamentals) 13 | - [All you need to know about interview](#all-you-need-to-know-about-interview) 14 | * [What is System Design Interview?](#what-is-system-design-interview) 15 | * [Cheatsheets](#cheatsheets) 16 | * [Mock Interview](#mock-interview) 17 | * [Practice](#practice) 18 | - [Advanced System Design](#advanced-system-design) 19 | 20 | 21 | ## System Design Fundamentals 22 | В начале пути я использовал 3 репозитория, они здорово помогли мне освежить знания, систематизировать то что уже было и погрузиться в предметную область 23 | - :octocat: [Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. 24 | ](https://github.com/donnemartin/system-design-primer) 25 | - :octocat: [Learn how to design systems at scale and prepare for system design interviews](https://github.com/karanpratapsingh/system-design) 26 | - :octocat: [Learn System Design step by step](https://github.com/bregman-arie/system-design-notebook) 27 | - :link: [Latency Numbers Every Programmer Should Know](https://colin-scott.github.io/personal_website/research/interactive_latency.html) 28 | 29 | 30 | Статьи: 31 | - :link: [The complete guide to System Design in 2023](https://www.educative.io/blog/complete-guide-to-system-design) 32 | - :link: [Architecture Notes](https://architecturenotes.co/) 33 | 34 | Закрепить знания помогают красивые [cтатьи](https://blog.bytebytego.com/archive) и [видео](https://www.youtube.com/channel/UCZgt6AzoyjslHTC9dz0UoTw) и [Github](https://github.com/ByteByteGoHq/system-design-101) ByteByteGo. Также отмечу ресурс [System Design Newsletter](https://newsletter.systemdesign.one/) 35 | ## All you need to know about interview 36 | ### What is System Design Interview? 37 | Прохождение интервью - отдельная история, так как нужно не только знать теорию а уметь её применять, коммуницировать с собеседником и держать темп чтобы уложиться во временные рамки. 38 | Понять что требуется от человека на собесе и как максимизировать свои шансы помогут статьи: 39 | 40 | - :link: Александр Поломодов: Как подготовиться и пройти System Design Interview. [:tv: Видео](https://www.youtube.com/watch?v=jUbOm0B-eKQ) и [📖 статья](https://tellmeabout.tech/how-to-prepare-for-and-pass-the-system-design-interview-78b820589e8). 41 | - :link: [Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем](https://habr.com/ru/company/yandex/blog/564132/) 42 | - :link: [Проходим L6 интервью на System Design в FAANG](https://habr.com/ru/post/655663/) 43 | - :octocat: [Preparing for the Google System Design Interview](https://github.com/jguamie/system-design) 44 | ### Cheatsheets 45 | Шпаргалки здорово помогают во время интервью придерживать плана, защищают от забывчивости, поэтому рекомендую распечатать и держать перед собой на интервью, это важно! 46 | 1. :link: [My System Design Template (LeetCode)](https://leetcode.com/discuss/career/229177/My-System-Design-Template) 47 | 2. :octocat: [System Design Cheatsheet (Github gist)](https://gist.github.com/vasanthk/485d1c25737e8e72759f) 48 | 3. :octocat: [System Design Ultimate Guide (Image)](system-design-guide.jpeg) 49 | 4. :link: [Latency Numbers Every Programmer Should Know](https://colin-scott.github.io/personal_website/research/interactive_latency.html) 50 | ### Mock Interview 51 | - :tv: [Видео пробных собеседований от karpov.courses](https://www.youtube.com/watch?v=Ow88hoEnsq8&list=PLBRXq5LaddfzDBjg6soIwJJA2klXXs6ni) 52 | - :tv: [Интервью по System Design. Александр Поломодов (Тинькофф)](https://www.youtube.com/watch?v=Wh5Ya6UFG1k) 53 | - :link:[pramp.com - для самостоятельной практики](https://www.pramp.com/#/) 54 | ### Practice 55 | - [Architectural Katas](https://www.architecturalkatas.com/) 56 | - [Architectural Katas by Neal Ford](https://nealford.com/katas/) 57 | ## Advanced System Design 58 | System Design довольно обширная тема, изучать её можно бесконечно, поэтому если вы прочитали ресурсы выше и вам этого мало то ныряйте глубже :) 59 | - :octocat: **[The Patterns of Scalable, Reliable, and Performant Large-Scale Systems](https://github.com/binhnguyennus/awesome-scalability)** 60 | - :octocat: **[These are the best resources for System Design on the Internet](https://github.com/InterviewReady/system-design-resources)** 61 | - :octocat: **[A curated list to learn about distributed systems](https://github.com/theanalyst/awesome-distributed-systems)** 62 | - :octocat: **[This repository contains System Design resources which are useful while preparing for interviews and learning Distributed Systems](https://github.com/ashishps1/awesome-system-design-resources)** 63 | - :octocat: [Roadmap to becoming a system design and architecture master](https://github.com/mohsenshafiei/system-design-master-plan) 64 | - :octocat: [Advanced data structure and algorithm for system design](https://github.com/resumejob/system-design-algorithms) 65 | - :tv: [Distributed Systems lecture series by Martin Kleppmann](https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB) 66 | - :link: [jepsen.io - Distributed Systems Safety Research](https://jepsen.io/) 67 | -------------------------------------------------------------------------------- /hello.py: -------------------------------------------------------------------------------- 1 | print('Hello, world!') 2 | -------------------------------------------------------------------------------- /system-design-guide.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/beagreatengineer/learn-system-design/1eceea6733a0febae9fb5f2f117e1d0cf24620ed/system-design-guide.jpeg --------------------------------------------------------------------------------