Skip to content

Instantly share code, notes, and snippets.

@zmackie
Created November 13, 2015 17:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zmackie/a573846991af375b9614 to your computer and use it in GitHub Desktop.
Save zmackie/a573846991af375b9614 to your computer and use it in GitHub Desktop.
I've been interviewing for JS positions over the past few months and have noticed the same questions pop up in the technical parts of the interview. There have been similar posts to this but I really received a benefit from them and thought I'd echo my experience. Two of these "interviews" were online assessments, two were in person, and two were over Skype. The positions I've applied for are mainly at start ups and not for any specified Jr / Mid / Sr level.
I know that a lot of people disagree with this type of interview, like them or not, in my experience they've been a reality. When you're self-taught and haven't had your first job, I guess you have to prove yourself somehow. An assessment of Github / portfolio links would be a more ideal measure of progress but doesn't seem to count for everything.
The good news: These were the hardest questions. More good news - everyone was completely chill in the times when I got stuck (of these questions, I got flustered on both the event loop + Pascal's triangle), more than once someone else at the table admitted they didn't know the answer, and this led to a relaxed discussion environment. The bad news - it's been really difficult to get any kind of feedback afterwards...radio silence from three of the companies. It really knocks your confidence and makes you feel like your time wasn't respected. The mental gymnastics starts..."did I actually completely bomb that interview"..."did they just not like me" etc. If you're an employer, please make sure to get back to the candidates you've interviewed. Even an automated reply is better than nothing!
   Algorithmic
Define a function that returns n lines of Pascal’s Triangle. (this question was the entire interview)
Define a function that takes an array of strings, and returns the most commonly occurring string that array (this question came with an execution time limit)
Use recursion to log a fibonacci sequence of n length.
Definitional
Explain the use cases for, and differences between — bind, apply and call.
Explain event delegation and why it is useful.
What is the event loop?
How does hoisting work in JavaScript?
Discussion
Walk us through the process of creation of an application or website you've built.
Which new JavaScript / browser features are you most excited about and why?
What are the differences between functional and imperative programming styles, and explain your preference, if any.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment