3 ms·
My two cents: (not hiring for a well known west coast company, but still) This is how I rank candidates. Let's say for a common question such as lowest common
by eranation 11y ago
My two cents: (not hiring for a well known west coast company, but still)
This is how I rank candidates. Let's say for a common question such as lowest common ancestor in a BST.
1. if they know the solution already and tell me they know it - major points, most interview prep books include it and they came prepared and they are also honest. I let them implement it still (and add some twist of my own)
2. If they don't know the solution and still figure it out, might even score higher, but people can "act" that they know it and some interviewed will fall for it. I want to believe I catch bad actors but can't say I can catch good ones. In any case if this is a question that appears in an interview prep book, I would expect them to know it (most people don't)
3. If they don't manage to implement it correctly, this is the biggest turn off. You CAN write correct whiteboard code if you WANT. I'm not with a stopwatch. If you don't then I consider it as sloppiness (more than "you can't code")
4. How you talk and behave - most important. If you can't figure it out yourself but ask me questions, if you try a simpler problem first, if you talk and explain what you are doing, if you run your ideas with me asking what I think, if you are determined to figure it out, ask for hints and immediately understand them and get this "aha" moment of how didn't I think of it rather than oh sucks I didn't think of it. If you are excited about the solution more than the fact I gave you hints for it, then I'd like to work with you. Asking questions is so important. Also not arguing with the interviewer and being a nice person really helps. I prefer shyness to overconfidence. Arrogance is an immediate no. Asking questions leads many times to a yes. Even if you didn't ace.
Bottom line with the existence of books courses and forums that list so many interview questions (some are on algorithms that took several years to develop) so knowing the solution is likely to be known from a book means you are not tested on your academic algorithmic development skills, you are tested on implementing something you read on CtCI with a twist perhaps. If anyone reads CtCI then interviews will just become harder.
- kenrikm 11y agoThis is just my opinion, but If you're asking questions that can be found in "interview prep books" you're doing it wrong. Why not just ask questions that can be found by you know.. actually having experience developing software?
- eranation 11y agoI do that too, but this type of questions serve two purposes. If they know it, I know that they do research before they approach a project, see what was done before, and take life seriously. Also it shows that they can learn something and actually implement it. Unless they memorized the solution, I can learn if they can actually code, not just talk. Second if someone didn't know that question, it still shows how they think and behave. I usually leave these to the end, but it's not always easy to come up with experience related questions that differentiate good candidates from great candidates. Think of it this way, most of the day you don't need the skills tested in the interview, just like in college usually you don't need the stuff they test in SATs, right? You still need to find the right candidate somehow. Asking them about more practical / knowledge based questions is much harder. People come from different backgrounds. Also most people will know well basic software engineering questions. I'm left off with basic CS stuff (data structures and algorithms) to really find the difference point. My experience shows that great SEs will know to answer, not so great ones, won't. No explanation why. Perhaps great ones want to learn more than they need for their job. Good ones just do their jobs well. But when something new comes, or if they need to improve a slow algorithm, they give it up. Seen it happen many times to great "craftsmen" they can code CRUD and UI very well, but they can write an algorithm out of a paper bag. Sometimes this is exactly what I am looking for in a candidate. Depends on the role.
- sown 11y ago> f you can't figure it out yourself but ask me questions, if you try a simpler problem first, if you talk and explain what you are doing, if you run your ideas with me asking what I think, if you are determined to figure it out, ask for hints and immediately understand them and get this "aha" moment of how didn't I think of it rather than oh sucks I didn't think of it. I don't understand what you mean with this sentence. Is this a good thing or not? > If you are excited about the solution more than the fact I gave you hints for it, Is this the best way? Gauging a person's emotional response? I'm pretty reserved in general and don't show emotions, but I do get fascinated internally by things, even if I don't intuitively show it. I just don't know how. It feels like I'm being discriminated against because I'm not an extrovert cheerleader. Now that I know this, I can certainly act happy and excited, just for you. But that's it: it's acting. I don't understand.
- RogerL 11y agoSome interviewers think they have innate abilities that even the best trained psychologists don't have. They are deluded. If you fail that interview you dodged a bullet (assuming you aren't 30 days from foreclosure or something).
- d4rkph1b3r 11y agoI'm a little confused. You are saying you don't want people to be familiar with implementing an algorithm before you ask it? Like are there actually candidates who can come up with implementing red black tree rotation on the fly without ever having seen it, be it class or a book? Can you clarify?
- eranation 11y agoWell, depends on the question. If it's a hard question, there are two options, if they know it already, great, I still would like to see it implemented. If not then I would like to see how they ask me questions and respond to hints and I'll help them get to the solution. I don't expect them to do years of algorithmic research on the fly, no. Example will be If it's an easier question, I do expect them to come up with a solution on their own even if they never heard of it. Example will be a 2 sum question. Or rotations a matrix (just examples, I'm not saying that this is what I ask) Hope I clarified.