Testing Front-End Developers

2 points by zaporozhets ↗ HN
Today i was given the task of writing up a test for a couple of new developers applying for a front-end development role. Usually ( most of the times i've been tested ) it has been a boring 'cut up this PSD and include sprinkles some $ on it. However I feel like this is in no way a useful representation of the a front-end developer's skillset and they don't really take away anything from it either. ( if anything it may deter them from the work ). So i wrote up a purely javascript/basic DOM manipulation test that goes as follows:

---------------------

Make a blank html page with a single text input and an empty list.

While you type into this input, every time a user writes an operation, add it to an object called 'OperationHistory' where the operation is the Property Name and the result of the operation is the property. Then clear the input. If there is a syntax error or maths error; the property must be 'error'.

*operation = any basic arithmetic followed by '#end#'. Limit character input to only accept integers and operators.

Every 1000 milliseconds, run a function that will determine the highest result in 'OperationHistory' and append this outcome and the operation itself to the list in the following format:

"the following maths problem :" + operation + " = " + outcome + " yielded the highest result so far."

------------------

...

I guess it's not a great test but i'm purely interested in the javascript ability of the candidates and i couldn't find anything on google quickly that couldn't be solved quickly by looking it up or SO-ing the problem.

Which brings me to my main issue;

Where is a resource of cool nonsense tests that I could give to a budding developer and adequately measure their 'real-world' front-end ability?

OR

Are there any great resources that help out with this sort of thing?

2 comments

[ 4.3 ms ] story [ 14.7 ms ] thread
Hmm. I've always wondered if giving a candidate a computer (with anything the candidate would need) and telling them to make something would work. It'd give the interviewer a good idea of their thinking process and what they feel their strengths are.
As a front-end developer who has been in the game for about 7 years now and completely self-taught, I think you're not asking straightforward questions. Sometimes it's the simple stuff that can paint an accurate picture. These 10 questions should weed out those who aren't proficient in Javascript.

Here is what I would ask:

1. How do you query an element with the ID of "amazingelement" in conventional Javascript without the use of any framework?

2. Write a simple loop that increments a counter from 1 to 50 (bonus points if you can show 2 different ways of doing this), you need to show a conventional pure Javascript implementation of this and any other examples can be framework dependent.

3. How do you add an element to an array in pure Javascript?

4. How would you round 6.42 in pure Javascript?

5. What's the difference between ECMAScript and JavaScript?

6. What is JSON?

7. What's the name of that guy who wrote jQuery?

8. Show me an example of Javascript that replaces all occurrences of the word "test" to "quiz" in a string.

9. What does an anonymous function in Javascript look like? (bonus points for accounting for jQuery as the framework in use)

10. How can you accurately test if a variable is defined in Javascript?