
Java is not 100 percent object oriented because it uses primitive types wrapped by wrapper classes to become objects, so not everything revolves around objects.
Explore whether Java passes primitives by value and object references by value, with examples showing copying the value versus modifying the original object through the copied reference.
Learn covariant return types in Java, where after Java 5 an overriding method can return a subtype of the parent return type, illustrated with Object, String, Animal, Labrador, and Frog.
Explore the Java equals and hash code contract, implement equals, override hashCode, and understand shallow versus deep comparison for reliable map behavior.
Learn why pointers are not used in Java, as memory allocation is managed by the JVM and direct memory access is discouraged to preserve safety and simplicity.
Explore how the JIT compiler in Java converts bytecode into machine code at runtime to boost performance, while the interpreter translates bytecode line by line.
Understand why strings are immutable in Java, emphasizing safe sharing of string references and the creation of new string objects on modification to protect security.
Marker interfaces are empty, having no data members or functions, used in Java to convey metadata to the compiler.
Discover why private and static methods cannot be overridden in Java, how method hiding works with the same name and arguments, and referencing such methods with the class name.
Examine whether the finally block always executes in Java, and identify two cases where it does not: when the system crashes or when System.exit is called.
Learn how a singleton in Java is built with a private static instance, private constructor, and a getInstance method, then examine breaking it via reflection, serialization, and cloning.
Understand the Java object class and its core methods: clone copies objects, equals defaults to reference equality, finalize runs before garbage collection, and toString returns the object's string representation.
Learn six steps to make a class immutable in Java by declaring the class final, fields private and final, and always cloning or copying objects rather than returning real references.
Learn how to implement a singleton class in Java by using a private constructor, a private static instance, and a lazy getInstance method to ensure a single object.
Explore the Java collection hierarchy: collection interface with list and set, and map as a separate interface. Compare list's order and duplicates, set's uniqueness, and map's key-value pairs.
Focus on java list interface implementations: arraylist, linkedlist, vector, and stack; compare non-synchronous arraylist growth by 50 percent, vector doubling, insertion order, and synchronization differences.
Learn about the set interface in Java, including hashset, linkedhashset, and sorted set implementations, and how they ensure unique elements and control insertion or ascending order.
Examine Java queue concepts, including priority queue behavior where the highest priority item is removed first and insertion order is not preserved, and the idea of a doubly ended queue.
Explore Java map interface, comparing hash map and sorted map. Learn how hash maps are non synchronized with nullable values, while sorted maps disallow null keys and maintain ascending order.
Examine why the map interface does not extend the collection interface, as maps store key-value pairs with a dual access mechanism, an integral part of the Java collection framework.
Contrast fail fast and fail safe iterators in Java, showing how fail fast throws concurrent modification exception on structural changes, while fail safe uses a clone and avoids the exception.
Understand blocking queue from the concurrent package, a thread-safe queue that lets multiple threads put and take elements safely, blocking when full to prevent more inserts.
Differentiate synchronized and concurrent collections by performance and thread safety. Divide across segments in concurrent collections to enable parallel operations, while synchronized collections like a hash map are slower.
Learn how a hash map uses a hash function to map keys to bucket indices, storing key-value pairs in an entry object, with put/get and collision handling via linked lists.
Java 8 introduces concise code and supports functional programming through lambda expressions, enabling a shorter, more expressive code base to compete with languages like Python and Scala.
Java 8 introduces lambda expressions, streams, functional interfaces, default and static methods, Optional, and method and constructor references, enabling more readable, reusable, and testable code with parallel operations.
Discover how Java lambda expressions transform a multi-line method into a concise one-line function by using anonymous functions and type inference with functional interfaces like Consumer, preserving the output.
Most asked Java Interview Questions you must know irrespective of the fact if you're experienced or fresher.
This course will help you to sail through basic technical Interview rounds and covers basic question that you must know before facing any Java interview.
We had to limit this course due to the Udemy limitation of uploading only 2 hours of free course to users. Thus we have to break the whole course into multiple courses but we have segregated it in basic, intermediate and advanced level so that it will help you too to identify where do you really stand before appearing in any technical discussion with IT companies.
We do have intermediate and advanced level courses upcoming in few days.
The motive of this course is just to make you interview ready and motivated and confident in the interview. What we could cover in 2 hours is :
Why Java is not 100% Object Oriented
Is Java Pass by value or Pass by reference
What is Covariant return type in Java ?
What is Equals and Hash Code contract ?
Why Pointers are not used in Java ?
What is JIT compiler in Java ?
Why String is immutable in Java ?
What is Marker Interface ?
Can you override a private or static method in Java ?
Does finally always execute in Java ?
What methods does Object class have ?
How to make class Immutable ?
How to make a class Singleton ?
How to break Singleton Design pattern in Java ?
Explain the Collection Hierarchy
What is List interface in Java ?
What is set Interface in Java ?
What is Queue Interface in Java ?
What is Map Interface in Java ?
Why map does not extend Collection Interface ?
What is the difference between fail fast and fail safe Iterator ?
What is Blocking Queue ?
Difference between synchronized collection and concurrent collection
Explain Internal working of Hashmap
Why Java 8 was introduced ?
What are the advantages of Java 8 ?
What is Lambda expression ?