Java interview questions for 5 years experience

Previous
Next

In this post, we will see Java interview questions for 5 to 6 years experience.
When you have 5 years of experience as java developer, you need to have good understanding of collections, multithreading concepts.
Here are some questions which are most asked for 5 years experience java programmers.You might find some of the questions very easy but believe me most developers failed to answer these questions.

1. Guess the output of below program.

What will be the output?
A. In m2 B
B. Compile time error
C. Runtime error

2. Guess the output of below program.

What will be the output?
A. In m1 B
B. Compile time error
C. Runtime error

3. Guess the output of below program.

What will be the output?
A. In m1 B
B. Compile time error
C. Runtime error

4. What will happen in case of below program?

There are two threads T1 and T2. T1 is accessing m1 method. Will T2 be able to access m2 method on the same instance at the same time?

5. What will happen in case of below program?

There are two threads T1 and T2. T1 is accessing m1 method. Will T2 be able to access m2 method on the same instance at the same time?

6. What will happen in case of below program?

There are two threads T1 and T2. T1 is accessing m1 method. Will T2 be able to access m2 method on the same instance at the same time?

7. Guess the output of below program.

8. Guess the output of below program.

Main class

9. How to decide young generation and old generation size for your application?

It depends on nature of application.
If you have lots of temporary objects then there will be lot of minor gc. You can provide arguments XX:NewRatio=1 to distribute 50% to young generation and 50% to old.
By default, NewRatio=2 hence young Generation is 1/3 of total heap.
Similarly, If you have too many long-lived objects, then you might need to increase size of tenure space by putting high value of NewRatio.

10. What is garbage collection in java?

Garbage collection is the process of identifying used and unused objects on java heap and removing unused object from the heap.
A live object means object is still being referred to some part of program. Unused object means object is not being referred by any part of program and is eligible for garbage collection.
Programmer does not have to do manual garbage collection like C or C++. Java takes care of

11. What are types of garbage collectors in java?

You can see detailed answer over here.

12. What is difference between Collection.synchronizedMap(map) and ConcurrentHashMap?

When you make map thread safe by using Collection.synchronizedMap(map), it locks whole map object, but ConcurrentHashMap does not lock the whole map, it just locks part of it(Segment).
You can read more about ConcurrentHashMap over here.

13. What will happen when you run below code

14. Write a program to print odd even numbers using threads in sequence?

Here is the program to print odd and even numbers using threads in sequence.

15. Which design pattern you have used in your project?

You can name few design patterns such as Singleton, Observer etc. which you might have used in your project.

16. What is double level locking in singleton design pattern?

Double level locking in single design pattern is used to make it thread-safe.

Let’s say two threads(T1 and T2) checked for null and both reached at synchronized (Singleton.class) . T1 gets the lock and create instance of Singleton and return.Now T2 enters in synchronized block, as we have checked for null again,it will not create object again.

17. Write a program to implement producer-consumer problem using BlockingQueue?

You can find detailed answer over here

18. Have you worked on Java 8? Can you share major changes in Java 8?

If you have worked on Java 8, you can share major changes such Stream, lambada expression, defaults method in interface etc.

19. Have you worked on Serialization? Can you tell difference between Serializable and Externalizable?

You can find detailed answer over here

20. How will you detect memory leak in your application?

There is no simple answer to this question. You can take thread dump via JVisualVM and do the analysis in eclipse memory analyzer tool.
That’s all about Java interview questions for 5 to 6 years experience.

Previous
Next

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.

Add Comment

Join Our News Letter - Stay Updated

Subscribe to Awesome Java Content.
You can like our facebook page Java2blog