Given how the answer seems straightforward, but is really dependant on your own perspective, I'd say clarify your perspective in the answer... something like:
I find that the more you know, the more you know what you need to learn. Generally I'd rate a "10" as ((insert how you define ultimate knowledge)), and "1" as ((your own words on very basic knowledge)). In my opinion, you need at least a ?3? to be trusted to code in a language reasonably successfully with peer reviews only for complex issues and high-stakes verification, and at an ?8? you can help most other people... in X language I rate myself an N and here's why..."
Yes, very wordy, but it gives them a great sense of how you see the world. I'm a big fan of being able to clarify where I expect to fit in the team, because team work is such a big part of me and my career. You may see it differently, and want to give a different example of how you rate skills in comparison to how you contribute on the job... but showing the employer that you have a reasonable grasp of how your skills fit with the job function is a real win here.
I don't think there's really a standard, since demonstrations of behavior are a factor of both domain knowledge and other skills... for example, a great teacher with a solid knowledge of the basics may be a much better teacher than a vast expert who can't string two explanatory sentences together. In general, my personal rating system is:
- I picked up a book and tried a simple project or two.
- I can do basic things, and use a few of the special features.
- I can use the language well enough to the do the right thing a decent amount of time. I can debug. I'm not always elegant, but at least I get the basic gist. NOTE: for some types of languages, this can be enough. In others that rely on complexity, this can be downright dangerous.
- I do better than that.
- Middle of the road - I've been working in the language enough to do the right thing most of the time. No one will read my code and think "WHAT IS THAT???".
- Better than that.
- Has a good working knowledge of some of the real nuances and special features of the language. Not only syntax but why is one approach better than another for a complex situation.
- Has become the go to guy. For hard debugging, for tricky/risky designs - this is the guy who can get you on the right track in a sentence or two cause he just gets it.
- Better than that.
- Can write the next book on it. If he's not blogging, lecturing or otherwise talking on the topic, it's because he doesn't like that part of being an expert.
Risks in Rating
Generally, be cautious with the extremes. If you have slathered this technology all over your resume, you better be around a 5 or better. If you have it on there at all, figure you need at least a 3.
If you rate yourself at a 8 or better, you're advocating a really high skill set. Absolutely great if you have the skills/knowledge to back it up - but prepare for a good solid quiz or deep dive with a fellow expert. Dangerous ground in the 9 & 10 range, because if you are wrong and you're really not an expert, you'll come off as dangerously overconfident.
I'm not saying that to warn away from numbers outside of the 3-7 range - if it fits, it fits. But be prepared to justify.