Skip to content

2535ShekharMourya/DSA-Java-Kotlin_InterviewPrep

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# 🚀 SDE1 Interview Preparation

A comprehensive repository dedicated to learning, practicing, and mastering **Data Structures & Algorithms (DSA)**, **Object-Oriented Programming (OOP)**,
 **SOLID Principles**, **Design Patterns**, and **Low-Level Design (LLD)** using **Java** and **Kotlin**.

The goal of this repository is to strengthen problem-solving skills, write clean and maintainable code, and prepare for Software Engineer and Android Developer interviews.

---

## 🎯 Learning Goals

- Master Data Structures & Algorithms
- Strengthen Object-Oriented Programming concepts
- Learn and apply SOLID Principles
- Implement commonly used Design Patterns
- Practice Low-Level Design through real-world problems
- Improve Java and Kotlin proficiency
- Build interview-ready coding skills

---

# 📂 Repository Structure

```text
📦 Java-Kotlin-Interview-Preparation

├── Java/
│   ├── Basics/
│   ├── /
│   ├── /
│   └── /

├── Kotlin/
│   ├── Basics/
│   ├── /
│   ├── /
│   ├── /
│   └── /

├── DSA/
│   ├── Arrays/
│   ├── Strings/
│   ├── HashMap/
│   ├── Stack/
│   ├── Queue/
│   ├── LinkedList/
│   ├── Trees/
│   ├── BinarySearchTree/
│   ├── Heap/
│   ├── Graph/
│   ├── /
│   ├── /
│   └── /

├── OOP/

├── SOLID/

├── DesignPatterns/
│   ├── Creational/
│   ├── Structural/
│   └── Behavioral/

├── LowLevelDesign/
│   ├── ParkingLot/
│   ├── ATM/
│   ├── LibraryManagement/
│   ├── BookMyShow/
│   ├── Splitwise/
│   ├── ElevatorSystem/
│   └── FoodDelivery/

└── README.md
```

---

# 🛣️ Learning Roadmap

## Data Structures & Algorithms

-[] Arrays
-[] Strings
-[] HashMap
-[] HashSet
-[] Linked List
-[] Stack
-[] Queue
- Deque
- Heap / Priority Queue
-[] Binary Search
- Trees
- Binary Search Trees
- Graphs
- Recursion
- Backtracking
- Greedy Algorithms
- Dynamic Programming
- Sliding Window
-[] Two Pointers
- Prefix Sum
- Bit Manipulation

---

## Object-Oriented Programming

-[] Classes & Objects
-[] Constructors
-[] Encapsulation
-[] Inheritance
-[] Polymorphism
-[] Abstraction
-[] Interfaces
-[] Abstract Classes
-[] Composition
- Aggregation
- Association

---

## SOLID Principles

-[] Single Responsibility Principle
- Open/Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle

---

## Design Patterns

### Creational

-[] Singleton
- Factory
- Builder
- Prototype

### Structural

- Adapter
- Decorator
- Facade
- Composite
- Proxy

### Behavioral

- Observer
- Strategy
- Command
- State
- Template Method
- Iterator

---

## Low-Level Design

Real-world object-oriented design problems including:

- Parking Lot
- ATM
- Library Management System
- Movie Ticket Booking
- Hotel Booking
- Cab Booking
- Food Delivery
- Splitwise
- Elevator System
- BookMyShow

Each implementation focuses on:

- Clean Architecture
- SOLID Principles
- Extensible Design
- Proper Class Relationships
- Maintainable Code

---

# ☕ Java Topics

- Core Java
- Collections Framework
- Exception Handling
- File Handling
- Generics
- Multithreading
- Executor Framework
- Streams API
- Functional Interfaces

---

# 🟣 Kotlin Topics

-[] Kotlin Basics
-[] Null Safety
- []Data Classes
- []Sealed Classes
-[] Object Declarations
-[] Companion Objects
- []Extension Functions
- Higher-Order Functions
-[] Scope Functions
- Delegation
-[] Coroutines
-[] Flow
-[] StateFlow
-[] SharedFlow

---

# 💻 Coding Style

- Clean and readable code
- Proper naming conventions
- Modular structure
- Reusable implementations
- Well-commented where necessary

---

# 🎯 Current Goals

- Develop strong problem-solving skills through consistent DSA practice
- Master Java & Kotlin fundamentals
- Implement popular Design Patterns
- Complete 15+ Low-Level Design projects
- Build a strong interview-ready GitHub portfolio
---

# 🤝 Contributions

This repository is primarily for learning and interview preparation. Suggestions, improvements, and discussions are always welcome.

---

# ⭐ If you find this repository helpful

Please consider giving it a ⭐ to support the project.

Happy Coding! 🚀

About

My journey of mastering DSA, OOP, SOLID Principles, Design Patterns, and LLD with Java & Kotlin.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors