4 ms·
imo, this is the right way to do interviewing. I'm currently interviewing with several companies, and one thing that stresses me out is the expectation that 1.
by dxbydt 9y ago
imo, this is the right way to do interviewing. I'm currently interviewing with several companies, and one thing that stresses me out is the expectation that
1. candidate must discover algorithm to solve unseen problem
2. candidate must code up algorithm discovered in #1
3. candidate's code must work
4. steps 1,2,3 must happen under 1 hour
I think this is a bit too much, and completely misrepresents the current working state of professional programmers.
If I am asked to do #1, I usually do a literature survey - I read papers before rolling my own algo from scratch. 99% of the time, there's a good enough algo already out there.
If #2 - ok.
If #3 - not ok. Typically you need a debugger & 1-2 passes before you get it right.
If #4 - definitely not ok. Step 1 itself can take you forever, and you don't even know if its correct. Then you've got #2,#3...adding time constraint to this mix is crazy.
So yeah, this quiz has two highlights: showing a block of code & asking to fill in the blanks - much better, highly recommended. Also, looking at a block of code & figuring out what it does - definitely part of programmer's everyday work. I hope more companies adapt this technique.
- j_s 9y agoA live example, from Uptake (Chicago): https://twitter.com/ch1gg1ns/status/867043938779222016 https://twitter.com/ch1gg1ns/status/867043938779222016
- Bartweiss 9y agoMy worst ever interview was for a mid-college internship. The task was a string-matching question, and I was explicitly failed for not using the Rabin-Karp algorithm. Mind, I had never heard of the thing, and I produced a valid answer with slower runtime, but since I didn't know it or invent a publication-worthy algorithm on the spot we were done. Most interviews are a bit better than that, but I'm always disturbed when people ask for algorithms that aren't either common sense or common knowledge. If it was worthy of publication and isn't relevant to the job, it probably shouldn't be tested on the fly. This system (and a lot of others) beat the heck out of that.