Skip to content

Software Engineering Reference

A comprehensive reference guide for software engineering concepts, patterns, and practices. This repository covers everything from object-oriented principles to distributed systems design, making it ideal for interview preparation, skill development, and quick reference.

216 markdown files with 1,065 SVG diagrams — every concept is explained with visual diagrams, code examples, and interview discussion points.

How to Use This Reference

  1. Interview Preparation — Start with Data Structures & Algorithms for coding interviews, then move to Distributed Systems for system design interviews
  2. Skill Development — Work through sections sequentially, as they build upon each other
  3. Quick Reference — Use the table of contents to jump directly to specific topics
  4. Deep Dive — Each markdown file contains visual SVG diagrams, code examples, and interview discussion points

Structure

Software-Engineering-Reference/
├── 01. Object Oriented/
│   └── 01. Patterns and Principles/        # 21 files
├── 02. Languages/
│   └── 01. Java/                           # 8 files
├── 03. Backend Frameworks/
│   └── 01. Spring/                         # 7 files
├── 04. Data Structures and Algorithms/
│   ├── 01. Data Structures/                # 7 files
│   ├── 02. Algorithms/
│   │   ├── Search/                         # 4 files
│   │   └── Sort/                           # 5 files
│   ├── 03. Complexity Analysis/            # 5 files
│   └── 04. Interview/
│       ├── General/                        # 1 file
│       └── Patterns/                       # 16 files
├── 05. Distributed Systems/
│   ├── 01. Core Concepts/                  # 11 files
│   ├── 02. Architectures/                  # 10 files
│   ├── 03. API & Communication/            # 4 files
│   ├── 04. Data & Storage/                 # 10 files
│   ├── 05. Cloud/
│   │   └── AWS/                            # 21 files
│   ├── 06. Infrastructure & Operations/    # 4 files
│   ├── 07. Observability & Reliability/    # 7 files
│   ├── 08. Security/                       # 7 files
│   ├── 09. Common Issues & Solutions/      # 8 files
│   ├── 10. Key Technologies/               # 11 files
│   ├── 11. Networking/                     # 4 files
│   ├── 12. Advanced Topics/                # 8 files
│   └── 13. Design Interview/
│       ├── 01. Basics/                     # 2 files
│       └── 02. Design References/          # 23 files
├── 06. Engineering Practices/              # 7 files
├── 07. Testing/                            # 4 files
└── images/                                 # 1,065 SVG diagrams