Most interview questions are useless, perhaps meant to gauge whether you can bullshit your way out of all kinds of situation more than anything else - modern business reality is a virtual breakfast of bullshitting champions. Organizations have systems in place that are guaranteed to make good people turn bad, so no point being an idealist about it.
1. Answer bullshit with bullshit - Give a cliched answer: E.g. "I'm a perfectionist", "I'm a workaholic, I never go home on time" or "I care too much" - and being as vague about it as possible - don't go into specifics about such as bullshit question.
2. Ask about the work conditions, before replying: If you will be required to work in a team, don't say "I am not a team player" or "I am shy."
3. Think about situation: How desperately do you want the job? Accordingly, caliberate your bullshit.
From a related article on bad interview questions:
To ask what an individual's greatest weakness is during an interview to decide whether they should join an organization is nonsense.
The candidate will have many strengths and weaknesses, but the only ones that matter are the ones that become relevant once he is embedded as an employee in his new team.