What are the most important JavaScript concepts to know for a job interview?

I had to interview developers for a bunch of Javascript positions. So here is the stuff I always check for in order to avoid to get drowned in a wall of buzzwords:

The concept of prototypes (and what differs from more traditional inheritance approaches) and alternatives to inheritance.
Inheritance and the prototype chain
Why: I want to know that you will not use Javascript like Java or a traditional OOP lang.

Closures)
Closure (computer programming) | WikiWand
Why: So that you not get lost in callback hell

Loose Coupling in Javascript and Events
Custom events in JavaScript
Why: I want to be sure you don't dipp your code in useless if and switch statements + adding a lot of coupled code, just because you don't know about events.

Duck Typing (for people coming from strong typed languages)
Duck Typing in Javascript
Why: Another very basic feature that comes with these kind of languages.

Sync vs. Async and the challenges that come with it. Be able to explain the diagram and the first answer in the SO thread.
When is JavaScript synchronous?
Why: It helps making decision about the style of implementation to use if you know when there is really something "async".

The DOM and how it works. Especially: Event phases aka Capturing, Bubbling.
Document Object Model (DOM) Specifications
Why: I do not want you to know any special implementations but the general concepts as written down in the spec.

Some tools I want you to know in 2016

Server

Node, NPM, NVM - managing packages and being able to maintain your own node.js setup
Create and install a own NPM module via using github and npm
One server side framework and a bunch of tools around it. Basically you need to be able to do web with http 1.1
Grunt/Gulp/npm as a build tool. Choose
Linters, Static code checkers, build and deploy chains.
A TDD tool - Mocha
How to use es6 on the server
Client

A package manager for the browser
A frontend framework relatively complete: Angular, Polymer, React … what ever floats your boat.
CSS3 (and Less or Sass) basics
browserify or another tool that helps you build the browser app

Comments

Popular posts from this blog

R2-D2 Gets Real: 'Star Wars' Droids Already Exist

Guide For Getting Free Stuff

Really Micro Machines: Molecular Cars Prep for First-Ever Race