Someone asking "what's your greatest weakness" style questions isn't typically looking for specifics - they're looking for reasons to disqualify you.
There's also little value to the answer. You either learn that someone is a delusional liar who has no weaknesses, or, you get people describing how they "care too much" or "tend to be a perfectionist," - both of which are basically worthless answers as well.
If I were to ask that question, I'd consider it valuable to hear about how the candidate realized they had a weakness. What was its impact? Did they do anything to try to fix it?
If you're asked "what's your greatest weakness," I don't think you can go wrong by reframing the question in your mind to "describe a problem/event that was significant in your career growth, either because of the hard truth it taught you, or because of the consequences it made you face." It may not be a strict answer to the question, but it serves as a way of telling the interviewer that you get it.
For example, I might ask a software engineer to describe one of their most challenging bugs - I'd want them to tell me what made it challenging. How'd they discover the bug? When did they realize they knew what was wrong? Why'd it make it to production in the first place? What did they learn when solving it?
I think if you can tell a good story that answers those questions, your "weaknesses" can become the reasons why you get hired.