11 ms·
I've had 4 technical interviews in my life and passed all of them. I didn't practice for them, I just have strong foundations in CS. The most criticism of inter
by Scea91 10y ago
I've had 4 technical interviews in my life and passed all of them. I didn't practice for them, I just have strong foundations in CS. The most criticism of interviews comes from people who can't get past them.
- divbit 10y ago> I didn't practice for them, I just have strong foundations in CS. Perhaps my take on things is different since my degrees are in math, so I don't have a bunch of 'canned' algorithms stored in my head, and so in a whiteboard would come up with my own technique, even for possibly basic things like trees / sorting.
- Ar-Curunir 10y agoI'm sure that even in math you need to know some basic things; for instance every math major knows basic theorems about groups, fields, rings, about real analysis, and so on. It's the same for CS; basic knowledge of algorithms and data structures, and how these can be composed, is what a technical interview tests.
- divbit 10y agoMaybe it is worth pushing 'pause' on my list of project ideas and just spend a month or so memorizing all the different sort algorithms etc.
- Ar-Curunir 10y agoThere's just three sorting algorithms anyone cares about, and they're not particularly complex. Someone with a math background should be able to pick them up in a few hours at most.
- divbit 10y agoProbably useful to cut it down as much as possible.
- douche 10y agoAnd outside of interviews, you will, with high probability, never, ever, have to code one yourself. You'll just call sort(), or OrderBy(), and rely on the battle-tested and bullet-proof standard library implementation.
- divbit 10y agoExactly, I used python heavily for a while, so don't think I've ever even coded my own for anything 'real' (e.g. outside of project euler or something) - I think the closest I've done on a real project is to code the comparison function and feed that to a sort.
- Scea91 10y agoMaybe, but I had to implement Hoare partition scheme which is used in Quicksort a few months ago. If I didn't know Quicksort I wouldn't probably have an idea that this algorithm existed.
- geebee 10y agoI had to write my own tree traversal once. If I didn't know about trees, I wouldn't have had the basic context to do this. But I did have to spend a few hours looking up and refreshing my knowledge of tree traversal. If I'd taken a technical interview exam on tree traversal prior to that four hours or refreshing my memory, I almost certainly would have failed. And yet I within the day I was able to write the code.
- Ar-Curunir 10y agoThat's at least partially because you knew where to look; you'd already learnt the material at some point, so you knew what to be looking for.
- geebee 10y agoAgreed - my point is that I would be rejected from a job in the morning for an inability to write code that I'd be able to write by that afternoon. They aren't testing whether you can look it up and do it, they're testing whether you have it all loaded into short term memory, on the spot. Like a lot of people, I'm tired of having to reload it all and essentially retake my data structures exam. A lot of us just don't want to interview anymore. I know that if I need to, I can write a BFS or find all permutations of a set. If the opportunity is good enough, sure, I'll study up and get ready to do this at a whiteboard, but it's boring and unpleasant at this point, and I might not get or want the job, so at this point, I rarely bother. Tech interviews are a big part of why tech companies are experiencing a "shortage" of applicants. They're hardly the only reason, but I'm pretty convinced they are a reason.
- avita1 10y agoWithout sounding condescending, how old are you? I had my head more "fundamentals of CS" when I was just leaving school and also never failed a technical interview. After spending some time in industry, I don't think about those types of problems as much. If I were to do the same technical interviews I did back then today, I'm almost certain I wouldn't do as well.
- ori_b 10y agoI'm 29, and I'd say I'm much better at CS fundamentals today than I was when I was just graduating school.
- noobiemcfoob 10y agoI feel similarly, yet I'd agree with the parent that I'd do worse on a technical interview by virtue of not practicing the common toy problems.
- LordHumungous 10y agoAre we talking onsite loops with 4-5 interviews each? In my experience the challenge with these is it only takes one interviewer to no-hire you for reasons that may have little to do with your technical abilities.
- deanCommie 10y agoYou sound like a superstar. I don't mean that condescendingly, but I meant that genuinely - assuming you're telling the truth, you're the kind of candidate (based on tech skills alone) that most companies would love to interview and hire. But there are way more jobs and positions than there are candidates like you. And you can't have every company be full of superstars. The argument is for the rest of us, having a hiring process that optimizes for superstars doesn't select the best of the rest - it selects a random subset of the rest.
- user5994461 10y agoI wouldn't call 4 interviews a superstar. It's really doable, a bit of skill + a bit of luck for the first interviews + a hiring bar set at 'junior' cuz he's young :D
- tonyarkles 10y agoI suspect that they're not calling you a superstar because you've passed four tech interviews, but because your foundations of CS aren't decaying. I work with a lot of teams as a contractor/consultant/whatever you want to call it. I often have to bite my tongue when team members that work for my clients forget what I believe are really simple things. For example, doing lookups in a hash vs an array. That was literally the entire solution to a performance problem I solved for a client: loop through an array once and make a hash, and then do lookups from the hash. Dropped the calculation from 4 minutes to 4 seconds. The point is, this stuff comes naturally to me. When I think about going to town and shopping at 4 stores, I curse google maps for not implementing a heuristic TSP solver. When I started playing with hashicorp consul and vault, I went and read the Raft paper just to understand what was going on. There's a lot of people in the industry that don't think about this stuff. I probably wouldn't if it didn't just come. I've got this deeply ingrained curiosity, and some kind of innate talent to remember it all and keep drinking from the fountain. It's hard to remember that not everyone is like me. I'm not trying to say any of this as some form of humble brag or anything. It's just really important to remember that how I think and act isn't the same as most people. That, I suspect, is why the GP called you a superstar. You likely think about things in a much deeper and more frequent way than others.
- klodolph 10y agoThat's a pretty narrow view of the problem. Like you, I've never had a technical interview that didn't turn into an offer. However, I have some strong doubts about their sensitivity (as opposed to specificity, which is fairly good). On the other side of things, I can say that most of the criticism of interviews I hear are from people who passed the interviews, possibly a long time ago, and are complaining that the technical interview process is inappropriate for hiring people onto their team, but they have to do it anyway. It's a common sentiment that the correlation between technical interview performance and job performance is weak.
- kls 10y agoI have only failed one technical interview in my life, and to be honest I did not fail it, I took the confidence route which put off the 20 something lead I was interviewing with and mentioned that I was a keynotes speaker at IBM Impact on the coming transition to Javascript based applications. He took this as an affront and challenge (to be brighter than the IBM speaker guy to his team) and ensured that the interview was a miserable experience, but that is neither here nor there The only reason I toot my own horn is to relay the following observation. The point I want to get to is: I have a buddy who I have dragged along with me (many times staking my reputation on his abilities), to every engagement I go on and this guy could not pass a how to use Microsoft Word interview. He has Aspergers and locks up and fails miserably in the interviewing process, but the honest, reality is, he is 10 times the developer I am, the guy sees patterns instantly and has a knack for code organization. He can master a new technology in a week and is hands down the best developer I have ever met. That being said, over the years watching him has lead me to the conclusion that it is indeed the ones they hold faith in the technical interview are actually the ones that are the most stove piped and only see the world thru their limited experiences. It should be classified as a form of confirmation bias.
- clarry 10y agoStories like this make me feel very sorry for all the great people who just don't happen to have a network of great buddies like you.
- kls 10y agoMy advise don't be sorry be proactive, if you meet one, be their friend, be their network, look out for them. That is how the world changes, one person at a time.
- drkstr 10y agoCan confirm. My best friend is a sales guy at the place I landed my first real (W2) job. Been 5 years and going strong. I am even the "Sr. Engineer" now, working on first principals and loving it!
- sidlls 10y agoOn my team there are two people with CS backgrounds (one PhD, the other MS). There are a couple of PhDs from the physical sciences and one from a more Software Engineering academic background. Without exception the guy with the SE background produces generally better quality code. The CS guys are not arrogant, they know their CS stuff, but their ability to develop software is... underwhelming.
- mooman219 10y agoI agree that the fundamentals are important. In my opinion, half of the coding interview is having strong foundations in CS, and the other is being able to clearly convey that. I'm still in university, but have managed to intern at a few a places so far and found the critical parts of each interview to be nearly identical. Microsoft and Google asked questions that boiled down to basic data structure problems, and Dropbox asked a simple backtracking problem. The problems weren't ones I had specifically prepared for, but were ones that I could break down because of my foundations in CS. The only interview I've failed was my first one. The interviewer asked me to implement a Gaussian blur on a small whiteboard; between not knowing the algorithm and not having enough room, I flopped pretty hard. There wasn't a realistic way to prepare for this question, it was just one of those things you had to know at the time.
- qq66 10y agoYou don't "just have strong foundations in CS," you also have strong foundations in interviewing, whether you consciously developed those skills or not. The problem is that those interviewing skills aren't really relevant to the job, so they shouldn't be part of the interview. I once had a candidate who completely bombed the interview, one of the worst interviews I've ever done, but he had a great portfolio. I took the risk and hired him on instinct and he turned out to be an amazing frontend developer who just doesn't do well when he's on the spot standing in front of someone. Years later I recommended him to someone else who was hiring, with the caveat that "he's going to bomb the interview," which he did. The guy called me back and said, "I can't hire someone who did that badly on the interview" and I told him, "do it, you won't regret it, I promise you." He did make the hire, and it predictably went great. Interviews work well for salespeople because interview skills and sales skills overlap a lot. Interviews don't work as well for engineers because interview skills and engineering skills overlap very little. It's just a large injection of noise into the hiring process.
- Xcelerate 10y agoI've always thought that if I started my own company, I probably wouldn't even interview people. I'd search specifically for the people I'm interested in, bring them in for a meeting just to make sure they aren't crazy, and then hire immediately. If someone sent me an application wanting to be hired, I would give them a work sample to be completed in one week and hire on the basis of their performance on that.
- qq66 10y agoWhat I'd actually prefer to do is actually pay someone to do real work for the company, like an actually useful task, but there are lot of complications with that. There are costs to "hiring" someone even for a small task (Tax ID number, 1099, etc.) and there are risks about exposing your codebase to interviewees who are not bound by proprietary information agreements and invention assignment agreements.
- morgante 10y agoI too once had only had 4 technical interviews in my life and passed all of them. Then I had my 5th and failed. I've since passed many more for (even better) positions. I have no trouble finding jobs and have never had trouble (despite the occasional, random interview failure). Given that there is a certain amount of randomness in interviews, of course it's possible to have a streak of successes. I don't look at a die that I just rolled 4 times and never got a 6 and determine it's loaded.
- skywhopper 10y agoMeanwhile, I do terribly in technical interviews, and I've failed at pretty much all of them. Then in the jobs I've successfully gotten, I always get surprised feedback of how much stronger an employee I turn out to be than was expected based on my interview. Technical interviews that become a game pass on a lot of potentially strong employees.
- khedoros1 10y agoThis is me, too. People react with astonishment when I dive into a new technology, pick it up quickly, and become productive. Interviews are hell, though (and worse than they used to be). I can't sleep the night before a big one, and I tend to be nauseous and jittery during the interview. That doesn't come across well at all.
- geebee 10y agoAny possibility you should share some of the questions you would consider typical of your interviews? If you can't share the exact question, could you share what you would consider an equivalent question?