7 ms·
I'm increasingly convinced that Algorithms-and-Data-Structure interviews are essentially being used as a proxy for: - General IQ. Can this person understand an
by whack 6y ago
I'm increasingly convinced that Algorithms-and-Data-Structure interviews are essentially being used as a proxy for:
- General IQ. Can this person understand and apply complex ideas
- Grit. Is this person hard-working enough to learn things that take time and effort
It's the software equivalent of the NFL scouting combine. The goal is not to create a test that is similar to the day-to-day job. But rather, create a test that isolates and evaluates a specific set of skills, which you think are important to the organization.
- ojr 6y ago- Retention. If this person spent hours on leetcode, they’ll be less likely to leave the job knowing the effort it takes to get through the gate
- deleted 6y ago[deleted]
- cocoa19 6y agoI'll disagree with this one. I'd actually be inclined to job-hop more frequently if I have the skill to pass hard interviews at any tier 1 company, thus maximizing my earnings. If I don't, I just stay put knowing I lucked out at a great company, knowing it would be hard to get lucky again.
- quicklime 6y agoI hear this so often that I wonder if people actually believe it. If you do, keep in mind that it would require a fairly large conspiracy within tech circles to maintain. A more likely explanation is that it's less effort to come up with and apply a leetcode-style question in an interview scenario. Never attribute to malice that which is adequately explained by laziness and cargo-culting.
- sj3k 6y agoLast I read, the average tenure for an employee at FB is about 1.5 years... Could be different at other place.
- woeirua 6y agoMeanwhile, engineer retention statistics at FAANG companies prove otherwise... [1] https://www.businessinsider.com/average-employee-tenure-retention-at-top-tech-companies-2018-4#alphabet-the-parent-company-of-google-does-a-ok-with-a-32-year-average-employee-tenure-10 https://www.businessinsider.com/average-employee-tenure-rete...
- hackermailman 6y agoI had the opposite experience, once you grind problems on leetcode and figure them out yourself, you somehow never forget them, esp under pressure in an interview. The problems aren't exactly the same of course but like Polya's book "how to solve it" describes solving a problem by considering something similar you solved, when presented with some interview problem to work through the first things that came to my mind each time were previous silly leetcode solutions I came up with that bought me some time instead of blanking out.
- midev 6y agoAlgorithms and Data Structures don't measure either of those things. General IQ is not measured by very specific technical problems. Nor is learning something specific an indication of "grit". It's a proxy for interviewers to jerk their ego.
- phonebucket 6y ago> General IQ is not measured by very specific technical problems. I do not see data and algorithm interviews as very specific technical problems. I do not have a computer science background, and have been able to bring myself up to speed to the general level expected without too much hassle. I don't think I'm particularly special. I just searched and spent some time learning this stuff over a few weekends. If you are serious about a career, I don't really think that this is too much of an ask.
- dominotw 6y ago> It's a proxy for interviewers to jerk their ego. Interviewers don't have choice here. Interviewers aren't free to come up with their own method. So this is not a valid explanation.
- midev 6y agoWhat? I'd go so far as to say this is universally incorrect. Having interviewed hundreds of people at multiple companies, at every level (intern to director), I have never been told what technical questions to ask....
- dominotw 6y agobecause if everyone is asking whatever they want there is no way to compare one candidate to another. Most companies require interviewers to pick a question from their internal 'question bank'
- midev 6y ago> because if everyone is asking whatever they want there is no way to compare one candidate to another. That's obviously not true.... > Most companies require interviewers to pick a question from their internal 'question bank' Again, having worked at some fairly big and respected companies, this has never been the case. I'm not interviewing for rote candidates. Everyone is different. Ergo, the questions are different. I could never imagine hiring senior developers and security engineers with questions from a "question bank". If you're just doing boilerplate, you're probably getting very sub-par employees.
- chrisparnin 6y agoDepending on how you conduct them, they are actually stress tests: https://medium.com/@gameweld/the-case-for-the-private-technical-interview-4a92947e1692 https://medium.com/@gameweld/the-case-for-the-private-techni....
- mathgladiator 6y agoGiven how brutal an on-call can be, perhaps this is the real reason?
- holidayacct 6y agoIf you're working on a large scale project you wouldn't be implementing a specific algorithm by yourself anyway. You'd be discussing a specific problem and then discussing the pros and cons of different algorithms that you want to implement and implementing POCs in different algorithms. The interview is just to see if you can think and discuss in terms of algorithms and data structures.
- Drew_ 6y agoTechnical interviews problems do sometimes actually resemble some discussions that happen in the real world however there are two major problems that I see in the interview space that don't have clear solutions: 1) one or two people in the discussion (interviewers) already know the perfect solution to the problem and are contributing as little as possible to the discussion. 2) the actual amount of allotted time to brainstorm a solution to the problem is realistically only ~10 minutes not the ~45 minutes you are allotted because of the time it takes to implement the solution with real code. It would be nice if no one in the interview knew the answer to the problem before starting the discussion and this discussion would be pretty realistic aside from the lack of help from the interviewers. However, you cannot easily/fairly compare candidates with so many different questions. Technical interviews would also be far more realistic if they allotted more time for problem solving but I imagine if the standard 45 minutes was bumped to over an hour, the only outcome is that more candidates would perform very well and that's not an outcome companies actually want unfortunately.
- holidayacct 6y agoI'm completely in favor of randomized interview questions. My personal favorite approach is a two-way interview. You get to ask a technical interview question of the person you're interviewing with. If they ask you a ridiculous question, they get hit with a ridiculous question also. As an employer you could monitor this and see if you're employees are giving unfair questions to candidates they can't answer themselves. It would also be a good idea for HR to record all of these interviews so they can have someone knowledgeable judge the interview process and track the performance of new hires versus the questions they are asking. If the interviewer starts having problems answering their own difficulty level in questions then maybe they should be looking for a new job also. I was once asked a ridiculous question and threw an interviewer off by asking them how many times they had actually implemented something like they were asking, they stopped talking immediately. My personal opinion is that all of this should be scrapped in favor of seeing what the person has produced and having them partially implement a solution of something they have written in the past. It is a virtual impossibility that anyone could work on a project of any sort without being able to sit down for an 8 hour interview where they are responsible for partially re-creating something they have worked on in the past. To this day I still remember large parts of source code I've worked on 10 years in the past.
- notacoward 6y agoUnfortunately, those kinds of interviews also select for some other things that they shouldn't. * Youth. People who have very recently studied these things in school, and use the same languages as the interviewers, have an advantage. * Free time. People who have families (for example) might have less free time to study "Cracking the Code Interview" and such. * Absence of anxiety. This disadvantages women, minorities, and people with psychological conditions that should be covered by ADA. Also, people whose financial situation is precarious will be more anxious than those who don't need the job, independent of which is actually a better candidate. * Conformity. People who can recognize the flaws in a measurement technique, and who have the strength of character to push back against its application - both good qualities for a candidate - will self select out. There's a lot of overlap among these, of course. There are better ways to measure "general IQ" and "grit" (which are both questionable concepts anyway). I've passed every such interview I've ever taken, but I refuse to administer them (despite the fact that my refusal has carried a quite tangible cost) because whatever benefit they provide is outweighed by their many flaws.
- wenc 6y ago> Resistance to anxiety. This disadvantages women, minorities, and people with psychological conditions that should be covered by ADA. I resemble some of those categories, and I don't know if I would feel comfortable making the leap to correlate them to a some inherent reduced level of resistance to anxiety. That seems like a generalization which I feel that, on an aggregate level, seems unsupportable by data. I think that determination should be on a case-by-case basis, as is currently done at universities.
- enumjorge 6y agoYeah I’ve never heard of women and minorities having less resistance to anxiety as a group. I’m curious where that’s coming from. Certain psychological conditions I could see, but that’s such a broad category that I think that’s also an over generalization.
- notacoward 6y agoAllow me to elaborate, then. There's an inherent power dynamic in interviews, which creates stress in the interviewees. That effect is magnified for anyone who is unlike their interviewers, who still tend to be white and male. It's magnified still further when the power dynamic within the interview reflect the one that - very unfortunately - still persists in society at large. Lastly, the funny thing about stress/anxiety is that it tends to be additive. Having experienced high levels recently (including in other interviews) makes one more susceptible to new triggers. Thus, anyone who is the least bit "outside" in any way will feel more anxious. Is any of that even controversial enough to require citation? How many Psychology or Sociology 101 textbooks should I cite? It's easy enough for those who don't feel this kind of anxiety themselves to brush it off, but for those who are less fortunate all those magnifiers can create an anxiety level that's quite debilitating.
- munchbunny 6y agoThat's explicitly the stated reason I've gotten from people I know who use algorithms/data-structure interviews.
- gcheong 6y agoThe problem for me is do I want to spend my time and effort learning solutions to leetcode problems or do I want to spend time and effort learning actual development skills? Which would be more valuable in the long run? Every hour you have to spend on leetcode just to be able to pass some arbitrary measure of your leetcode ability is one less hour you can spend on learning something else.
- dan-robertson 6y agoI suspect there are better IQ tests than random algorithms questions. Isn’t the nfl scouting combine bullshit though? The players who tend to be most favoured are those who did well at playing football in the previous season, rather than those who scored well on the IQ or creative writing or jumping tests
- Nelson69 6y agoI'll get myself some down voting here... I kind of like asking questions about data structures and algorithms. I don't see them as simple black and white questions though. I see several values: 1) If you're a "computer science" degreed person, I expect basic understanding of basic algorithms and data structures. As for your basic job stuff, things like Java have multiple implementations of maps or hash tables you should have some idea when to pick one vs the other. I don't think that's off limits. 2) I like to ask a couple challenges or questions that sort of make the interviewee a little uncomfortable, not to get the answer but to work with them on it and see how they work through that situation. I intentionally try not to be cruel but I want them to think, I want to communicate with them as they sort through it, I want to see how that stuff goes. I've had 60+ minute conversations about engineering a professional grade hash table and the different things you have to consider, that's good stuff. The 3rd thing, and this is maybe more subtle, there is a gigantic difference between implementing quick sort and qsort in glibc, the same can be said about most algorithms and data structures and I think at least a cursory knowledge of that is an indication of some wisdom. Should you be asked to implement data structure x or classical algorithm y, understanding the mechanics beyond simply copying it out of a text book indicates some wisdom.
- jgmarcel 6y agoI could not agree more. After a grueling interview process at Goldman Sachs, with 7+ technical interviews that required me to solve very specific questions on college-level Maths, Stats and Computer Science (admittedly, I was applying for a quant job position), I was eventually asked to interview candidates myself. While I did not feel entitled to change the current interviewing culture at the company by asking questions of a completely different nature from what I got asked in the first place, I conducted my interviews in a very similar way to what you described. By no means did I expect applicants to reach a definitive answer, but I instead worked on the problems with them to see how far their intelligence, creativity, curiosity and, most importantly, their ability to well communicate their thought process would take them. Such interviews used to take a while hour of my time (which is a lot to afford when you work in a bank), but by the end of each I believed to confidently ascertain the candidate’s ability to thrive on our team. In retrospect, it has served me really well. All in all, the problems posed (and the solutions given to them) might not carry as much weight in the final decision as the discussion held with the applicants. As long as the questions asked give them some material to work on, and DS and algorithms usually serve this purpose very well for us engineers and developers in general, one should be able to effectively select candidates given some time investment.
- dzonga 6y agoremember, players opt out of the combine. and a good portion do, if they have a dope highlight reel. though they will conduct interviews with the gm for personality what we call in the tech field: "cultural fit"
- pldr1234 6y agoThis is correct. It's unfortunate, but unless you can mandate Google to change their entire interviewing regime, you have to simply understand that this is the perspective, and move forward demonstrating yourself against this criteria, whatever else you may think.