|
First, I never said that people shouldn't ask algorithmic problems. I said they shouldn't ask Leetcode-style questions. To me, that stood for a whole class of problems where you have to know the area in order to be able to solve the problem. When you have people talking about studying for interviews, I'm arguing that those are bad interviews. Background: I've been a programmer for 33 years. I have never (directly) used a tree of any kind. (I've used STL and Java maps, which I think are trees under the hood.) Asking me to do something with a tree in an interview question is therefore probably a sub-optimal way of determining whether I'm a good fit. Yes, I know what a tree is. No, I don't know it like the back of my hand, and I don't know the algorithms in detail. Yes, I could probably figure it out during an interview. But expecting me to know that background when I come into an interview, when I have never used it so far in a pretty long career, and so I'm probably not going to actually use it at the new place either... that's asking me to memorize a bunch of stuff that isn't actually going to be useful on the job. That's a bogus interview approach. Algorithmic questions should be something that the interviewee hasn't memorized the answer to, but also that they don't need to have memorized a bunch of background or know the "trick" to be able to answer. Now, I'm in kind of a different world. I've worked mostly in embedded systems. If you're interviewing for a job where they use a lot of trees in their data structures, you probably ought to know them. If you are interviewing at one of the big boys (Google, Facebook, et al), where an improvement in the structure you use to represent the data can mean that you need several thousand fewer machines, they are going to really care about your grasp of the nuances of data structures. But, despite Google's size, most jobs are not at Google, or at that type of place. If you're going to classify only Google, Facebook, Amazon, and their ilk as "paying reasonably well", then I do not agree with your definition, but I will agree that you'd better be able to pass Leetcode-type questions in their interviews. |