I think the "5 years" experience bit is irrelevant. Are you going for a junior or senior position? Both will be fairly similar, but with senior you'll be expected more to be able to design and make technical choices with clear consideration. One of my favourite questions to ask is "Tell me about Spring"- the candidate can then show they know about DI/IOC etc, but I then follow up with "Do you like it? Would you use it in a new project?". A junior dev will simply say yes or no without any particular thought, just reacting to their experience. A senior dev will be more aware of the other options and the limitations/benefits of Spring and be able to articulate whatever their opinion is.
One of my other favourites for senior guys is "Tell me about your system" (you can read in detail at
http://www.corejavainterviewquestions.com/tell-me-about-your-system) where you draw out your current system and we deep dive into the architecture and technology choices. Can you clearly articulate the requirements for a system and how that influenced the architecture (e.g. something is high throughput, low latency, batch etc. etc.).
More generally, study Data Structures and algorithms, object oriented programming, garbage collection.