
Refresh your Java interview prep by mastering the Java platform, JVM, and object oriented programming, including abstraction, encapsulation, inheritance, polymorphism, functional programming with lambda expressions and streams.
Review the three essentials before you begin: access the GitHub repository with all code, download the PDF guide for quick reference, and install Eclipse to import the code.
Get a guided tour of the course structure and topic order, from the Java platform and its development kit and virtual machine basics to advanced object-oriented concepts, collections, and generics.
Explore why Java is popular, highlighting platform independence, the Java Virtual Machine, and bytecode that enable build once, run anywhere.
Explain the differences between JDK, JRE, and JVM and show how they support compiling, running, and debugging Java programs with jar files and libraries.
Java is platform independent and runs on any operating system; unlike C++, it lacks pointers and uses garbage collection, while C++ supports pointers, manual memory management, and multiple inheritance.
Explore how Java loads classes using the system, extension, and bootstrap class loaders, searching the classpath and ext directories to load user, framework, and core Java classes.
Explore wrapper classes in Java, how they wrap primitives, enable nulls and collections, and when to use constructors versus valueOf, including autoboxing, caching of integers, and implicit and explicit casting.
Uncover the in28minutes origin story for the Java programming interview guide, highlighting change as opportunity, daily inquiry, and learning something new every day in 28 minutes.
Explore string immutability, the string constant pool, and how concatenation creates new objects. Learn when to use string builder or string buffer for loop performance and thread safety.
Explain that a class is a template defining an object's state and behavior, and that objects are instances with changing state through methods, inheriting from Object.
Override the public string toString() with no parameters to customize how a Java object prints. Return a string showing the object's name and type instead of the default memory address.
Explore how Java uses equals and hashCode to compare object values (like IDs) and hash them in HashMap, and learn to generate and override them with Eclipse.
Explore inheritance in Java with actor, hero, and comedian examples, grasp method overloading and overriding, and learn how superclass references interact with subclass objects and why multiple inheritance is avoided.
Explore how interfaces define a contract for common actions across classes. Learn how to define and implement interfaces, use default methods from Java 8, and implement multiple interfaces.
Explore how abstract classes define common functionality and require subclasses to implement abstract methods. They cannot be instantiated, support varied visibility, and contrast with interfaces that enable multiple implementations.
Explore constructors in Java, including default and parameterized variants. Learn to call super() for superclass constructors and use this() to chain constructors within a class.
Access the GitHub repository to run the included code examples from the PDF, and practice interfaces, inheritance, overriding, overloading, and equals, hashCode, and toString to deepen your understanding.
Master advanced object oriented concepts in Java, including polymorphism, the instance of operator, inner and anonymous classes, and fundamentals like encapsulation and coupling, with hands-on code examples.
Coupling measures how much a class depends on others, and this lecture contrasts tight versus low coupling with a shopping cart example, order total price, and sales tax.
Explore cohesion in class design by examining why highly cohesive classes focus on related responsibilities, contrasting a monolithic download-and-store class with dedicated downloader, data parser, and database store components.
Explore encapsulation in object oriented design by comparing direct field access, getters and setters, and fully encapsulated methods that hide score calculations behind a clear interface.
Explore inner classes, static nested classes, and local inner classes in Java, including how static nested classes exist without an outer instance and how inner classes access outer variables.
Discover anonymous classes in Java by creating a comparator inline and overriding methods within an anonymous class, and learn when such constructs are useful or best avoided in real-world code.
Explore Java access modifiers—private, public, protected, and default (package)—along with final and static modifiers, with examples showing visibility within the same package and in subclasses.
Explore the final modifier in Java: prevent subclassing of a class and overriding of a method, and enforce immutability by finalizing variables and arguments, such as the Pi constant.
Understand that static variables and methods are class level, shared across all instances, and typically accessed via the class name, while static methods cannot access instance variables.
Master conditions and loops in Java, focusing on block usage in if, assignment versus comparison, switch fall-through, enhanced for loops, and break and labeled breaks.
troubleshoot on your own to build resilience, then research with google and chatgpt for solutions, and share knowledge in the course discussion board when needed; take breaks when stuck.
Explore exception handling in java, covering try catch finally, finally blocks and stack traces, custom exceptions, try with resources, and the chain of responsibility pattern.
Explore the throwable to error and exception hierarchy in Java, and distinguish checked versus unchecked exceptions and the role of runtime exceptions in mandatory handling.
Learn how to throw exceptions in Java by examining a currency mismatch scenario, compare runtime (unchecked) versus checked exceptions, and how to use throws and try-catch.
Learn how to create custom exceptions by extending checked or runtime exceptions, and implement robust exception handling with try with resources, specific-to-generic catches, and global strategies.
Explore miscellaneous topics in Java, starting with arrays, default values, and how to print array contents with Arrays.toString; compare arrays with Arrays.equals, and use the enhanced for loop.
Explore Java enums, from basic usage to advanced constructs with constructors, codes, getCode, valueOf, overridden methods, and switch handling for max temperatures.
Explore variable arguments in Java, enabling methods to accept any number of parameters, accessed like an array via numbers, with the last-parameter rule and support for complex types.
Explore how asserts enforce constraints, throw assertion errors rather than input-validation exceptions like IllegalArgumentException, and understand garbage collection and system.gc as a JVM request.
Explore static and instance initializers and how they run when a class is loaded or an object is created, beyond constructors.
Discover how to serialize and deserialize objects in Java using object output and input streams, the Serializable interface, transient fields, object hierarchies, and the role of constructors and static fields.
How about Quickly Revising all the Important Java Concepts in about 6 Hours before an interview?
Preparing for Java Interview is tricky. You would need to get a good understanding of new features and revise concepts you used in your preparation. This course helps you Prepare for Java Interview with hands-on code examples covering 200+ Java Interview Questions and Answers on varied range of topics listed below.
WHAT OUR LEARNERS ARE SAYING:
5 STARS - This course is perfect for those people that have been for some time without using some features of Java and need to refresh those knowledge
5 STARS - The best Java interview guide on Udemy
5 STARS - Awesome, this is how the videos should be. First, I was thinking couple of time to purchase this, but fortunately I am happy that, I have purchased this. I am enjoying each and every part of the session
5 STARS - Great course to freshen up your knowledge and prepare for interviews
5 STARS - The best java interview guide you can get across the internet.
COURSE HIGHLIGHTS:
Java Platform
1 . Why is Java so popular?
2 . What is platform independence?
3 . What is bytecode?
4 . Compare JDK vs JVM vs JRE
5 . What are the important differences between C++ and Java?
6 . What is the role for a classloader in Java?
Wrapper Classes
7 . What are Wrapper classes?
8 . Why do we need Wrapper classes in Java?
9 . What are the different ways of creating Wrapper class instances?
10 . What are differences in the two ways of creating Wrapper classes?
11 . What is auto boxing?
12 . What are the advantages of auto boxing?
13 . What is casting?
14 . What is implicit casting?
15 . What is explicit casting?
Strings
16 . Are all String’s immutable?
17 . Where are String values stored in memory?
18 . Why should you be careful about String concatenation(+) operator in loops?
19 . How do you solve above problem?
20 . What are differences between String and StringBuffer?
21 . What are differences between StringBuilder and StringBuffer?
22 . Can you give examples of different utility methods in String class?
Object oriented programming basics
23 . What is a class?
24 . What is an object?
25 . What is state of an object?
26 . What is behavior of an object?
27 . What is the super class of every class in Java?
28 . Explain about toString method ?
29 . What is the use of equals method in Java?
30 . What are the important things to consider when implementing equals method?
31 . What is the Hashcode method used for in Java?
32 . Explain inheritance with examples .
33 . What is method overloading?
34 . What is method overriding?
35 . Can super class reference variable can hold an object of sub class?
36 . Is multiple inheritance allowed in Java?
37 . What is an interface?
38 . How do you define an interface?
39 . How do you implement an interface?
40 . Can you explain a few tricky things about interfaces?
41 . Can you extend an interface?
42 . Can a class extend multiple interfaces?
43 . What is an abstract class?
44 . When do you use an abstract class?
45 . How do you define an abstract method?
46 . Compare abstract class vs interface?
47 . What is a constructor?
48 . What is a default constructor?
49 . Will this code compile?
50 . How do you call a super class constructor from a constructor?
51 . Will this code compile?
52 . What is the use of this()?
53 . Can a constructor be called directly from a method?
54 . Is a super class constructor called even when there is no explicit call from a sub class constructor?
Advanced object oriented concepts
55 . What is polymorphism?
56 . What is the use of instanceof operator in Java?
57 . What is coupling?
58 . What is cohesion?
59 . What is encapsulation?
60 . What is an inner class?
61 . What is a static inner class?
62 . Can you create an inner class inside a method?
63 . What is an anonymous class?
Modifiers
64 . What is default class modifier?
65 . What is private access modifier?
66 . What is default or package access modifier?
67 . What is protected access modifier?
68 . What is public access modifier?
69 . What access types of variables can be accessed from a class in same package?
70 . What access types of variables can be accessed from a class in different package?
71 . What access types of variables can be accessed from a sub class in same package?
72 . What access types of variables can be accessed from a sub class in different package?
73 . What is the use of a final modifier on a class?
74 . What is the use of a final modifier on a method?
75 . What is a final variable?
76 . What is a final argument?
77 . What happens when a variable is marked as volatile?
78 . What is a static variable?
conditions & loops
79 . Why should you always use blocks around if statement?
80 . Guess the output
81 . Guess the output
82 . Guess the output of this switch block .
83 . Guess the output of this switch block?
84 . Should default be the last case in a switch statement?
85 . Can a switch statement be used around a String
86 . Guess the output of this for loop
87 . What is an enhanced for loop?
88 . What is the output of the for loop below?
89 . What is the output of the program below?
90 . What is the output of the program below?
Exception handling
91 . Why is exception handling important?
92 . What design pattern is used to implement exception handling features in most languages?
93 . What is the need for finally block?
94 . In what scenarios is code in finally not executed?
95 . Will finally be executed in the program below?
96 . Is try without a catch is allowed?
97 . Is try without catch and finally allowed?
98 . Can you explain the hierarchy of exception handling classes?
99 . What is the difference between error and exception?
100 . What is the difference between checked exceptions and unchecked exceptions?
101 . How do you throw an exception from a method?
102 . What happens when you throw a checked exception from a method?
103 . What are the options you have to eliminate compilation errors when handling checked exceptions?
104 . How do you create a custom exception?
105 . How do you handle multiple exception types with same exception handling block?
106 . Can you explain about try with resources?
107 . How does try with resources work?
108 . Can you explain a few exception handling best practices?
Miscellaneous topics
109 . What are the default values in an array?
110 . How do you loop around an array using enhanced for loop?
111 . How do you print the content of an array?
112 . How do you compare two arrays?
113 . What is an enum?
114 . Can you use a switch statement around an enum?
115 . What are variable arguments or varargs?
116 . What are asserts used for?
117 . When should asserts be used?
118 . What is garbage collection?
119 . Can you explain garbage collection with an example?
120 . When is garbage collection run?
121 . What are best practices on garbage collection?
122 . What are initialization blocks?
123 . What is a static initializer?
124 . What is an instance initializer block?
125 . What is tokenizing?
126 . Can you give an example of tokenizing?
127 . What is serialization?
128 . How do you serialize an object using serializable interface?
129 . How do you de-serialize in Java?
130 . What do you do if only parts of the object have to be serialized?
131 . How do you serialize a hierarchy of objects?
132 . Are the constructors in an object invoked when it is de-serialized?
133 . Are the values of static variables stored when an object is serialized?
Collections
134 . Why do we need collections in Java?
135 . What are the important interfaces in the collection hierarchy?
136 . What are the important methods that are declared in the collection interface?
137 . Can you explain briefly about the List interface?
138 . Explain about ArrayList with an example?
139 . Can an ArrayList have duplicate elements?
140 . How do you iterate around an ArrayList using iterator?
141 . How do you sort an ArrayList?
142 . How do you sort elements in an ArrayList using comparable interface?
143 . How do you sort elements in an ArrayList using comparator interface?
144 . What is vector class? How is it different from an ArrayList?
145 . What is linkedList? What interfaces does it implement? How is it different from an ArrayList?
146 . Can you briefly explain about the Set interface?
147 . What are the important interfaces related to the Set interface?
148 . What is the difference between Set and sortedSet interfaces?
149 . Can you give examples of classes that implement the Set interface?
150 . What is a HashSet?
151 . What is a linkedHashSet? How is different from a HashSet?
152 . What is a TreeSet? How is different from a HashSet?
153 . Can you give examples of implementations of navigableSet?
154 . Explain briefly about Queue interface?
155 . What are the important interfaces related to the Queue interface?
156 . Explain about the Deque interface?
157 . Explain the BlockingQueue interface?
158 . What is a priorityQueue?
159 . Can you give example implementations of the BlockingQueue interface?
160 . Can you briefly explain about the Map interface?
161 . What is difference between Map and sortedMap?
162 . What is a HashMap?
163 . What are the different methods in a Hash Map?
164 . What is a TreeMap? How is different from a HashMap?
165 . Can you give an example of implementation of navigableMap interface?
166 . What are the static methods present in the collections class?
Advanced collections
167 . What is the difference between synchronized and concurrent collections in Java?
168 . Explain about the new concurrent collections in Java?
169 . Explain about copyonwrite concurrent collections approach?
170 . What is compareandswap approach?
171 . What is a lock? How is it different from using synchronized approach?
172 . What is initial capacity of a Java collection?
173 . What is load factor?
174 . When does a Java collection throw UnsupportedOperationException?
175 . What is difference between fail-safe and fail-fast iterators?
176 . What are atomic operations in Java?
177 . What is BlockingQueue in Java?
Generics
178 . What are Generics?
179 . Why do we need Generics? Can you give an example of how Generics make a program more flexible?
180 . How do you declare a generic class?
181 . What are the restrictions in using generic type that is declared in a class declaration?
182 . How can we restrict Generics to a subclass of particular class?
183 . How can we restrict Generics to a super class of particular class?
184 . Can you give an example of a generic method?
Multi threading
185 . What is the need for threads in Java?
186 . How do you create a thread?
187 . How do you create a thread by extending thread class?
188 . How do you create a thread by implementing runnable interface?
189 . How do you run a thread in Java?
190 . What are the different states of a thread?
191 . What is priority of a thread? How do you change the priority of a thread?
192 . What is executorservice?
193 . Can you give an example for executorservice?
194 . Explain different ways of creating executor services .
195 . How do you check whether an executionservice task executed successfully?
196 . What is callable? How do you execute a callable from executionservice?
197 . What is synchronization of threads?
198 . Can you give an example of a synchronized block?
199 . Can a static method be synchronized?
200 . What is the use of join method in threads?
201 . Describe a few other important methods in threads?
202 . What is a deadlock?
203 . What are the important methods in Java for inter-thread communication?
204 . What is the use of wait method?
205 . What is the use of notify method?
206 . What is the use of notifyall method?
207 . Can you write a synchronized program with wait and notify methods?
Functional Programming - Lamdba expressions and Streams
208 . What is functional programming?
209 . Can you give an example of functional programming?
210 . What is a stream?
211 . Explain about streams with an example?
what are intermediate operations in streams?
212 . What are terminal operations in streams?
213 . What are method references?
214 . What are lambda expressions?
215 . Can you give an example of lambda expression?
216 . Can you explain the relationship between lambda expression and functional interfaces?
217 . What is a predicate?
218 . What is the functional interface - function?
219 . What is a consumer?
220 . Can you give examples of functional interfaces with multiple arguments?
New Features
221 . What are the new features in Java 5?
222 . What are the new features in Java 6?
223 . What are the new features in Java 7?
224 . What are the new features in Java 8?
Start Learning Now. Hit the Enroll Button!