I usually said a weakness that is actually an advantage in moral terms or job you're choosing etc. for example : "people tell me that my biggest weakness is that if I start doing a work I just can't stop and that's bad for my health, and that I should think more about myself, but work is most important to me" or "I want everything done perfectly without any flaws" or "I care more about other people more than about myself". Of course don't say literally what I wrote above as you would sound suspiciously. Say something similar but in more polite, modest way. I just gave an example. Turn your weakness into advantage. Saying stuff like that your boss won't feel endangered as you'll sound kinda humble.
BUT if you're trying to get a higher position you have to sound a little cocky, self-centered, respectful but with a dose of leadership, intelligence, responsibility and caring about other people. You can be a bit of a know-it-all kind of guy but don't cross the line with your arrogance.
You just have to know and feel how to act at the moment because you can't say or do too much. You have to create a vision of a great, respected man - a born leader but also a loyal, helpful guy. It's hard to explain - in short you have to be a good actor and possess big empathy skills to balance those features. And don't be mean!! - it's most important, whatever your future job will be.