
Explore the pillars of object oriented programming—from class and object to state and behavior—embrace encapsulation, inheritance, and polymorphism, and learn how Java uses method overloading and overriding for reusable code.
Explore how inheritance creates new classes from ones, reusing employee class properties for software programmer or business analyst roles, and learn single, multilevel, hierarchical, multiple, and hybrid inheritance in Java.
Explore the diamond problem in Java, where extending more than one class causes ambiguity and compile-time errors, and see how extending or implementing multiple interfaces handles inheritance.
Explore how Java implements polymorphism through static, compile-time polymorphism via method overloading, and dynamic, runtime polymorphism via method overriding.
Explore method overloading in Java, achieving static polymorphism by defining multiple methods with the same name but different argument counts, types, or sequences, and resolving calls at compile time.
Learn how method overriding enables a child class to replace a parent method, driving dynamic dispatch and polymorphism in a vehicle example, with rules on signatures, exceptions, and final methods.
Explore strings in Java: create literals or new objects, understand string pool behavior, and apply key methods like charAt, length, substring, contains, isEmpty, equals, equalsIgnoreCase, indexOf, toLowerCase, toUpperCase, and trim.
Learn why the java string class is immutable, where operations create new objects instead of altering existing ones, and how string literals use the constant pool.
Compare string, string builder, and string buffer: strings are immutable and slower; string builder is fast and memory efficient; string buffer is synchronized for thread safety; equals checks string content.
Explore the Java collections framework, its core interfaces and classes for lists and sets, and how to choose a collection for searches and insertions. Learn about ordering, duplicates, and streams.
Explore ArrayList in Java within the List interface, supporting duplicates, random access, insertion at index or end, removal by index or element, and sorting with a comparator.
Explore how Java's linked list uses internal pointers to connect elements, enabling fast manipulation without shifting. Learn to add, remove, get, and check size, with duplicates allowed and no synchronization.
HashSet implements the set interface to store unique elements, not maintain order, not synchronized, and provide add, remove, clear, contains, and isEmpty operations.
Explore how HashMap in Java implements the map interface, is not synchronized, and does not guarantee element order, with core methods like put, get, remove, containsKey, and entrySet iteration.
Explore how exceptions disrupt program flow with examples like invalid data, missing files, or network loss. Compare compile-time (checked) and runtime (unchecked) exceptions, the exception hierarchy, and methods like getMessage.
Learn how exception handling preserves the normal flow of a Java program using try, catch, and finally, with finally executing regardless of exceptions and handling arithmetic errors.
explain what unchecked exceptions are, their inheritance from exceptions, and how execution-time errors such as arithmetic and index out-of-bounds occur; the programmer should anticipate and handle them.
Hello and Welcome!
Scared of coding interview?
This course will practice you with the must know Java interview questions and answers.
In addition it will also prepare you to crack Java puzzle pattern. If you can learn the pattern, you can beat coding interview!
If you want to get your dream job, and you are serious about your career you should take this course and watch the course.
In this course we will review question from different areas:
Java Fundamentals – String, String Pool, Immutable Objects and more.
Object Oriented Concepts - encapsulation, polymorphism, inheritance and abstraction and more.
Java Collections - ArrayList, LinkedList, HashSet & HashMap
Exception handling - Exception handling with try-catch, Checked & UnChecked Exceptions
The lecture were divided to short lectures of about 5 min each, so you will be able to come back to a specific topic and replay the lesson without the need to search in a specific long video for the part that you would like to repeat on.
Each lesson will include several questions; all of them are from real interviews. We'll go over the questions and answer them.
Most important, we are going to update this course with more lectures like Java Multi-Threading, Serialization and many more topics.