Questions about weaknesses during interviews often make me a little confused, because it feels like I'm being asked to find my own mistakes and then tell them to the person who is assessing us. But if you think about it again, HRD doesn't actually always look for candidates who claim to be perfect. They want to see whether we know ourselves and make efforts to improve our shortcomings. So, instead of answering with a made-up weakness like "I'm too perfectionist", it's better to mention something that has been a challenge but can still be managed and doesn't destroy the main ability to carry out work. For example, I once lacked confidence when I had to speak in front of many people, so I started training myself by making small presentations more often and preparing material long before the time.
The important thing is not to stop at admitting that we have weaknesses. Also explain what has been done to overcome this and how we are progressing now. That way, the answer sounds more honest and shows a willingness to improve. Avoid mentioning weaknesses that are actually the main abilities of the position you are applying for, because that can actually make the interviewer doubt. In my opinion, the best answer is not the one that makes us look perfect, but the one that shows that we are mature enough to admit our shortcomings without making them an excuse to stop growing. Interviews are actually not an opportunity to prove that we have no weaknesses, but rather an opportunity to show how we deal with these weaknesses.