Day 1: Java Fundamentals & Core Concepts
🔹 Basics of Java
• JDK, JRE, JVM – Differences and Working
o JDK (Java Development Kit): Contains tools like compiler and debugger to
develop Java programs.
o JRE (Java Runtime Environment): Helps run Java applications, includes
JVM.
o JVM (Java Virtual Machine): Executes Java bytecode, enabling platform
independence.
• Java Memory Management
o Heap Memory: Stores objects and class instances.
o Stack Memory: Stores method calls and local variables.
o Garbage Collection: Automatic memory management by removing unused
objects.
• Data Types, Variables, Operators
o Primitive Data Types (int, float, char, boolean, etc.)
o Non-Primitive Data Types (Arrays, Strings, Objects)
• Control Statements & Loops
o if-else, switch for decision-making
o Loops (for, while, do-while) for iteration
🔹 Functions & OOP Concepts
• Methods and Method Overloading
o Defining functions in Java and using the same method name with different
parameters (Overloading).
• Classes and Objects
o Blueprint of an object, object creation, new keyword.
• Constructors and Constructor Overloading
o Default, Parameterized, and Copy Constructors.
• Access Modifiers
o public, private, protected, default – Controls visibility of
variables/methods.
🔹 Interview Questions
• Explain the difference between JDK, JRE, and JVM.
• How does Java manage memory?
• What is method overloading?
Day 2: Object-Oriented Programming (OOPs)
🔹 Core OOP Concepts
• Inheritance (Types)
o Single Inheritance: One class inherits from another.
o Multilevel Inheritance: A class inherits from another which also inherits
from another.
o Hierarchical Inheritance: One parent class, multiple child classes.
o Multiple Inheritance (via Interfaces): Achieved using interfaces, since Java
does not support direct multiple inheritance.
• Method Overriding
o Redefining a method in a subclass that already exists in a parent class.
• Polymorphism (Compile-time & Runtime)
o Compile-time Polymorphism: Method overloading.
o Runtime Polymorphism: Method overriding.
• Abstract Classes & Interfaces
o Abstract Class: A class with abstract (unimplemented) methods.
o Interface: A contract for implementing classes to follow.
🔹 Encapsulation & Abstraction
• Encapsulation: Data hiding using private fields and public getter/setter methods.
• Abstraction: Hiding implementation details from the user.
🔹 Interview Questions
• Explain method overriding with an example.
• Difference between abstract class and interface?
• What is encapsulation, and why is it important?
Day 3: Data Structures & Exception Handling
🔹 Arrays & Collections Framework
• Arrays vs. ArrayList
o Arrays have fixed size, while ArrayLists are dynamic.
• Important Data Structures in Java:
o HashMap: Stores key-value pairs.
o HashSet: Stores unique elements.
o LinkedList: Implements a doubly linked list.
o Queue & Stack: Used for FIFO and LIFO operations.
🔹 Sorting and Searching Algorithms in Java
• Bubble Sort, Selection Sort, Merge Sort, Quick Sort
• Linear Search, Binary Search
🔹 Exception Handling
• try-catch-finally: Handle exceptions safely.
• throw vs. throws: Used for custom exception handling.
• Checked & Unchecked Exceptions:
o Checked: Exceptions that must be handled (IOException, SQLException).
o Unchecked: Runtime exceptions (NullPointerException,
ArrayIndexOutOfBoundsException).
🔹 File Handling in Java
• Reading/Writing Files in Java
• BufferedReader vs. Scanner
🔹 Interview Questions
• How does HashMap work internally in Java?
• Difference between ArrayList and LinkedList?
• What is checked and unchecked exception?
Day 4: Multithreading, Streams & Functional
Programming
🔹 Multithreading & Concurrency
• Thread Lifecycle: New, Runnable, Blocked, Waiting, Timed Waiting, Terminated.
• Creating Threads:
o Implementing Runnable Interface.
o Extending Thread Class.
• Synchronization & Locks
o Preventing race conditions in multithreaded programs.
• Deadlocks & Thread Safety
🔹 Java 8 Features (Important for Interviews)
• Lambda Expressions: Functional programming style.
• Streams API (map, filter, reduce): Process collections in a functional way.
• Functional Interfaces (Predicate, Consumer, Supplier): Define single-method
interfaces for functional programming.
🔹 Interview Questions
• What are the ways to create a thread in Java?
• Difference between synchronized block and method?
• Explain Java Streams API with an example.
Day 5: JDBC, Design Patterns & Mock Interview
🔹 Database Connectivity (JDBC)
• Connecting Java with MySQL
• CRUD Operations (Insert, Update, Delete)
• PreparedStatement vs. Statement
🔹 Design Patterns
• Singleton Pattern: Ensures only one instance of a class exists.
• Factory Pattern: Creates objects without exposing the instantiation logic.
• Observer Pattern: Defines a one-to-many dependency between objects.
🔹 Mock Interview & Coding Practice
• Solve 3-5 DSA problems on LeetCode, CodeStudio.
• Practice Java coding questions from LeetCode, GeeksforGeeks.
• Mock HR & Technical Interview Questions.
📌 Additional Resources
🔹 Java DSA: Striver’s Java DSA Playlist
🔹 Practice Java Coding: LeetCode, GeeksforGeeks
🔹 Interview Guide: Cracking the Coding Interview (Java Edition)