Most of people generally aware of basic Java interview questions, real test for candidates comes with Advanced java.
1) Difference between Countdown latch and Cyclic Barrier
2) Could you please describe Java memory model
3) how to improve performance of an application ?
4) Blocking/Non-blocking queue implementation ?
5) Difference between NIO Channels and Streams ?
6) What is ByteBuffer, DirectByteBuffer, MappedByteBuffer ?
7) How does Garbage Collector (GC ) affects the performance of an application. How to tune GC params to achieve better results.
8) What are the different types of Garbage Collectors ?
9) How to analyze GC behaviour of an application ?
10) Difference between Serial, Parallel, Concurrent GC ?
11) What is Young/Eden space and how is it different from perm space ? Does changing size of young/eden space affects the performance ?
12) What is Java Serialization ? how is it different from Externalizable ? Whats the significance of SerialVersionUID ? how does it matter if not provided , does it affect deserialization ?
13) What is volatile ? how is it related to out of order write in memory ?
14) What are non-blocking data structures ? Can you show how to implement non-blocking stack ?
15) What is biased locking and how it can improve performance of an application ?

