This is one of the most asked questions in the interview.
Now the point is how you will answer it? will you tell the recruiter that you are not good at a certain subject? or you are lazy?
Please don't say that you don't know or you don't have any weaknesses.
Now the point it what should a candidate say when this question is asked? First, think and create a proper sentence, you should mention something that is not a weakness or a weakness that can be rectified.
For example: If you are an engineer and recruiter asks you "what are your weaknesses?" candidate can answer like this.
Answer: Due to a busy schedule, I don't get enough time to read about all the new technologies. so I try to get some knowledge in the evening after finishing my work.
This is now a weakness actually but it can be a good answer as the problem can be rectified easily.
Prepare answers like this in advance and practice in front of a mirror or in a mock interview.