1) You have thread T1, T2 and T3, how will you ensure that thread T2 run after T1 and thread T3 run after T2?
2) What is the advantage of new Lock interface over synchronized block in Java? You need to implement a high performance cache which allows multiple reader but single writer to keep the integrity how will you implement it?
3) What are differences between wait and sleep method in java?
4) Write code to implement blocking queue in Java? 5) Write code to solve the Produce consumer problem in Java?
6) Write a program which will result in deadlock? How will you fix deadlock in Java?
7) What is atomic operation? What are atomic operations in Java?
8) What is volatile keyword in Java? How to use it? How is it different from synchronized method in Java?
9) What is race condition? How will you find and solve race condition?
10) How will you take thread dump in Java? How will you analyze Thread dump? 11) Why we call start() method which in turns calls run() method, why not we directly call run() method ?
12) How will you awake a blocked thread in java?
13) What is difference between CyclicBarriar and CountdownLatch in Java ?
14) What is immutable object? How does it help on writing concurrent application?
15) What are some common problems you have faced in multi-threading environment? How did you resolve it?