Is this thread the discussion of jQuery library or I missed
something?
It isn't a discussion of JQuery, though that may happen. In principle
the question would be just unpleasant if its subject were
Prototype.js, Dojo, ExtJS, etc, etc.
Or is it about "The Most Challenging Interview Question"?
That is the subject, but it is not entirely clear whether the
intention is the discussion of the most challenging question that one
may ask a potential employee/colleague while interviewing them, or the
question one may find most challenging when being interviewed. My
initial interpretation favoured the latter, but closer inspection
suggests that the subject may be more ambiguous than I had first
assumed.
(just want to warn irrelevant discussion on 10 pages in the
100-th time repeating all the same about jQuery).
If you going to make interview and test the candidates for work,
you should do this depending on your current project(s) (if the
project is big and isn't being changed in a time -- year or two).
So you are interpreting this as the most challenging question to ask a
potential employee/colleague while interviewing them.
Of course there is a sense to test the basic (but deep) knowledge
of the technology as well.
It is unrealistic to expect deep technical knowledge from most
candidates for javascript related web development jobs. When I was
interviewed by my current employers the job I applied for was
advertised as requiring a "javascript expert" (realistically, as that
is exactly what was needed), and I was given a 'technical test' that
was so rudimentary (cantered around really basic cross-browser DOM
interaction questions) that I thought that anyone who did not get 100%
on that test had no business applying for a javascript/browser
scripting job in the first place, let alone presenting themselves as a
"javascript expert". It turned out that one of the (main) reasons that
I was offered the job was that I was the only candidate interviewed
who had achieved better than 50% on that, so called, technical test
(where the contrast between those scores and my 100% suggested that
finding more candidates to interview would not be a worthwhile
exercise). That is; the vast majority of people applying for jobs
starting "javascript expert" as a requirement are not even capable of
getting the basics right.
I wonder how this comes about. Is it really widespread misperception
of their own abilities on the parts of the applicants; an unfounded
overconfidence? Or could it be a general attitude of 'trying it on',
and these individuals do appreciate that they don't really qualify but
are willing to try to bluff their way through the interview. Then it
could be that this is a manifestation of a general contempt for the
employers; that when they say "javascript expert" they don't really
know what they need but had to write something.
Don't forget that questions are depended on the type of the
position. If this is position of some theoretical analytic
than of course there is a sense to ask some deep theoretical
question. If the position is mostly practical and you still
want to test some more-less deep knowledge, then can be
questions related on features of the technology.
Given what I wrote above, while gauging the range of technical
understanding possessed by a candidate for this second class of job
will be useful, I think it would also be valuable to attempt to find
out how they react to being presented with boundaries of their
knowledge. Will they recognise their mistakes when shown, will they
attempt to bluff, are they interested in the 'correct' answer; in
learning from it. That is, is this an individual who can/will use the
"mostly practical" position to learn enough to move towards the
"theoretical analytic" position?
The simplest but allowing to test whether the candidate
understands what he's taking about e.g.
"What does result alert(this)?"
without mentioning the context of the question -- let the
candidate will explain all this himself.
Or, more practical:
"Let there is an array. How to remove all elements with
value 3 from it?"
this question allows to check whether the candidate knows
that "length" is being modified every time when he will be
splicing/deleting items, and therefore direct for-loop
isn't fit.
I assume that "direct for-loop" means an incrementing index, as a for
loop with a decrementing index doesn't see the issue.
I can propose a very deep theoretical question which will fail the
candidate -- but what the sense if we need a good practical
programmer?
To find out how the candidate responds to having limitations in their
knowledge exposed.
So, all this depends.
Of course, question on philosophy (such as yours -- about
jQuery) can be also.
The question wasn't mine, rather I proposed one possible approach to
(not) answering it.
Richard.