# 🚀 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! 🚀2535ShekharMourya/DSA-Java-Kotlin_InterviewPrep
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|