I do a lot of interviewing and I almost always ask people to rate themselves on a scale of 1-10 in their primary language with a note that I recognize I don't expect our scales to match.
After they answer I ask what they learned last to raise their knowledge along their scale, what they're learning now to try to grow further (if anything, sometimes you're just executing not learning,) and if the candidate is applying for Senior Software Engineer or higher what "gotchas" they typically look for in a junior coworker/employee that would be rated lower on their scale (during a code review, for example.)
I usually get really thoughtful answers and gather a lot of insight about the candidates mastery of the language, mentoring and overall thought process.
After they answer I ask what they learned last to raise their knowledge along their scale, what they're learning now to try to grow further (if anything, sometimes you're just executing not learning,) and if the candidate is applying for Senior Software Engineer or higher what "gotchas" they typically look for in a junior coworker/employee that would be rated lower on their scale (during a code review, for example.)
I usually get really thoughtful answers and gather a lot of insight about the candidates mastery of the language, mentoring and overall thought process.