FWIW, I've been asked that question only once in my career, and that was some thirty-plus years ago. My answer went roughly as follows:
I'm somewhat vexed about how to answer that question. I'm certainly not going to sit here and give you a reason not to give me an offer by telling you something odious about myself or divulging my deepest and darkest personal struggle, yet I don't care to lie to you either by saying I have no weaknesses for every human does have some.
I believe I've my interactions with you and your colleagues have not uncovered any material weaknesses in my character or qualifications for the consulting position I seek or for my long term prospects for developing and demonstrating the skills and temperament it'll take to eventually become a partner in the firm. Thus what I'll say in response to that question is that I am aware of my strengths and weaknesses and on balance, I think I've shown that my strengths will make me a very strong member of your firm's team. I can say too that I'm aware of my weaknesses and that I avail myself of every opportunity to attenuate them and that I am very careful not to let them compromise my work or my relationships.
Now I don't know if that answer got me the offer, but at the new hire training I attended after accepting the firm's offer, I bumped into the partner to whom I gave that answer and he remarked that it was far and away the best solution he'd ever heard for the dilemma posed by the "what is your greatest weakness" question. He said that as far as he was concerned, it sealed the deal for him.
What I took away from that experience is that in my professional career as it had been in my academic career before, saying things that sharing my carefully considered thoughts and sharing those that aren't the pablum folks may often hear from others put into whatever the hell I may say was going to be one of the keys to my success. Quite frankly, when I formed my answer to the question, what was in my mind was my parent's admonishment to say nothing when I had nothing nice to say. I figured that axiom might as well apply to myself when asked to divulge a negative quality about myself. After all, if I can't be nice, or at least fair and neutral, to myself, then to whom will I be?