4 ms·
My mental model of how candidates with a CS degree do on a whiteboard interview is something like score = (grade in data structures class) + (grade in algorithm
by scott00 9y ago
My mental model of how candidates with a CS degree do on a whiteboard interview is something like score = (grade in data structures class) + (grade in algorithms class) - k(time since undergrad) + b(time spent studying for interview). I'm curious if you think that's a good model, and if it is, would it be easier to just look at their grades in those classes, or if you actually care about the amount of time spent studying.
- nissimk 9y agoIt's not just the time spent studying, it's the right kind of studying. "Teaching to the test" so to speak. I liken it to my driver's ed class in high school. My teacher wasn't teaching us how to drive, he was teaching us how to pass the test. Every single thing he taught us was about how to pass the test. I passed on my first try because I was very well trained. Unfortunately, the whiteboard thing is not as standardized, so it's somewhat harder to teach to the test, but it is not impossible. People waste a lot of time I think when they can memorize a small number of basic algorithms and then learn to map the question given to one of those techniques. But writing the code with a marker on a board definitely takes practice as well. The available training materials are good, but they are not great. A focus on shortcuts would be nice. I remember my verbal SAT improving significantly just from the single tip to read the reading comprehension questions before reading the passage. I suspect there are similar tips that can improve your speed at figuring out the trick that solves these interview problems quickly.
- xyzzyz 9y agoThere's a huge variance between different schools, and an average grade from one university may be better than good grade from some different one. Additionally, I don't really ask questions that require some particular knowledge from algorithm classes -- it would be silly to determine whether someone is a good hire based on whether they remember details of, say, Hopcroft-Karp algorithm. On the other hand, many algorithm classes are all about this kind of stuff. So, I generally feel like it makes more sense to try to determine the actual aptitude when you have an opportunity, instead of trying to measure it by possible decades old proxy with huge and unknown variance. If you had good grade and/or spent some time studying for the interview, and really meet the hiring bar, you'll most likely do well in the interviews anyway. There's some noise in the process, and good qualified candidates are sometimes rejected, but from company's perspective, it's better to have some false negatives, than to give another metric that can be easily gamed, and get false positives. Google has enough qualified candidates applying for a job to make it not that big of a deal if you lose some due to the noise.