Looking at code, a good starting point would be talking through the difference between “Duck” in the following sample:
First Class Functions and this/bind
Jumping back into code. An interesting first discussion would be “How could you implement a switch statement without using ‘if’ statements or a ‘switch’ block?”
Getting a bit fancier, another task would be to implement a “filter” method similar to the one found in lodash/underscore. “filter” accepts an array of elements and a callback and returns the elements which return “true” when passed to the callback. So as an example:
Async and Promises
- At a high level, what is the difference between asynchronous and synchronous code?
- Typically, why would an implementation using Promises be more flexible than just a callback?
Jumping back into some code. A good first task would be to execute a set of asynchronous operations in series – Another interesting task would be to implement a tiny API using regular callbacks and then using a Promises library.
Anyway, just a couple of quick ideas. I’m still new to the recruiting and interviewing game so I’d love any feedback or comments!