4 ms·
Rewriting the Technical Interview (2020)
- rattray 2y agoTitle needs a (2020) - this is an old classic. It does have a minor 2023 update to include more sample code.
- krallja 2y ago> When you return, your steps are light, aura clear, makeup freshly set. These things matter, in a technical interview. Well, that’s fairly damning.
- drdrek 2y agoI don't get it, what are they trying to say?
- ReleaseCandidat 2y agoTo get the interviews, it's best to read them in the "correct" order: https://aphyr.com/posts/340-reversing-the-technical-interview https://aphyr.com/posts/340-reversing-the-technical-intervie... https://aphyr.com/posts/341-hexing-the-technical-interview https://aphyr.com/posts/341-hexing-the-technical-interview https://aphyr.com/posts/342-typing-the-technical-interview https://aphyr.com/posts/342-typing-the-technical-interview https://aphyr.com/posts/353-rewriting-the-technical-interview https://aphyr.com/posts/353-rewriting-the-technical-intervie... https://aphyr.com/posts/354-unifying-the-technical-interview https://aphyr.com/posts/354-unifying-the-technical-interview
- xenophonf 2y agoDo you mean at the technical level? Vidrun's asked to solve FizzBuzz, and like a good engineer, she reuses an existing, well tested solution. However, the interviewer, Martin, chides her by telling her the point of the interview is to see how people might solve things for themselves. He then asks her to explain how the FizzBuzz program she copied works. So she implements a C-like language in Cloture. Pretty elementary stuff. Not "so easy a little kid can do it" but literally, in the sense that these techniques, this knowledge, underpins every programming language you use. Every computer scientist and software engineer should know how to do this. If you get a chance, work your way through a copy of _Essentials of Programming Languages_ (https://mitpress.mit.edu/9780262062794/essentials-of-programming-languages/ https://mitpress.mit.edu/9780262062794/essentials-of-program...). It will help make sense of what Vidrun does here. At a non-technical level, well, that requires a longer explanation for which I lack the time to write.
- vsnf 2y agoI think you have unrealistic expectations of software developers if you think they should all be able to do this. Elementary sure, and maybe they “should” in the platonic sense, but ask 10 developers to implement a language and 9 will fail to make any meaningful progress. And I think that’s fine. It’s like when people get upset at web devs for not knowing the networking layers. Elementary sure, good to know, maybe, critical to their everyday function, doubtful in the extreme
- dbalatero 2y agoOr to put it another way, why should* someone know how to do anything that's never ever come up before in their life? * "should" as in someone else externally judging someone
- davidgay 2y agoOf course, some of those people then do get asked to build a language, and the result is awful and ignores the last 60 years of knowledge on how to actually do that ... (yes, I have seen this)
- cess11 2y agoNot all software developers are computer scientists or software engineers, and not all software developers are preoccupied with turning computers into a salary.
- deleted 2y ago[deleted]
- xenophonf 2y agoIt's been my experience that software developers can be wildly successful not knowing or using any deep magic like this. Still, I think this stuff is good to know. Edit: Oh, I should have used "elemental" instead. That might have gotten my point across better—underpinnings, not trivia.
- 2y ago
- hu3 2y agoPerhaps I didn't get the message but over-engineering is not something to brag about in an interview. The real challenge is keeping things simple, readable, maintainable.
- WJW 2y agoI think you have indeed missed the joke, yes. This author has an entire series of blog posts about this witch doing insane low-level stuff during interviews.
- hu3 2y agoThank you, I did read the series thanks to ReleaseCandidat links below.
- vundercind 2y agoI think the joke is this person is actually very good at programming but has no idea what they are socially expected to do for these alleged tests of programming skill, so approaches it earnestly as a programming challenge instead of a “regurgitate the standard answer as if you are inventing it on the spot” performance. [edit] it’s also connected to folk and religious tales that feature someone so wise that they basically no longer understand how to be mediocre or how to care about things that do not matter to the wise, often to the consternation of those around them. “Here’s the excellent white steed I told you about”; “uh… this horse is dappled brown”; “Hm? Oh, I’m not sure about that.”; “… you said this guy’s a horse expert, right?”; (but of course it does turn out to be a superb horse). That sort of thing.
- ilc 2y agoOh, but it is. I once had a debugging interview on Linux. In my head. No terminals. Interviewer would propose a hint about the problem, but he was tipping the answers. I could see where he wanted to go every time. So I applied a concept from Bridge: WHen you are given unintended information from your partner, you must take any logical action except for what is indicated. So I'd spit out ALL things that came to mind, then finally the answer. (Like 4 or 5 thing PER STEP.) And I wan CONSISTENT. The more he tipped, I just kept doing it. At the end of the interview, I asked my questions, and asked if they played bridge. They said no. I explained the concept of Active Ethics, and that throughout the interview I was using active ethics. ;) Got the job. That guy was one of my best friends in the joint. At times... Simple questions involve complex answers. :)
- deleted 2y ago[deleted]
- ndr 2y agoI laughed at user=> (c x = 3; x++ / 5; ) 4/5 > “That’s… that’s not how that’s supposed to work.” [...] > “You’re quite right. Shall we do conditionals?” Of course that should return 3/5. Clojure is quite cool but I suspect this is not the best showcase.
- ilc 2y agoYou are missing the point. It is a PERFECT showcase of understanding. The person implementing knew what they had to implement, and what they didn't. What looks like a demerit is actually a sign of mastery.
- ndr 2y agoMaybe I should have pointed out that's his reply that I found funny, for that very point: “You’re quite right. Shall we do conditionals?
- deleted 2y ago[deleted]
- prudentpomelo 2y agoThese get better every time I read them.