This is exactly the approach that I would take if I needed to hire someone.
We need to realize that the 20-year old process designed by MSFT of hiring has been gamed and is no longer useful. Interviewing these days in the Valley seems more like a cat-and-mouse game where interviewees memorize answers to as many algo questions as they can, and interviewers try to one-up candidates by asking them increasingly harder and more ridiculous questions.
Interviewers claim that they care more about how a candidate thinks through a problem, but I know this is bs, since I've talked to people in my company who have interviewed. If they ask a question, and the person doesn't know the answer right away but 80% of the others do, the person already looks deficient in their eyes.
The process that the article talks about is probably the best way to identify good candidates, at least until this is gamed. Hopefully if designed properly though, it will be much harder to game, since you can always change the nature of the project.
> interviewers try to one-up candidates by asking them increasingly harder and more ridiculous questions.
This seems like a net win. Interviewees and interviewers in a positive feedback loop of knowledge. Even in a worst case where people are memorizing answers to brain teasers, at least they have to think about it and therefore they will gain some level of understanding that they wouldn't have otherwise.
To be fair, if you can game it, the interviewer's doing it wrong. The idea is to ask a question that the interviewee can complete and then work together with them for ideas on other ways of implementing it, trade-offs, demonstrating that they understand the memory and execution model of the machine, talking about how to measure performance issues or representation choices, etc. You're trying to discover by working with them on a problem in the small how they will react when faced with similar problem on a problem in the large. And while I don't claim that A -> B, I do claim not A -> not B. If they can't even talk about the memory touched during binary search, good luck putting them on partitioning an algorithm to run across multiple processors.
If you're just giving an algorithms quiz, you'd be better off just outbidding IBM on their "we will hire everyone from the top 25 ICPC teams" strategy.
I'm not sure if you've been through interviews recently, but from the experience of myself and my friends who have been interviewing, this is what it seems to be. Based on my experience 1.5 years ago, I quit interviewing until I got enough time to sit down and memorize algos.
A popular question to ask as a stumper is "Given a tree, how do you determine if it is a binary search tree". Either that or "convert a sorted integer array into a BST".
Why would you have to memeorize algorithms for those? Without thinking about this I don't know how to it. But I know what a BST is and I could figure this out in a few seconds/minutes, I'm pretty sure.
Exactly. If you have to memorize answers to these, you need to revisit CLRS and brush up on your problem solving skills. But this is also an example of how these interviews are gamed. You don't want someone who just memorized the answers and couldn't come up with them on their own, but its hard to distinguish the two during an interview. And in many cases the guy who answers faster from having memorized it can seem like the better candidate.
I haven't been through them, but I used to interview for MSFT (I did ~300 in-person interview between 2000 and 2007). I'll admit I'm totally biased having worked for them and that all my experience is there and not elsewhere.
>We need to realize that the 20-year old process designed by MSFT of hiring has been gamed and is no longer useful.
another way i use the interviews is to learn more from the candidates about things i supposedly know less than they do. Usually it would be a very specific details of some technology/products they supposedly have worked a lot on or with, and that i'd have less detailed knowledge about (along the lines for example - how it works, externally and internally, why would this way have been chosen/implemented , what were the alternatives back then and are now, etc...)
We need to realize that the 20-year old process designed by MSFT of hiring has been gamed and is no longer useful. Interviewing these days in the Valley seems more like a cat-and-mouse game where interviewees memorize answers to as many algo questions as they can, and interviewers try to one-up candidates by asking them increasingly harder and more ridiculous questions.
Interviewers claim that they care more about how a candidate thinks through a problem, but I know this is bs, since I've talked to people in my company who have interviewed. If they ask a question, and the person doesn't know the answer right away but 80% of the others do, the person already looks deficient in their eyes.
The process that the article talks about is probably the best way to identify good candidates, at least until this is gamed. Hopefully if designed properly though, it will be much harder to game, since you can always change the nature of the project.