Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

ashishps1/awesome-low-level-design

Learning Resources

A curated index of low-level design tutorials, design patterns, UML, concurrency notes, and interview problems for developers preparing for system design interviews.

27,724
6,662
Java
GPL-3.0
2 years old

Overview

This repository is a study index for Low Level Design (LLD) and Object Oriented Design (OOD), aimed at developers preparing for design interviews. It organizes material into OOP fundamentals, class relationships, design principles, design patterns, UML diagram types, concurrency concepts, and a catalog of interview-style design problems.

The README mostly links outward. Core concept pages and concurrency lessons live on AlgoMaster, while the interview problems are Markdown files inside this repository under problems/. There are problems grouped as easy, medium, and hard, from a parking lot and vending machine up to Splitwise, a chess game, and an Uber-like ride-sharing service.

How to use it

There is no build step or program to run; the useful workflow is to read the index and pick a track.

  1. Open the Start Here section and read How to Learn LLD to decide on a study order.
  2. Work through the fundamentals: the README links OOP concept pages such as classes and objects, interfaces, and polymorphism, plus class relationship topics like association and composition.
  3. Use the design patterns table to find creational, structural, and behavioral patterns, and the UML list for diagram types such as class and sequence diagrams.
  4. For interview practice, open a problem file directly from the repository, for example the parking lot problem, and attempt a design before reading the full solution.
  5. For concurrency, follow the Concurrency 101 sequence and the concurrency practice problems linked from the same README section.

A natural result of this flow is a set of written class designs and diagrams for common interview prompts, plus a working understanding of the pattern and concurrency vocabulary used in the explanations.

Constraints

  • Many concept and concurrency links point to AlgoMaster, so those lessons are read on that external site rather than in the repository.
  • The repository's problem files are design write-ups in Markdown, not runnable Java projects; despite the listed Java language, the README does not present a build or test command.
  • The README also links paid courses and a newsletter; the free concept index and in-repo problems remain usable without them.
  • The repository is licensed under GPL-3.0.

HotRepo's take

This is a well-populated learning index rather than a small link dump: the categories cover OOP, SOLID and adjacent principles, all three design-pattern families, five UML diagram types, and concurrency from primitives to synchronization patterns, and the interview-problem catalog is split by difficulty. Its HotRepo record is limited to one Java-language daily snapshot on 2026-11-03, when it ranked 17th in that list with 18 stars gained. That single record supports only a point-in-time observation; it does not establish a trend. The main consideration for a reader is the split between in-repo problem write-ups and off-site concept pages.

Written by AI from the project's README, updated . The project's own docs are the source of truth.