4 ms·
This isn't relevant to the claim that "No amount of work prepares you for this". You can indeed prepare for "puzzle" interviews. Whether this is good intervie
by dpark 10y ago
This isn't relevant to the claim that "No amount of work prepares you for this". You can indeed prepare for "puzzle" interviews. Whether this is good interviewing culture is an entirely different question.
- kamaal 10y ago>>You can indeed prepare for "puzzle" interviews. The term 'Preparation' is a misnomer here. That process literally involves living your life on sites like TopCoder, HackerRank etc. You will likely be spending any time you can spare on such sites, to 'prepare'. You can be the most productive person in your current job. That doesn't prepare you for these interviews.
- dpark 10y ago> That process literally involves living your life on sites like TopCoder, HackerRank etc. You will likely be spending any time you can spare on such sites, to 'prepare'. In the same way that keeping up with current events means living your life on sites like CNN, Reuters, NPR? The same way learning a language means staring at DuoLingo all day? Most people don't require 100% time allocation to learn something.
- pyre 10y agoAt the same time, you can be amazing at your job without being amazing at toy-problem-brain-teaser questions.
- muzz 10y agoTrue. I did change the topic and offer my opinion.
- majormajor 10y agoI think there's a big, meaningful difference between "no amount of work prepares you for this" and "no amount of [anything] prepares you for this." With very few exceptions, a job where you're doing useful work, is not going to prepare you for those sorts of data structures/algorithms memorization questions. Libraries exist, you should (generally) be using them, not rewriting them every day. And yet I've been interviewed several times for roles where my actual work has turned out nothing like those interview questions. It's merely a way of trying to check "do they have a good enough memory and grasp of the basic concepts to work things out" as a (lazy, IMO) substitute for trying to see if they have relevant, immediately-useful skills that will complement your team. The less training and onboarding you want to have to burden yourself with, the less you should be asking those questions. Fortunately, on my current team, I had the flexibility to change up our interviewing approach. And then other teams made comments along the lines of "how did you hire such good senior people who grasped our problem space so quickly?!" :)
- dpark 10y ago> I think there's a big, meaningful difference between "no amount of work prepares you for this" and "no amount of [anything] prepares you for this." Something you spend time on to do better in interviews is work as far as I'm concerned. Brushing up on algorithms is work in this context. So is doing programming puzzles if you expect to see those. > It's merely a way of trying to check "do they have a good enough memory and grasp of the basic concepts to work things out" It's generally not about memory. That's a factor but not the intent. Programming puzzles are about finding out if the candidate has a sufficient grasp of technical basics (i.e. if you don't know what a hash table is, or if you don't know Big-O notation, that's a big concern), and yes, whether they can work through a problem. If you can't work through a problem, that's also a big concern. It could mean you just don't interview well, and that's a problem I don't know how to solve. It could also mean that you just aren't able to think through complex issues. Toy problems are not completely representative of real work, but I find it odd when people claim they don't do anything like this in their work at all. I use Big-O to discuss work and give code reviews with some regularity. I work on problems that require juggling some moderately complex state to solve correctly, that require good choice of algorithm and data structure to solve efficiently. That's definitely not most of my work, but it's a part. I try really hard to ask questions that someone with good grasp of fundamentals can solve, though. I stay away from questions that are dependent on a clever trick (find a loop in a linked list with two pointers) or esoteric/trendy knowledge (use circular hashing and a bloom filter!). On the other hand, "brain teaser" puzzles seem mostly to be pointless, but I've not personally been asked one of those in a real interview and I don't know anyone who uses those. > as a (lazy, IMO) substitute for trying to see if they have relevant, immediately-useful skills that will complement your team. I don't generally care if people I'm hiring have immediately-useful skills beyond the fundamentals. I don't care if they're well-versed in our stack or languages or whatever. It's a bonus if they are, but I care far more that we hire smart people who can learn.
- majormajor 10y agoA lot of it is memory. If you have recent memory of writing, say, a bunch of tree traversal implementations, you're going to solve those problems a lot faster than someone without that recent practice. And if you're talking a 45-min or 1-hr one-or-two-question phone screen, companies are putting a lot of value on that quickness. I haven't seen many interviewers (as candidate or as a fellow interviewer) who truly value "talking knowledgeably about Big O notation" or "knowing what a hash table is" anything near as much as "wrote a whiteboard implementation of topological sort quickly enough." It's the latter part that I object to. The areas where I've found looking for immediately-useful skills helpful are (a) to ship specific projects in new areas where I'm not an expert fast and (b) to verify that someone has the patience/diligence to go deep in at least one area. Friend of mine is at a place that seems to need this desperately: about 15-25 "smart people who can learn" mostly straight out of school, but a culture that's mostly the-blind-leading-the-blind and rediscovering known solutions (or worse, rediscovering practices with known issues). He's currently trying to sell them on the value of having automated regression testing, but that's not the type of skill learning they were selected for.