5 ms·
I used to interview programmers with an elevator programming problem. Neat to see it expanded so excellently and cleanly in this piece. Well done!
by adenozine 5y ago
I used to interview programmers with an elevator programming problem. Neat to see it expanded so excellently and cleanly in this piece. Well done!
- alasdair_ 5y agoI had this question during a Google interview. The interviewer became annoyed when I suggested that an elevator that sometimes went backwards to pick ip someone on a just-missed floor could at least be interesting, if not perfectly efficient. They had a preconceived idea that they wanted a stateless system and didn’t like my stateful approach, even if it was potentially better for end users.
- bombcar 5y agoThat’s an example of a thing that may work well but would piss users off - it apparently reversing would annoy.
- Thorrez 5y agoNot just annoy. Some users might think they accidentally got on the wrong elevator ("oops, I got on a down elevator instead of an up elevator") and leave the elevator at the next floor to ask for a new elevator.
- adenozine 5y agoYeah, that's one reason I stopped doing like code-this-thing style of interviews. There's no point in contriving problems for someone, we could both be working on something useful. I think for me at least, the main attribute I look for in a candidate for a developer role is the ability-to-avoid-shitty-solutions-ness of someone. If they steer themselves from bad ideas well, the rest can be taught by presentation and practice with the rest of the team. I've had a similar idea around measuring how many riders make calls over say the past 100 rides, and then trying to calculate how efficient it might be to deviate a few floors either direction to grab someone close-by. It's an interesting hole to climb into. Did you get the gig at google?
- em-bee 5y agothe problem is having particular expectations at the outcome, which is wrong. even after hiring, if i have a particular expectation how problems are to be solved, then that will lead to disappointment, micromanagement and disempowerment of my developers. i did use elevatorsaga in interviews with good results. having someone making such an unusual suggestion in an interview would be a plus for me. this person is thinking out of the box. and it would lead to a discussion of the difference of optimizing solutions for overall performance vs user expectations.
- alasdair_ 5y agoI didn’t. I tried again later in my career but ended up taking up Facebook’s offer before the final Google round.
- deleted 5y ago[deleted]
- grensley 5y agoI really like just asking "how do elevators work"? It's so open ended and they can talk about anything from the algorithm, to the mechanical design of elevators, to the UI, to a high-level discussion of all the different components. Really lets you know quickly which parts of systems candidates are interested in.