awesome-low-level-design (ashishps1/awesome-low-level-design)
Searching Database…
Что это?
Подборка бесплатных материалов для изучения низкоуровневого проектирования (Low Level Design, LLD) и объектно-ориентированного проектирования, а также для подготовки к собеседованиям по LLD.
Это учебник, набор задач или и то, и другое?
И то, и другое: теоретические материалы по ООП, паттернам проектирования, UML и конкурентности, а также список задач на machine-coding для собеседований с решениями, отсортированный по сложности.
С чего начинающему стоит начать?
Начните с руководства 'How to Learn LLD' и раздела '15 Must-Know OOP Concepts' в начале README, затем переходите к основам ООП и паттернам проектирования.
Для кого это?
Для разработчиков, которые готовятся к собеседованиям на machine-coding и LLD, а также для всех, кто хочет укрепить навыки объектно-ориентированного проектирования.
Какие темы по конкурентности здесь есть?
Есть основы конкурентности (потоки и процессы, состояния гонки), примитивы синхронизации (мьютексы, семафоры, CAS), шаблоны конкурентности (производитель-потребитель, пул потоков) и отдельные задачи для собеседований на многопоточность, например 'Print FooBar Alternately' и 'Design Thread-Safe Blocking Queue'.
Какие паттерны проектирования здесь включены?
Перечислены все классические паттерны Банды четырёх (GoF): порождающие — Одиночка, Фабричный метод, Абстрактная фабрика, Строитель, Прототип; структурные — Адаптер, Мост, Компоновщик, Декоратор, Фасад, Легковес, Заместитель; поведенческие — Итератор, Наблюдатель, Стратегия, Команда, Состояние, Шаблонный метод, Посетитель, Посредник, Хранитель, Цепочка обязанностей.
Какие примеры задач для собеседований здесь есть?
От более простых, например 'Design Parking Lot' и 'Design a Vending Machine', до сложных: 'Design Splitwise', 'Design an Online Shopping System like Amazon' и 'Design a Ride-Sharing Service like Uber'.
Рекомендуются ли дополнительные курсы или книги?
Да: есть ссылки на курсы AlgoMaster.io по собеседованиям по LLD и конкурентности, рассылку AlgoMaster и книги, например 'Head First Design Patterns', 'Clean Code' и 'Refactoring'.
What are similar projects?
system-design-primer, LeetCode-Questions-CompanyWise, LeetcodeTop, awesome-scalability, awesome-design-patterns, algorithm-base, interview, android-interview-questions
Which topics is it in?
uml, object-oriented-programming, interview-practice, coding-interview, design-patterns, system-design, interview-questions, concurrency, interview, awesome, learning-resources, java