Java Interview Questions For Experienced On Core Java
What Is The Is
IS-A relationship is another name for inheritance. When we inherit the base class from the derived class, then it forms a relationship between the classes. So that relationship is termed an IS-A Relationship.
Example – Consider a Television . Now another Smart TV that is inherited from television class. So we can say that the Smart iv is also a TV. Because CRT TV things can also be done in the Smart TV.
So here IS-A Relationship formed. .
Java Collections Interview Questions & Answers
The theme of the Java collections is incredibly extensive, and in order to answer each question a separate article is deeply needed for almost every question. I recommend reading the additional material indicated in the responses.
1. Define the concept of collection.
Collections / containers in Java are called classes whose main purpose is to store a set of other elements.
2. What are the benefits of using collections?
Arrays have significant drawbacks. One of them is the final size of the array, as a result, the need to monitor the size of the array. Another is indexing, which is not always convenient, since limits the ability to add and delete objects.
To get rid of these shortcomings for several decades, programmers have been using recursive data types , such as lists and trees . The standard set of Java collections serves to relieve the programmer from the need to independently implement these types of data and provides it with additional features.
3. What data can store collections?
Collections can store any reference data types.
4. What is the hierarchy of collections?
It should be noted here that interface Map is not part of the interface Collection hierarchy.
With Java 1.6, the TreeSet and TreeMap classes implement the NavigableSet and NavigableMap interfaces, which extend the SortedSet and SortedMap interfaces, respectively .
5. What do you know about collections of type List?
6. What do you know about collections like Set?
You May Like: Interview With Hr Manager Questions
What Are The Advantages Of The Collection Framework
Following are the advantages of the Collection framework:-
Consistent API: The API has a core set of interfaces like Collection, Set, List, or Map, and all the classes that implement these interfaces have some common set of methods.
Cuts programming effort: Instead of worrying about the Collection’s design, a programmer may concentrate on how best to use it in his program. As a result, the fundamental principle of Object-oriented programming has been applied successfully.
Improves program speed and quality by offering high-performance implementations of useful data structures and algorithms, as the programmer does not have to worry about the optimum implementation of a certain data structure in this scenario. They can simply use the best implementation to improve the performance of their program significantly.
Top Java Interview Questions For Developers With 5 Years Of Experience
We have curated the top Java interview questions for professionals holding 5 yearsâ experience and categorized them according to work experience and important topics such as OOP and thread handling.
Here are some of the most commonly asked Java Interview Questions and Answers for 5 years of Experience.
Q1. Which, according to you, are the most significant features of Java 8?
Answer: Most developers have stuck to the 2014 release, Java 8. It is free for commercial use and has many significant features such as functional interfaces and static methods. It has made programming more simplified and efficient with functional interfaces to object-oriented interfaces.
Q2. What is a Java Class? Can you tell us about some of the common classes of Java?
Answer: A Java Class is a category for Java objects presenting similar properties or methods. It is commonly used as a blueprint for design in object-oriented languages. The most common classes of Java used in app development are static, final, concrete, inner, abstract, and POJO.
Q3. What are the essential concepts to understand in wrapper classes?
Answer: The most significant concepts to understand in wrapper classes are the eight primitive types of wrapper classes and where they are best used. It is important to note that it is final and immutable once a wrapper class is assigned.
Q4. What are the four access modifiers in Java, and where are they used?
Q5. Differentiate between JVM and JDK.
Q6. What is platform independence?
You May Like: How To Ace The Interview And Get The Job
Explain The Hierarchy Of The Collection Framework In Java
The entire collection framework hierarchy is made up of four fundamental interfaces: Collection, List, Set, Map, and two specific interfaces for sorting called SortedSet and SortedMap. The java.util package contains all of the collection framework’s interfaces and classes. The following diagram depicts the Java collection structure.
Here, e denotes extends, i denotes implements
- Extends: The keyword extends is used to create inheritance between two classes and two interfaces.
- Implements: The keyword implements are used to create inheritance across classes and interfaces.
Can You List Down Some Of Important Method From Object Class
Important methods of object classes are:
- hashcode : It returns hash value of the object
- equals : It compares the object references
- wait : It causes current thread to wait until notify or notifyAll is not called
- notify : Wakes up single thread which is waiting for lock
- notifyAll: Wakes up all threads which is waiting for lock
- toString : Provides String representation of the object
- clone : This method is used to clone the object
- finalize: This method is called when object is being garbage collected.
Recommended Reading: How To Prepare For Amazon Coding Interview
Q What Happens When A Duplicate Key Is Put Into A Hashmap
The map simply drops its reference to the value. If nothing else holds a reference to the object, that object becomes eligible for garbage collection. Additionally, Java returns any previous value associated with the given key , so you can determine what was there and maintain a reference if necessary.
Q What Is The Difference Between Fail
Iterators in java are used to iterate over the Collection objects.Fail-Fast iterators immediately throw ConcurrentModificationException if there is structural modification of the collection. Structural modification means adding, removing or updating any element from collection while a thread is iterating over that collection. Iterator on ArrayList, HashMap classes are some examples of fail-fast Iterator.
importjava.util.ArrayList importjava.util.Iterator publicclassFailFastIteratorExample } }
Exception in thread "main" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification at java.util.ArrayList$Itr.next at pack1.MainClass.main
Fail-Safe iterators dont throw any exceptions if a collection is structurally modified while iterating over it. This is because, they operate on the clone of the collection, not on the original collection and thats why they are called fail-safe iterators. Iterator on CopyOnWriteArrayList, ConcurrentHashMap classes are examples of fail-safe Iterator.
importjava.util.Iterator importjava.util.concurrent.ConcurrentHashMap publicclassFailSafeIteratorExample } }
Also Check: What To Ask When Being Interviewed
What Do You Understand By Fail
The Iterator in java which immediately throws ConcurrentmodificationException, if any structural modification occurs in, is called as a Fail-fast iterator. Fail-fats iterator does not require any extra space in memory.
The main differences between the Array and ArrayList are given below.
The length of an array can be obtained using the property of length whereas ArrayList does not support length property, but we can use size method to get the number of objects in the list.
Finding the length of the array
Finding the size of the ArrayList
We can convert an Array to ArrayList by using the asList method of Arrays class. asList method is the static method of Arrays class and accepts the List object. Consider the following syntax:
We can convert an ArrayList to Array using toArray method of the ArrayList class. Consider the following syntax to convert the ArrayList to the List object.
Q25 What Are Different Ways To Iterate Over A List
Ans: We can iterate over a list in two different ways using iterator and using for-each loop.List< String> strList = new ArrayList< > //using for-each loopSystem.out.println }Using iterator is more thread-safe because it makes sure that if underlying list elements are modified, it will throw ConcurrentModificationException.
Read Also: How To Crack Assistant Manager Interview
These Are Frequently Asked Java Interview Questions From The Java Collections Framework And You Should Review Them Before Going For Interviews
Hello guys, Java Collection and Generic are a very important topic for Java Interviews. They also present some of the hardest questions to a programmer when it comes to interviews, especially Generics.
Its not easy to first understand what a particular piece of code doing with those question marks and other signs and then the pressure of interviews also makes it hard to answer complex usage of Generics.
But, with proper preparation and paying attention to both Java Collection and Generic, you can solve that hurdle. If you are looking for Java job but havent done well in the interviews you have given so far then you have come to the right place.
In this article, I have shared a lot of Java interview questions on various topics and difficulty levels.There are Java questions for beginners as well as expert programmers. They are theoretical questions based upon Java programming concepts as well as coding and data structure algorithms questions for programmers, and this article is only going to make that collection even more valuable.In this article, I am going to share some of the frequently asked Java Collection and Generic questions from Interviews. These are the questions you have often seen on a telephonic round of Java interview as well as on face-to-face interviews.
What Is Meant By Java Virtual Machine
One of the Java interview questions will be what exactly is meant by Java virtual machine. Java Virtual Machine is considered a virtual machine that allows the computer to operate the Java program. Acting similar to a runtime engine, it is responsible for calling the primary method existing in the Java code. Java virtual machine is the specification that one must implement in the computer system. JVM compiles the Java code to be a Bytecode that is close to the native code plus machine-independent.
Recommended Reading: What Are Great Interview Questions
Why Is The Remove Method Faster In The Linked List Than In An Array
In the linked list, we only need to adjust the references when we want to delete the element from either end or the front of the linked list. But in the array, indexes are used. So to manage proper indexing, we need to adjust the values from the array So this adjustment of value is costlier than the adjustment of references.
Example – To Delete from the front of the linked list, internally the references adjustments happened like this.
The only thing that will change is that the head pointer will point to the heads next node. And delete the previous node. That is the constant time operation.
Whereas in the ArrayList, internally it should work like this-
For deletion of the first element, all the next element has to move to one place ahead. So this copying value takes time. So that is the reason why removing in ArrayList is slower than LinkedList.
Write A Program In Java To Join Two Arraylists Into One Arraylist
We use the addAll method of the ArrayList class to add the contents of both the given arraylists into a new arraylist.
//importing the required header filesimport java.util.ArrayList import java.util.Collections publicclassJoin_Lists}
The elements of the first array list is as follows : The elements of the second array list is as follows : The elements of the joined array list is as follows :
Don’t Miss: What To Ask A Company In An Interview
Q What Are Different Collection Views Provided By Map Interface
Hierarchy of Map Interface
In the inheritance tree of the Map interface, there are several implementations but only 3 major, common, and general purpose implementations – they are HashMap and LinkedHashMap and TreeMap.
This implementation uses a hash table as the underlying data structure. It implements all of the Map operations and allows null values and one null key. This class is roughly equivalent to Hashtable – a legacy data structure before Java Collections Framework, but it is not synchronized and permits nulls. HashMap does not guarantee the order of its key-value elements. Therefore, consider to use a HashMap when order does not matter and nulls are acceptable.
Map< Integer, String> mapHttpErrors = newHashMap< > mapHttpErrors.put mapHttpErrors.put mapHttpErrors.put mapHttpErrors.put System.out.println
This implementation uses a hash table and a linked list as the underlying data structures, thus the order of a LinkedHashMap is predictable, with insertion-order as the default order. This implementation also allows nulls like HashMap. So consider using a LinkedHashMap when you want a Map with its key-value pairs are sorted by their insertion order.
Map< String, String> mapContacts = newLinkedHashMap< > mapContacts.put mapContacts.put mapContacts.put mapContacts.put System.out.println
Useful Methods of Map Interface
|HashMap inherits AbstractMap class.
|Hashtable inherits Dictionary class.
How Do Exceptions Affect The Program If It Doesn’t Handle Them
Exceptions are runtime errors. Suppose we are making an android application with java. And it all works fine but there is an exceptional case when the application tries to get the file from storage and the file doesnt exist . And if this case is not handled properly then the application will crash. This will be a bad experience for users. This is the type of error that cannot be controlled by the programmer. But programmers can take some steps to avoid this so that the application wont crash. The proper action can be taken at this step.
You May Like: How To Prepare For Google Interview In 6 Months
Differentiate Between Queue And Stack
|Based on FIFO principle
|Based on LIFO principle
|Insertion and deletion takes place from two opposite ends
|Insertion and deletion takes place the same end
|Element insertion is called enqueue
|Element insertion is called push
|Element deletion is called dequeue
|Element deletion is called pop
|Two pointers are maintained one point to the first element and the other one points the last element on the list
|Only one pointer is maintained which points to the top element on the stack
How To Use Foreach Method
The forEach method provides a shortcut to perform an action on all the elements of an iterable. Lets say we have to iterate over the list elements and print it.
List< String> list = new ArrayList< > Iterator< String> it = list.iterator while )
We can use forEach method with lambda expression to reduce the code size.
List< String> list = new ArrayList< > list.forEach
Recommended Reading: Cracking The Coding Interview Review
What Is The Main Benefit Of Using The Properties File
The main advantage of using the properties file in Java is that in case the values in the properties file is changed it will be automatically reflected without having to recompile the java class. Thus it is mainly used to store information which is liable to change such as username and passwords. This makes the management of the application easy and efficient. Below is an example of the same:
import java.util.* import java.io.* public class PropertiesDemo}
What Are Different Ways To Iterate Over A List
We can iterate over a list in two different ways using iterator and using for-each loop.
List< String> strList = new ArrayList< > //using for-each loopfor//using iteratorIterator< String> it = strList.iterator while)
Using iterator is more thread-safe because it makes sure that if underlying list elements are modified, it will throw ConcurrentModificationException.
Also Check: What Do I Need For A Interview
Java Collections Interview Questions
Java Collections is one of the most important areas where you will be tested in junior or senior positions. The scope of questions is so broad that it is almost impossible to cover all the questions. Yet based on my previous interviews, I am attempting to put as many as possible good interview questions.
I am aiming for beginners and senior-level interviews, so bear with me if you find some questions too basic because they might be helpful for other junior developers.
Java Thread Interview Questions For Developers With 5 Years Experience
When preparing for your Java Advanced interview, you should also practice some Java Thread interview questions and answers for 5 years of experienced professionals. Here are some sample Java Thread interview questions:
Recommended Reading: 170 UI Developer Interview Questions for Experienced Candidates
At Interview Kickstart, you can practice mock interviews with experts and hiring managers from FAANG companies. Their valuable feedback has gone a long way in helping Java professionals such as yourself crack tech interviews at the top FAANG companies.