What is your greatest weakness?
One of the most difficult questions to answer in an interview is the question "So tell me what your greatest weakness is." Or sometimes it comes in the form "Tell me why I shouldn't hire you." It is really tricky, because you don't want to reveal any serious flaws, but at the same time, you don't want to just not answer. Or worse, give some cheesy answer like, "My greatest weakness is that I work too hard." No one will believe it, and even though you may think it's a clever response, that's what everyone else is doing, and you really end up looking kind of superficial. Now, if you look on the web, there are a lot of good answers to this question. Obviously, the "right" answer to this question depends on who you are, and who you're interviewing with. After spending hours looking around for a reason that I liked, I finally put together my own answer that combines elements of many of the answers I found on the web.
So this is what I say:
"That's a good question, and I'd like to ask you a similar one in a minute when I get done, if that's alright with you." Wait for a response. "The interesting thing about that question is that the right person for this position will be able to recognize their weaknesses and do something about it. So let me tell you about a couple of times where I've done this."
Then continue on and name a few times where you've realized that you were weak in a certain area and you've done something to fix it. It doesn't hurt to have it be one that you are currently working on. For example, I tell them that in the past, I was pretty shy and had a hard time communicating with people, like many other "nerds". Then I talk about how I've gone out of my way to get exposure and experience speaking in front of groups of people, and discussing other technical stuff, and that I'm fairly comfortable with it now.
After your response, if you want, ask them your similar question: "Tell my why I shouldn't want a position with this company." Or, "Tell me some of the complaints that employees who work here commonly have."
This response does a few different things that are important. First, you tell them that you do, in fact, have weaknesses. This is really a no-brainer. Everyone does. But when you say "My greatest weakness is that I work too hard," you're basically saying, "I don't have any problems," which everyone knows is a lie.
Second, this answer says that you are aware of the weaknesses you have. This is a big deal. Many people are blissfully unaware of the problems they have, which can cause a lot of complications for the team and company you work for.
Third, and maybe most importantly, you say that you fix the weaknesses you have, and give examples. This really shows them that you're the kind of person that they want to work for them, because you're able to do things to fix your problems, and hopefully the company's problems.
Fourth, you get a chance to see how they respond, when asked the same type of question. Make sure that the question isn't directed against the interviewer, but the company as a whole. If the interviewer asks you a question like this, it is a good opportunity to ask the same type of question about the company. Perhaps they will actually come up with a long list of complaints that people usually have, and you can then make a much better decision about whether you want to work there or not. More likely, they will follow your lead and tell you how they are resolving some of the problems that the company is having. Or maybe they'll just say "Everybody wants to work here. There are no complaints." Then you know that somebody's lying. Either way, you get a better idea of what the company is like. Remember, an interview is just as much for them to prove themselves to you as it is for you to prove themselves to you. Even if you don't have any other employment opportunities at the moment, in the interview, just tell youself that there are other opportunities out there for you. You don't have to be desperate for this job, and definitely don't act desperate.