Regardless, it’s still one of the most commonly asked questions in interviews. There’s never a really good answer to a dumb question like this one, so I would try and steer it back towards them and turn it into an advantage for you. I’d start by answering their question with something fairly innocuous like:
“I’d like to have more knowledge about X.” That shows that you have some self-awareness about a perceived weaknesses, but it also doesn’t really tell them very much. Also, by saying you’d like more knowledge in a certain area (that hopefully isn’t a core need for the position you’re interviewing for) your interviewers aren’t aware of how much knowledge you have already – maybe you have more than them, but you’re striving to be an expert, who knows? Anyhow, wanting more knowledge is always a good answer because you can always go and learn about that thing you’d like to have more knowledge about, therefore mitigating your weakness. But after you’ve answered their question, here's how to really turn it back on them for your advantage. Ask them this:
This is a great question to ask because it will get them thinking about how they can best respond, honestly, without making their company seem less appealing to you. You’re also flipping the power dynamic in the interview. By asking this question you'll be more in control and this will put them on the defensive a little. However, instead of just using the word 'weakness' I’d try and soften this question by throwing in the word ‘challenge’ too, because weakness is such a pessimistic word you don’t want to put them too much on the defensive, nor do you want to come off as an arrogant jerk.
This may feel like a real risk asking a question like this, and that's precisely why many candidates don't ever ask it - because they're too scared to. But it's an awesome question to ask because it demonstrates that you're really interested in their company - and when it comes to interviewing, being interested is much better than being interesting.