Basic Phases
Basic Phases
Topics:
o Basic programming concepts: Variables, data types, loops, conditionals,
functions.
o Java-specific features: JVM, JDK, JRE, Garbage Collection.
o OOP concepts: Classes, objects, inheritance, polymorphism, abstraction,
encapsulation.
o Collections Framework: List, Set, Map, Queue.
o Exception Handling.
o I/O Streams.
o Introduction to Multithreading.
Resources:
o Java Roadmap on roadmap.sh
o Oracle Java Tutorials: Java Programming
o Book: Effective Java by Joshua Bloch.
Topics:
o Deep dive into OOP principles with practical examples.
o SOLID Principles:
S: Single Responsibility Principle.
O: Open/Closed Principle.
L: Liskov Substitution Principle.
I: Interface Segregation Principle.
D: Dependency Inversion Principle.
Hands-On Tasks:
o Build small OOP-based applications using SOLID principles.
Resources:
o SOLID Principles on Roadmap.sh
o Blog: SOLID Principles in Java
o Video: SOLID Principles Explained by Uncle Bob Martin (YouTube).
Topics:
o Introduction to Spring Framework.
o Spring Boot Basics:
Dependency Injection.
Spring Boot Starter Packs.
Application Properties and Profiles.
Building REST APIs.
o Spring Data (JPA, JDBC).
o Spring Security Basics (JWT Authentication).
Resources:
o Spring Roadmap
o Spring Boot Documentation: Spring Boot Reference
o Video Series: Spring Boot Crash Course by Amigoscode.
Topics:
o Relational Databases (SQL):
Database Design.
SQL Queries: SELECT, INSERT, UPDATE, DELETE.
Joins, Indexes, Transactions.
MySQL or PostgreSQL.
o NoSQL Databases:
Basics of NoSQL.
MongoDB or Redis.
Use cases for NoSQL vs SQL.
Resources:
o Database Roadmap
o FreeCodeCamp: Learn SQL
o MongoDB University: MongoDB Basics
Topics:
o Creational Patterns: Singleton, Factory, Builder.
o Structural Patterns: Adapter, Decorator, Proxy.
o Behavioral Patterns: Observer, Strategy, Command.
Hands-On Tasks:
o Implement design patterns in Java applications.
Resources:
o Design Patterns Roadmap
o Book: Head First Design Patterns by Eric Freeman & Elisabeth Robson.
o Refactoring Guru: Design Patterns in Java
Phase 6: System Design Basics
Topics:
o Introduction to system design: Scalability, Reliability, Maintainability.
o Understanding RESTful API design.
o Load Balancers, Caching, CDNs.
o Microservices vs Monolith Architecture.
o Event-Driven Architecture.
Resources:
o System Design Roadmap
o Grokking System Design Interview: Educative.io
o Video: System Design for Beginners by Gaurav Sen (YouTube).