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.
- π― Overview
- π Project Structure
- π DSA Topics
- π’ Company-Wise Problems
- π§© Low-Level Design (LLD)
- π High-Level Design (HLD)
- π Getting Started
- π·οΈ Badges
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)
src/
βββ main/
βββ java/
βββ org/
βββ example/
βββ coding/ # DSA by topic
βββ companies/ # DSA by company
βββ lld/ # Low-Level Design
βββ hld/ # High-Level Design
| # | Topic |
|---|---|
| 1 | Algorithms |
| 2 | Array |
| 3 | Linked List |
| 4 | Stack & Queue |
| 5 | Graph |
| 6 | Segment Tree |
Solve company-tagged questions like real interviews and track your progress here:
| Company | File |
|---|---|
| Amazon | Amazon.md |
| Adobe | Adobe.md |
| Google.md | |
| Microsoft | Microsoft.md |
| More... | π View all |
Each file contains:
- π― Problem link
- π Solution file path
- β‘οΈ Difficulty & topic tags
| # | Pattern Name | Description |
|---|---|---|
| 1 | LLD Basics | OOPs & LLD basics |
| # | 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. |
| # | 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. |
| # | Pattern Name | Description |
|---|---|---|
| 1 | Decorator | Dynamically adds new behavior to objects at runtime. |
| 2 | Flyweight | Reduces memory usage by sharing common parts of object state among objects. |
| 3 | Adapter | Converts one interface into another expected by the client. |
- Database Design and Databases
- Consistency Patterns
- Isolation Level
- Cache
- Networks & Communication
- Rate Limiting
| # | System | Status | Description |
|---|---|---|---|
| 1 | URL Shortener | π In Progress | Service decomposition planned |
| 2 | WhatsApp Clone | π In Progress | Scalable chat architecture |
git clone https://github.com/piyush7199/javarena-dsa-design.git
cd javarena-dsa-designOpen in your favorite IDE (IntelliJ or VSCode recommended for Java).