Here’s a list of common topics I’ve encountered on technical interviews pertaining to Java:
- inheritance
- polymorphism
- multi-threading (locks)
- interfaces
- pass by reference/pass by value/pass by pointer
- data structures/algorithms – eg: return top N duplicate results from large data set
- set vs list
- object vs non-object data types
- internationalization – eg: utf-8 vs utf-16
It is a good idea to be prepared to discuss as many of these as you have experience with.