What we're discussing here are not test questions, but rather 3 articles recently encountered online, written by several foreign experts, that measure HTML, CSS, and JavaScript proficiency from developers' thoughts and approaches.
http://www.456bereastreet.com/archive/200605/levels_of_html_knowledge/
HTML Skill Levels
http://friendlybit.com/css/levels-of-css-knowledge/
CSS Skill Levels
http://dean.edwards.name/weblog/2006/06/levels/
JavaScript Skill Levels
Dean Edwards is familiar to me as a master in JavaScript. The first two are also experts in HTML and CSS.
Six Levels of HTML Proficiency
This is an interesting classification of HTML knowledge levels proposed by Emil Stenström (@456bereastreet) in 2006, where he divides HTML developers into six levels:
HTML Level 0 - Complete Novice
These people have never seen HTML except by accident, such as accidentally opening an HTML email in text mode. These people don't work in the web industry and never will, so they have no desire or reason to go beyond Level 0.
Typical quote:
Age-tee-em-what? (What is HTML?)
HTML Level 1 - WYSIWYG Editor Users Only
These people know enough about the web to understand that there's some computer programming magic happening behind the websites they use. When trying to publish anything on the Web, they feel helpless without some kind of WYSIWYG editor. It could be Photoshop, Dreamweaver, Frontpage, or the editor built into the CMS they were told to use.
Typical quote:
HTML? Those are the tags used to make text bold or italic.
HTML Level 2 - Basic Tag Knowledge
People at this level know enough about HTML to find their way around an HTML document as long as they stick to the few tags they recognize (at this level everything is called a tag). But they really don't want to touch HTML.
Typical quote:
The controls I drag and drop in my IDE work fine in Internet Explorer, so why should I look at the HTML?
HTML Level 3 - Traditional Web Developers
Many old-school web developers who have been in the business since the late 90s are at this level. Until the end of the last century, these people hand-coded HTML, so they're very familiar with nested tables and spacer GIFs. Since then, WYSIWYG editors like GoLive and Dreamweaver have improved to the point where Level 3 people see no reason to learn more HTML.
Typical quote:
Yeah, I've heard of those fancy new ul and h1 tags, but I do just fine with my reliable old table, img, and br tags.
HTML Level 4 - Starting to Use Doctypes
This is the level where people start intentionally using doctypes. The first step is almost always a transitional doctype, usually XHTML 1.0 Transitional. XHTML is newer than HTML, so it must be better, right?
Typical quote:
How can I create a data table with divs and spans instead of tables?
HTML Level 5 - Standards-Aware Professionals
Most standards-aware web professionals can be found here. These people tend to think about structure and semantics first, and presentation second. Strict doctypes are typically used at this level to encourage the separation of semantic and presentational markup.
Typical quote:
Hmm, I wonder which type of list is the most semantic way to mark up this part of my document.
HTML Level 6 - Industry Thinkers
These people are the thinkers of the industry. They spend a lot of time contemplating what will be useful in the future rather than right now. The results of their work may not be of practical use to the average web professional for at least five years in the future.
Typical quote:
I think the HTML 4.01 and XHTML 2 specs are too semantically limited, so I'm working on a new markup language.
Six Levels of CSS Proficiency
This is Emil Stenström's classification of CSS knowledge levels in another article:
Level 0 - Complete Novice
"CSS? Isn't that a multiplayer game?"
These people may have never made a webpage. If they did, it was pure HTML, and they hardly knew what they were doing.
Level 1 - Basic Usage Only
"Yeah, I use it sometimes to remove underlines from links"
Unlike Level 0, people at this level do know basic HTML. They probably learned it at least five years ago and made a few simple sites. They rarely use CSS, only when they need to do simple things that can't be done with HTML alone, such as removing underlines and setting line height.
Level 2 - Insist on Table Layouts
"No, I don't like divs; tables are easier to use"
These people don't just play with HTML like Level 1 people, but continue their exploration. They mastered HTML tables and started using them to make things look the way they want. After reaching a certain level of HTML mastery, they stopped looking for new ways of working. They heard others use "divs to design their pages" and even spent some time trying to learn the secrets.
Level 3 - Know But Have Obstacles
"Yes, I've heard it's good, but I can't use it because..."
Although people in this group still don't use CSS for positioning, they do know some CSS and may have heard some good things. They try to make simple layouts, and some even enjoy using CSS. But the problem here is something is stopping them.
Level 4 - Using Div Layouts
"CSS? Oh! Yes, I use divs for all my layouts"
Level 4 people produce rather poor websites. However, since they're usually open to new ideas, the damage is reduced. After all, they recently managed to learn and start using CSS.
Level 5 - Understanding and Applying Standards
"I use CSS for design because it's better than tables because..."
After a lot of reading, talking to people, and thinking, most people reach Level 5. Here, you can both use CSS and know why it's better. Some people at this level may have minor issues with the websites they produce, but none are serious.
Level 6 - Expert Level
"What version of CSS? Yes, I know. Have you read my article about..."
For some people, just knowing how and why isn't enough. These people strive to improve how CSS is used and publish excellent articles about new usage methods. They constantly return to the basic needs that CSS satisfies and attack problems from new angles, often producing even more excellent articles.
JavaScript Skill Assessment
Although Dean Edwards' specific article on JavaScript skill levels couldn't be found, as a master in JavaScript, his views undoubtedly have high reference value. Combining the grading approach from the previous two articles, we can roughly divide JavaScript skills into:
Level 0-1 - Complete Novice or Basic Concept Knowledge Only
Never encountered JavaScript or only know it as a kind of "dynamic effect" on web pages.
Level 2-3 - Can Use Basic Interactive Effects
Know some basic JavaScript usage and can implement simple interactive effects such as form validation and simple animations.
Level 4-5 - Proficient Usage with Understanding of Principles
Can skillfully use JavaScript to create complex interactive effects, understand core concepts like event handling and DOM manipulation, and write maintainable code.
Level 6 - Expert Developers
Have deep understanding of JavaScript language features, can develop complex frameworks and libraries, and have in-depth research and contributions to the language itself.
Conclusion
As these articles point out, improving technical skills is not just about mastering more syntax and features, but more importantly, understanding the essence of technology and having the right approach to using it. No matter what level you're at, the key is to maintain a learning attitude and continuously improve your technical skills.