This question is asked to look for any gaps in your ability or experience. Some people try to answer this question in a smart way by projecting a strong point as weakness. Like- I am a perfectionist. Due to this I spend more time on a task.
In my view most of the interviewers know this technique. So we should be honest in telling our weakness. Always tell a weakness followed by action that you are taking to overcome it. It gives very bad impression if you tell a weakness without an action plan.
But never tell a weakness that can raise the red flag for not hiring you. If you are applying for Java job, you cannot be weak in Java skills.
Sample answer is:
My greatest weakness is that I cannot say no to people. This can lead to overwork. I am working on it by telling the constraints that can delay a work.
I feel that my people skills can be stronger. Though I am a good team player, I sometimes make mistake of giving strong feedback to a new team member. I am working on it by first understanding a new team member and then giving feedback.
I am not very good in estimation of work. I am working on maintaining a log to record the time taken for a task. So that I can correctly estimate work.
Sometimes I feel shy speaking in front of large group of people. I am planning to take presentation skills training to overcome this weakness.
Some other weaknesses are:
- Email Communication
- Lack of humor
- Not good at delegating tasks
- Shy at giving constructive criticism