No one way that you can prepare for an interview. It depends on who is interviewing you. There can be interview panels who are just outright trying to prove they know more that you. These kind will ask you to write code, and pick on any syntax error you make.
Then there are the other kind who check your concepts, check whether you can relate two concepts etc. Say a question like 'What happens if sun/java did not provide you with ArrayList. How would you create one?' or something like 'How would you go about synchornization if sun/java did not provide you the synchronized key word?' etc.
I totally agree each topic within Java is an abyss, so stick to your strengths, what you have worked on. Brush up the other topics ever so slightly to at least be able to say, 'I have theoretical knowledge on it, I would not mind trying to take a question or two.'
And never be afraid to say 'I'm sorry, I do not know.'
I would advice you to read before you go to an interview, just so that it makes it easier to put your thoughts into words.