"Where do you place yourself on a scale in [insert vague subject] from 1-10? 1 is nothing at all and 10 is knowing everything."
Simply put, I think the answer is always 7-9. You may go with a 5-6 if the subject is not directly related to the position, like piano for an engineering position (unless the specific engineering position deals with pianos).
Explanation of My Logic
First of all, they are not going to accept anyone with a score below 7. So why not try 7 at the minimum? You were not going to get the job anyways if you answer less. Worst case, you get called out on your knowledge on the subject but at least you got the interview. At which point, you just hope your other strong points will compensate for the "lie". Even then, the "lie" is insignificant because the scale is so subjective anyways that you can talk your way out of it.
The score cannot be 10 because you cannot possibly know everything. You may still get the interview, but it is way to easy for someone to question your ability when you are unable to answer certain basic questions in a few that you do not know. In this case, it may be worth not having the interview because it will be a waste of your time. You will have a much better chance with a 9 than a 10 even if you think you know everything. Because if you really were a 10, you will not need to be going through an interview process especially one that is going to ask for your expertise on a scale.
So at this point, the answer cannot be 1-6 or 10. This leaves 3 numbers: 7, 8, and 9. If you are an amateur go with 7. If you are experienced, go with 8. If you think you are an expert, go with 9.
Amateur is someone that can look up (i.e. Google) the question and find an answer. Experienced is someone that can do some of the work on your own (i.e. without supervision or review board). Expert is someone that other people will come to you for recommendation, design, or proof-of-concept.
My Perception on Reality
Like almost all interview questions, the answer is what the recruiter wants to hear not your real answer. If you were a real all-star, you wouldn't need to go through the regular grueling interviews that most of us common folks have to go through.
For the few that struggle with projecting an untruth or using my (insane) logic above, I will sadly tell you that my experience has very unkind to me. I have tried to actually scale myself to my knowledge of the subject. For example, I say that I am an average programmer so that I say that is a 5. I can easily say that I have not received any follow up calls when I give that answer.
I have spoken with a few friends of mine who now have been in the field for about as long as I have. They know my level of experience. Trusting their words, my experience is actually much higher than what I rank myself. Even then, they say that it is subjective to the people that they had to interview. They tell me that they get plenty of people who rank themselves 8-9 who barely know any programming.
Although they are easy to filter out in the interview, the automated systems are much more lenient. Unfortunately, this also means that people like me will be filtered out even though my experience is clearly higher than others. Basically, this is a total win-win for exaggerating your skill sets because not only do you at least get an interview, you also removed some of your competition.
Because of this, I am extremely tired of seeing "requires excellent communication skills, writing and oral" because the level of 'excellence' is no where what I think is actually excellent. To me, excellent means something that you excel at and should make fewer errors than most people. I do not consider myself on the excellence caliber, yet I am oftentimes correcting other people's emails, messages, logs, etc.
I do not even mean simple, human error type errors. I mean that they consistently spell the same common words incorrectly. Words that are commonly spelled correctly like beautiful or introduction. It does bother mean when someone uses manger instead of manager but I do not think it is acceptable to misuse than and then. Not using the serial comma bothers me, but I will reluctantly accept it.
I have even had coworkers (including managers) have me write out the communications just because I word things better. Yet when we post the job description, they still use that they require excellent communication skills.
Can you speak English (with or without an accent)? Do you use spell-check? Do you know basic grammar (there was a director born and bred in the US midwest that spelled grammar as grammer)? If you answer yes, then the answer is that you have excellent communication skills.
We have hired people where I cannot even understand the person because of his accent. We have hired people who cannot spell. We have hired people who have very poor grammar. So, do not lose an opportunity just because you have lower self-esteem than other people.
Hopefully someday recruiters will learn the fruitlessness of these types of questions to candidates. The scales are useful but it should be derived from questions that are not relative to the candidates' perception of the industry.
Relative/Subjective Scale
Assuming that I am an average programmer, I will not be researching all the programming languages, all the designs, all the architectures, etc. There is no way that I would know what a 10 would even mean. Obviously, the scale could not be on the subject itself because everything is basically infinite.
A better idea would be that it is relative to other people in the industry. I think of myself as average because I find an equal number of people who can program better as those who cannot program better. Truthfully even as I rethink that concept, there are so many people out there that know things that I do not know... basically, the more I think the smaller my value on the scale becomes.
Even assuming that I am a pioneer in C#, there are still so many people who will know Java, C++, VB, and so many more programming languages better than I can. How can I possibly put myself on the scale?
Sigh... I just have to state that I hate these types of questions, not because of the reasons I stated above because logic is comforting to me. But because, I still try to figure out if there are better logical answers even though I know there are none thus just wasting my energy. I hope writing this will help.