One of the most feared activities on this planet is the tech interview. Not so much the first, get to know you interview but, the third interview. The one where the interviewer asks a question about recursion... or ML. No, I am not currently looking for a new job, I have just had the pleasure of derailing a technical interview recently. In addition, this topic always seams to be top of mind. Plus a constant topic talked about in any software engineering circle.
The hard part of it all is pinpointing what makes these interviews so terrifying. Perhaps it is the need to sit there and let the interviewer barate the interviewee with questions that they feel are relavant. We all know these, they may include Towers of Hanoi, cycle detection, something about man hole covers, and my all time favorite: some overweight campers need to get over a rope bridge in 17 minutes. The answer to the above is 12. The campers, in their packing extravaganze happen to have brought a rope. This allows them to pull the required flashlight back across the bridge without having to walk it back.
And... why do these suck? It's simple: we don't use Haskell or ML in the real world (not many of us). We also, as web programmers(apparently not even kernel programmers) rarely use recursion. And if we did, Babel or some other transpiler would deconstruct it for us(t's faster that way). Yet, it is a constant that we will be inundated with these questions during the interview process.
Frankly the above blow but, here are a few that can turn the tide of any interview.
These questions are aimed at getting the interviewer away from tooting about their ML knowledge. They require a good bit of company research by the interviewee but, this should be a given. Knowing the people who are grilling you on the other end of Skype is the first step in winning. And winning is the only outcome that makes sense when being subjugated by someone else's ML knowledge.