10 Advanced core Java interview questions for senior and experienced programmer

Java interview questions for Senior and Experienced programmer
Java is very big and there is no way to prepare completely for any core java interview but there is a level of question depends upon your experience, if you are fresher than questions asked in Java interview are mostly based on fundamentals like Iterator vs Enumeration in Java, Why main is public static and void or may be ArrayList vs LinkedList in Java. Things changes when you apply for senior developer, Technical lead or Team Lead Java positions, questions asked on that level are more advanced and less popular among Java circles, you may be asked questions from design pattern, questions from multi-threading, Collections and even asked to write code, design classes and prepare JUnit tests. In this Java article I will share some advanced Core Java interview questions which is appear in Senior level interviews mostly on 4 to 6 years and 6 to 8 years of experience. One important thing to note is that you can not clear interview by just mugging answers of these question because interviewer is most likely asked you follow-up question based upon your response and only way to get through it is to understand the topic well.

10 core Java interview question for senior developers and TechLead

Advanced Core Java interview question for senior and experienced Java programmerHere are my list of questions which is worth preparing if you are going for core java interview for senior position, these questions are mostly based upon Garbage collection , Concurrency, Collections, design, Coding and testing.

1. How does ConcurrentHashMap work in Java? 

2. is ConcurrentHashMap is thread-safe?

3. Can we replace Hashtable to ConcurrentHashMap without external synchronization?
As you see there are multiple question in this category, those are mostly followup and can be answered if you understand ConcurrentHashMap well. you can see this article about Hashtable and ConcurrentHashMap to learn more.

4. What is CountDownLatch in Java?

5. What is CyclicBarrier in Java?

6. What is the difference between CountDownLatch and CyclicBarrier in Java?
Concurrency is favorite topic on advanced core java interviews and its expected from experienced and senior Java developers to have good understanding of multi-threading and concurrency API in Java. See these post about CountDownLatch in Java and Difference between CountDowntLatch and CyclicBarrier in Java.

7. What is Race condition? Have you faced any race condition?

8. What is deadLock in Java? Write code to avoid deadlock in Java?

Raced conditions and deadlock are major challenges while writing high-performance concurrent Java applications and hands on experience of dealing with synchronization and concurrency issue expected from a senior and experience Java programmer. Refer how to avoid deadlock in Java and What is race condition in Java for more details.

9. What is PermGen space?

10. What is a memory leak in Java?

11. What is OutOfMemoryError in PermGen mens?

12. What is the difference between NoClassDefFoundError and ClassNotFoundException in Java?
These are some questions related to Errors and Exceptions in Java, OutOfMemoryError and NoclassDefFoundError are the most common yet dreaded errors in Java. see the links for more details.

You can also find answers to these questions by searching on google, the key point is to understand it deeply.

Further Learning
Data Structures and Algorithms: Deep Dive Using Java
Java Fundamentals: The Java Language
Complete Java Masterclass
Java Programming Interview Exposed

Related Interview Questions from Java67 blog

Thanks for reading this article so far. If you like these Java interview questions or have seen them on your telephonic round of interview, then please share this post with your friends and colleagues on Facebook, Twitter, Email, etc. If you have any questions or feedback, please drop a note.

All the best Guys


  1. Thanks for all the information ,it was very helpful i really like that you are providing information on core and advance java ,being enrolled in
    advance and core java http://www.wiziq.com/course/1779-core-and-advance-java-concepts i was looking for such information on advance and core java and your information helped me a lot. I really like that you are providing such information. Thanks

  2. Really good questions! Thanks a lot

  3. In my opinion, there is no point asking simple questions to experienced professionals. I would rather prefer to ask fundamental in depth, practical issued faced by enterprise application and how have they solved them in past. You can also quiz them on design, coding, best practices and more important bad practices to avoid. If someone has decent experience in Java, he definitely knows that why comparing String using == is bad or why using float or double for price can create lot of problems of precision, accuracy and rounding.


Feel free to comment, ask questions if you have any doubt.