When am I ready to interview?

I've seen the question posed in many fora: how does one know if they're ready for Hack Reactor? Hack Reactor says it's a 20% to 120% school, but how do I know if I'm at 20%? I'm going to go out on a limb and offer a quantitative answer to this question. This is a little harder that what you should expect at a general HR interview. So, You're probably at about 24% if you crack the following:

Complete the following merge function such that is behaves as described in the example below. Merge should take two arrays of numbers of identical length and a callback function.

var merge = function(array1, array2, callback){  
  //your code here.
}

var x = merge([1, 2, 3, 4], [5, 6, 7, 8], function(a, b){  
  return a + b;
});

//x should now equal [6, 8, 10, 12].

Now, use your merge function to complete the euclid function defined below. Euclid should take two arrays, each of which has an equal number of numerical elements, and return the euclidean distance between them. For a quick refresher on what Euclidean distance is, check here

var euclid = function(coords1, coords2){  
  //Your code here.
  //You should not use any loops and should
  //instead use your original merge function.
}

var x = euclid([1.2, 3.67], [2.0, 4.4]);

//x should now equal approximately 1.08.

I like this question because it's not too tough algorithmically, but it demands a fairly solid understanding of Javascript fundamentals to get right. That said, if you totally cracked that question without thinking, you're definitely ready to interview, so go for it!

If you struggled a bit, or still haven't got it, fear not, there are millions of resources out there to help! Eloquent Javascript (especially this chapter) is an excellent place to go to, to really polish up your understanding of JS.

Note that either way, you shouldn't necessarily expect your interview to be particularly easy or hard. The whole idea of a technical interview at Hack Reactor is that your interviewer will suss out roughly where you are in terms of your technical competence, and try to push you a little outside your comfort zone to see how you deal with it. I promise you that no matter how it goes, if you've done your homework, it'll be fun.

Good luck!

*24% is a completely arbitrary number that I just made up.