We faced here with the bulk of the resume for the JS programmer's job in our new company. It is clear that to process a huge number of applications by two people is very difficult. A reasonable way out is a test, according to the results of which we invite some of the candidates for an interview. I wrote a test this weekend, the result under the cut.
Attention, a question for JS programmers, are there any things that are not reflected in this test?
Cross-browser compatibility:
Tell us which cross-server query methods you know and use.
XSS attacks: how do they work, what do you do to protect against them?
HTTP protocol:
What methods do you use and how?
How are files transferred from client to server and from server to client?
keep-alive and how it is used to optimize the work of scripts?
Caching: what are the headers, how are they used, what methods do you use to protect against caching on proxy servers?
ScriptHost: what differences of browser scripting engines do you know (without the DOM model)?
OOP:
What is OOP? Basic principles.
How does JS relate to the OO paradigm? Explain your answer.
Design Patterns:
What are design patterns and what are they for?
MVC in JS - do you use this template? If you apply, then how (sample code)? If not, then why?
Singleton in js. What it is? Why might he need JS?
Speed:
How would you put 20 lines in JS?
Tell us about the impact of different layouts on page load speed.
What else affects page loading speed?
How do you optimize page loading speed? Favorite techniques to improve performance.
How do the differences in working with the DOM browser model affect the download speed?
Browsers
What browsers did you work with?
Tell us about the differences between them.
Layout:
What is a semantic layout and why is it needed?
What are microformats?
How would you make up the horizontal menu of the site? Sample code. Why exactly?