What are some good short development tasks (2-3 hrs) for entry-mid level JavaScript developer interview?
-
I am trying to put up a job posting for entry level javascript developers and I want to attach a simple sample development task for them to submit along with the resume (as a pre-screening). What are some good small javascript development tasks that I can ask people to do that take 1-2 hours max and demonstrate entry-mid level skillset. I was thinking of a simple magic 8 ball like program, as well as adding bonus objectives of using canvas to draw out the ball + result.
-
Answer:
I find simple games are often a good task, e.g., tic-tac-toe, Battleship, Connect Four, checkers, etc. They extend themselves naturally to the browser. It's hard to copy-and-paste because the code is complex enough that certain idioms are easy to fingerprint. There are enough moving parts that you get a sense of higher-level, architectural thinking. It's also to see how detail-oriented they are. Is indentation consistent? Spelling? Variable and function naming? Rather than a single task, I'd structure it like so: (10-20 minutes) Ask for a few quick code examples, e.g., "write me a method that does X", "write me a constructor for X", etc. (15-30 minutes) Ask for the reverse, "what does this code do?", "how would you refactor this code?", etc. (remainder) series of larger tasks that build on one another that involve multiple objects interacting with one another If your company is less focused on JavaScript per se and more focused on JavaScript in a UX context, I might ask them to implement some behavior from jQuery UI using nothing but plain JavaScript or jQuery Core. More important than what the tasks are, IMO, is the framework by which you decide what constitutes a good interview task. In a screening situation your main goal is to filter out folks who don't pass the minimum bar so you don't waste time in person. To that end, I'd start by isolating the individual muscles and identifying the "red flags." For example, I'd be alarmed if someone claiming to be a JavaScript engineer struggled with any of the following: Common object-creation patterns in JavaScript (literals, constructors, factories, etc.) Common object-oriented patterns in JavaScript (classical inheritance, extending existing objects, namespacing, etc.) JavaScript's scoping rules, in particular as they apply to information hiding (public, private, and privileged attributes, variables, methods, etc.) Common JavaScript idioms, e.g., semicolons -- yes or no?, (function($) { ... })(namespace);, etc. The JavaScript toolchain, debugging, logging, etc. If someone is wasting time with these once you're in person you know you've made a mistake in the screening step. You also want to hit the code from multiple angles. For example, don't just ask them to write code, ask them to explain or refactor some existing code. Write some specs in or whatever and ask them to write the code necessary to make the specs pass. Here are some attributes I think are necessary to exercise all these muscles. The challenge should... Have more than one type of object, ideally in 1-to-many or many-to-many relationships with each other Stress diligence when it comes to information hiding Ask them to outline multiple approaches, but settle on one and justify it This answer is long enough, but I hope it was helpful!
Jesse Farmer at Quora Visit the source
Other answers
I've put together a project called https://github.com/rmurphey/js-assessment that you may find useful for this task. You can choose the tests you ask them to complete, or ask them to get as far as they can, or however you want to approach it.
Rebecca Murphey
Provide a set of dummy data in JSON format, and ask the candidate to create a grid component with the following client side functionalities: - Bi-directional sorting. - Typeahead search. Bonus points: - Pure JavaScript implementation (no jQuery) This should take around 2-3 hours.
Griffith Chen
Ask him to create Conway's Game of Life. http://en.m.wikipedia.org/wiki/Conway's_Game_of_Life It handles everything from animation with canvas to basic javascript. Only a person with extensive knowledge of javascript and has good thought patterns will be able to complete this in 3 hours
Gerrit van Huyssteen
Well, here's the thing: what are you trying to test them for? Do you want to know if they know jQuery? Knockout? D3? Design patterns? AJAX? You have to narrow down exactly what it is you're testing for, then you can work on determining the test. I like Jesse's idea of breaking the test down: Start simple (write a simple method that does X, then play "can you read someone else's code", then scale the testing up step-by-step. The test itself doesn't have to be based on what you actually do, but it should test within the environment the job will require, whether LAMP stack, front-end libraries, SVN/git functionality, etc. A financial tech company, for example, whose team uses Backbone could have the tester create a Collection of cars Models, then track and manipulate individual cars in a simulated race. Not necessarily graphically, unless that's part of the end-spec, but simply to see if the understanding of the framework manipulation is there. Just by way of example.
Toby Parent
Related Q & A:
- What's a good amp for my 2 12 inch Kicker comps?Best solution by nz.answers.yahoo.com
- What is a good entry-level job?Best solution by Yahoo! Answers
- What are some good cheats for sims 2 pc?Best solution by Yahoo! Answers
- What are some good feats for a DnD 3.5 rogue?Best solution by Yahoo! Answers
- What is a good mid level Mountain Bike?Best solution by Yahoo! Answers
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.