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

Repository files navigation

Javarena: Data Structures & Algorithms in Java

Welcome to Javarena – a comprehensive, Java-based repository crafted to help you master coding interviews with carefully curated DSA problems organized by topics and companies.


📌 Table of Contents


🎯 Overview

This repository includes:

  • Data Structures & Algorithms (DSA) – Comprehensive topic-wise and company-wise curated problems from **LeetCode **, GeeksforGeeks, and more
  • 🏢 Company-Wise Tracking – Solved and categorized interview problems for top tech companies like Amazon, Adobe, Google, Microsoft, and many others
  • 📊 Progress Tracking – Built-in topic suggester to help you practice consistently

📁 Project Structure

src/main/java/com/javarena/dsa/
├── algorithms/              # Algorithm implementations & problems
│   ├── binarySearch/       # Binary search problems
│   ├── bitManupulation/    # Bit manipulation problems
│   ├── dynamicProgramming/ # DP problems
│   ├── greedy/             # Greedy algorithm problems
│   ├── recursionAndBacktracking/ # Recursion & backtracking
│   ├── string/             # String algorithms (KMP, etc.)
│   ├── twoPointerAndSlidingWindow/ # Two pointer problems
│   └── miscellaneous/      # Other algorithm problems
│
├── datastructures/         # Data structure implementations
│   ├── arrays/            # Array problems
│   ├── binaryTree/        # Binary tree problems
│   ├── graph/             # Graph algorithms
│   ├── linkedList/        # Linked list problems
│   ├── stackAndQueue/     # Stack & queue problems
│   ├── string/            # String data structure problems
│   ├── trie/              # Trie implementations
│   ├── segmentTree/       # Segment tree
│   ├── fenwickTree/       # Fenwick tree (BIT)
│   └── hashMapAndSet/     # HashMap & HashSet problems
│
├── companies/             # Company-wise problem tracking (386 companies)
│   ├── Amazon.md
│   ├── Google.md
│   ├── Microsoft.md
│   └── ... (and many more)
│
└── utils/                 # Utility classes
    ├── Main.java          # Main entry point
    └── TopicSuggester.java # Daily topic suggestion tool

📘 DSA Topics

Algorithms

# Topic
1 Binary Search
2 Bit Manipulation
3 Dynamic Programming
4 Greedy Algorithms
5 Recursion & Backtracking
6 String Algorithms
7 Two Pointer
8 Sliding Window

Data Structures

# Topic
1 Arrays
2 Linked List
3 Stack & Queue
4 Binary Tree
5 Graph
6 Trie
7 Segment Tree
8 Fenwick 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
Meta Meta.md
Apple Apple.md
+380 More... 📁 View all companies

Each file contains:

  • 🎯 Problem link
  • 📂 Solution file path
  • ⚡️ Difficulty & topic tags

🚀 Getting Started

Clone the Repository

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

Build with Maven

mvn clean compile

Run Topic Suggester

mvn exec:java -Dexec.mainClass="com.javarena.dsa.utils.TopicSuggester"

IDE Setup

Open in your favorite IDE:

  • IntelliJ IDEA: File → Open → Select project directory
  • VS Code: Install Java Extension Pack, then open project directory
  • Eclipse: File → Import → Maven → Existing Maven Projects

🏷️ Badges

Java LeetCode GFG DSA Interview Prep