Hacker News new | ask | show | jobs
by monsieurbanana 2719 days ago
What's the question?

I like to ask them to explain either the concept of closures in javascript, or how `this` works.

I don't even need them to know the word closure, knowing why you can't reference a variable written inside another function, the difference between var and let, or what does bind/apply do.

1 comments

What are the values that equate to false in an if statement?

false, null, undefined, NaN, "" (empty string), 0

Bonus: An object with a toString() method that returns one of the above won't evaluate directly, but will roughly equal (foo == false).

sometimes I'll ask for a function that returns input as a whole number or null, if it's a string, attempt to parse base 10, return null if invalid, return null if the input isn't already a number or a string. 0 is usually what will trip people up.

Doesn't an empty array also equal false?
Isn't this basically atoi? Which has a lot of edge cases.
pretty much... the main one I tend to ask is the 6 falsy values, clarified as needed. The responses tend to be a good overall indicator of how well the person knows JS.
How does it indicate how well someone knows JS? That's the type of question you can easily Google.

Not to mention in general Javascript does some pretty not intuitive things with objects: https://archive.org/details/wat_destroyallsoftware

Well, if someone googles it in a live interview, they're pretty much out. It's not the ONLY question I ask, but will guide where the rest of questions come from.

It's (knowledge of falsy values) been a very representative indicator of how well they know the language itself. It's not an indicator of understanding software as a whole, or a given UI framework or library.