Redirect the conversation to what's important.

Like (a) asking what problems the company has that need to be solved, (b) how much more productive than the average software engineer you are, and (c) that you are determined: that you'll solve any problem, learning what you need as you go.

When someone asks a silly question, like why Java 1.8 instead of 1.7, your attitude shouldn't be to defend yourself as having made an Oscar-winning choice. Your answer should be the most comical, borderline embarrassing answer, because it will fulfill the possibly momentary psychological desire of the interviewer to feel they are right. But it should also be an answer that indirectly embarrasses the interviewer too for having asked it. You could say Java 1.7 would have caused the least trouble, and then point out that e.g. if you missed next week's release the company would have lost it's number one customer and shut down.

Plus, if what the interviewer wants is to show off superiority, let them. If you do that, you get the job. The interviewer isn't necessarily a bad person, and they might realize how stupidly they acted and shapen up. (Of course don't work there if they don't.) The more general advice is don't oppose forces, for the same reason trees let themselves bend when it's windy.

If you are unsure or feel cornered over silly stuff, say "I'm not sure that's the biggest problem to solve, or the one that will generate the most value for the company." If you have ideas of what that is, then go on to describe them.

In short, push back.

But don't push back the way a suit pushes back with some general, phony sounding, evasive statement like "well, I don't know how that affects some of the stakeholders." Be specific.

(Don't think of pushing back as doing something bad. Think of it as being more open-minded than the other person. You are considering data they are neglecting. It's part of being a good designer. Corollary: make an effort to consider other people's ideas, else you'll be the one who is narrow-minded.)

If I had only one piece of advice it would be: focus on the root of the problem. Hint: more often than not it's not what it appears to be, but it's some other problem hidden five layers deep.

For example, if an aggressive interviewer says "Clearly you don't know how to code and are useless", then clearly the problem is the interviewer, and the way you can pass the interview is to tell the truth. That he is the problem. But -- to do it indirectly, with humor as a lubricant. Start from the very first word: "clearly". Don't give them an inch.

You say something along the lines of: "Well, it's dangerous to make absolute statements, you know, to say "clearly", or "always" or "never". Not just because there's always a chance one could be wrong, but mostly because I noticed with myself that when I do that it's often to counteract something I subconsciously know is true. Else I wouldn't be finding the need to try hard to qualify what I say. I'd just say it. And you know what, I regret it eventually. It's strange how the subconscious works. I keep being surprised at how things aren't always as they seem. But I'm willing to learn."

In this way you address the root of the problem: the interviewer is aggressive without even realizing it. You identify how one can tell they are acting in ways they haven't realized: by making absolute statements. You show humility: you explain this is something that happened to you before. You allow for the interviewer to feel superior: because you just explained a mistake you made. You didn't budge; you stopped the conversation right on the first incorrect word: "clearly". And indirectly you push back: by making the interviewer look like a fool (because everything you just said about yourself could also be said about the interviewer). The problem isn't the Java version. Don't talk at all about any tech there.

Be humble. Be empathetic with people's faults. But the way out is following the truth, even if that means that you made a mistake or you need to learn something new. ALWAYS look for the root of the problem. If it feels hard to do, that's precisely your cue that you should do it.

And if the interviewer or company still don't get the hint, then forget about them. They can't tell what's important.