The purpose of this repo is to touch on the most usual system design topics for software engineering interviews (mainly webdev).
It is not intended to be any kind of in-depth guide for any of the topics mentioned, it is simply a refresher or a TL;DR version.
- Computer Architecture
- Production App Architecture
- Design Requirements
- Networking
- Application Layer Protocols
- API Design
- Caching and CDNs
- Proxy Servers
- Load Balancers
- Databases
# Clone this repo - https://github.com/laaraujo/system-design
git clone git@github.com:laaraujo/system-design.git
# Install pre-commit - https://pre-commit.com/
pip install pre-commit
# Install markdownlint-cli - https://github.com/igorshubovych/markdownlint-cli
npm install -g markdownlint-cli
# Setup pre-commit hooks
pre-commit install
- System Design Concepts by FreeCodeCamp