Skip to content

πŸš€ Java-based repository to master DSA, Low-Level Design, and High-Level Design for coding interviews β€” with topic-wise and company-wise tracking, real-world design patterns, and system architecture blueprints.

Notifications You must be signed in to change notification settings

piyush7199/javarena-dsa-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Javarena: DSA, LLD & HLD in Java

Welcome to Javarena – a structured, Java-based repository crafted to help you master coding interviews and * system design* with real-world examples, design patterns, and company-specific problem tracking.


πŸ“Œ Table of Contents


🎯 Overview

This repository includes:

  • βœ… Data Structures & Algorithms (DSA) – Topic-wise and company-wise curated problems from LeetCode, * GeeksforGeeks*, etc.
  • 🏒 Company-Wise Tracking – Solved and categorized interview problems for top tech companies like Amazon, Adobe, Google, etc.
  • 🧩 Low-Level Design (LLD) – Core OOP design patterns with hands-on examples. (In Progress)
  • πŸ— High-Level Design (HLD) – Scalable architecture design with trade-offs and system diagrams. (In Progress)

πŸ“ Project Structure

src/
└── main/
└── java/
└── org/
└── example/
β”œβ”€β”€ coding/ # DSA by topic
β”œβ”€β”€ companies/ # DSA by company
β”œβ”€β”€ lld/ # Low-Level Design
└── hld/ # High-Level Design

πŸ“˜ DSA Topics

# Topic
1 Algorithms
2 Array
3 Linked List
4 Stack & Queue
5 Graph
6 Segment Tree

🏒 Company-Wise Problems

Solve company-tagged questions like real interviews and track your progress here:

Company File
Amazon Amazon.md
Adobe Adobe.md
Google Google.md
Microsoft Microsoft.md
More... πŸ“ View all

Each file contains:

  • 🎯 Problem link
  • πŸ“‚ Solution file path
  • ⚑️ Difficulty & topic tags

🧩 Low-Level Design (LLD)

πŸ“š Basics

# Pattern Name Description
1 LLD Basics OOPs & LLD basics

πŸ”¨ Creational Design Patterns

# Pattern Name Description
1 Singleton Ensure a class has only one instance and provide a global point of access to it.
2 Builder Separates complex object construction from its representation.
3 Factory Creates objects without exposing the instantiation logic.
4 Prototype Create new objects by copying existing ones, reducing the cost of creation.
5 Abstract Factory Provides an interface for creating families of related or dependent objects without specifying their concrete classes.

🧠 Behavioural Design Patterns

# Pattern Name Description
1 Chain Of Responsibility Passes a request along a chain of handlers until one of them handles it.
2 Observer Defines a one-to-many dependency so that when one object changes state, all its dependents are notified and updated automatically.
3 Strategy Enables selecting an algorithm's behavior at runtime by encapsulating it within a class and making it interchangeable.
4 Command Encapsulates a request as an object, thereby allowing users to parameterize clients, delay execution, or queue and log operations.
5 State Allows an object to change its behavior when its internal state changes, appearing as if it changed its class.

🧱 Structural Design Patterns

# Pattern Name Description
1 Decorator Dynamically adds new behavior to objects at runtime.

πŸ— High-Level Design (HLD)

Concepts

# System Status Description
1 URL Shortener πŸ›  In Progress Service decomposition planned
2 WhatsApp Clone πŸ›  In Progress Scalable chat architecture

πŸš€ Getting Started

git clone https://github.com/piyush7199/javarena-dsa-design.git
cd javarena-dsa-design

Open in your favorite IDE (IntelliJ or VSCode recommended for Java).


🏷️ Badges

Java LeetCode GFG Design