I don’t remember much about the initial coding interview, but I remember the problem being fair and straightforward. I was passed onto the on-site interviews.
For the most part, the on-site focused on technical C++ questions, as opposed to behavioral questions or questions about a candidate’s resume. This is fine, even desirable, but something about the whole thing seemed off. Everyone I interviewed at Latitude AI was pleasant to talk to and seemed to enjoy where they worked. But there was an unusual emphasis placed on knowing the implementation details of the C++ standard library. For one interview, the coding question was to reimplement part of an STL container.
Post-interview I thought of an analogy that describes this situation. Knowing certain details about how an internal combustion engine works has little to no effect on one’s ability to drive a car. For example, knowing how variable valve timing works doesn’t make one a better driver.
Perhaps the moment that best highlights this above sentiment was when I was asked to name the algorithm used to implement std::sort. I said quicksort. The interviewer said heapsort. Looking it up after, neither is correct. The answer is introsort, a hybrid algorithm that combines quicksort, heapsort, and insertion sort. Let me explain the problem with this… Both the interviewer and I can function fine as C++ programmers. Yet, neither of us knows the answer to this question. This suggests that knowing the answer to this question is not important for this role. The problem with a technical interview process centered around what amounts to C++ trivia isn’t in what is asked, but in what is not… everything else.
Again, everyone at LatitudeAI was pleasant to talk to, and seemed to enjoy where they worked. The interview process just seemed too narrow in scope.