...really? I've heard of people failing interviews at the Big4 because they solved the problem, but did it sub optimally.
...really? I've heard of people failing interviews at the Big4 because they solved the problem, but did it sub optimally.
This isn't good or anything (though, sometimes there's the really obvious super slow way, and its appropriate to ask for something better), its just the way it is.
This is especially pronounced with junior interviewers, I've gotten dinged for missing capitalization on one variable in an otherwise flawless exercise.
Most interviewers at these company, especially those with little empathy or training, are looking to rule you out, and are looking to find a problem with whatever it is you do. Sometimes they tell themselves that its because they want to keep a high bar, but its usually just so they can feel better than someone else, they aren't good at judging problem solving ability, only that you arrived at the solution that they had in mind.
I've had offers from the Big 4, and I've totally bombed interviews with them too. I prepared a lot before hand, and its mostly just luck of the draw, if I get a set of coding questions I've seen before, or is similar to what I've seen, I pass, if I don't, I don't. I'm the same engineer either way.
I wish a lot of people in our industry would quit with the alpha nerd crap, you aren't that important, and you're pissing on people that could help you build your project. I think its egged on by the "A players all the time" mantra at large tech organizations, so when you take insecure nerds, and puff their egos up, this is what you get.
Gold right there.
I disagree with this. Although technically there is an infinite list of wrong moves, interviewers have a list of "right" moves that people do that they keep track of that demonstrate the interviewee's abilitie
poor communication, not making sure they understand the problem, not testing their solution, not being willing or able to explain their thought process, being unable to answer "I don't know" when pressed.
Occasionally there's someone who claims to know something and very clearly doesn't.
Phone screens generally filter out most of the people who know no data structures or algorithms.
Of course, every hiring process is different, so there's some variation within and across companies, but I think a lot of geeks think they screwed up the tech when they really screwed up the communication.
And I'm not bitter honest! I just resent having to communicate with idiots.
What time is there to "understand the problem" when someone (or perhaps a group of people) you've never met are starting you, and expecting nothing short of a lightening-quick flash of brilliance?
As much as people say they don't care about the answer and suboptimal is okay, generally it isn't, there's very often a very specific answer they want you to arrive at or you are some version of wrong; so the interview is either failed or succeeds on whether or not the interviewee has seen this problem (or one close enough to be virtually indistinguishable from it) before and can remember how to monkey dance through the steps of it again. So a suboptimal answer ends up being approximately the same as a wrong answer which fits into lostcolony's narrative perfectly well.
So basically you have a few different types of possible interview outcomes with these puzzle-interviews:
#1 Candidate who isn't a good fit (lacks experience, maybe just plain not that bright) fails because he or she is just not a good logical thinker and thus not a very good programmer.
#2 Candidate who is a good fit (has plenty of experience and practical programming knowledge) fails because social anxiety kicks in when confronted with a puzzle they don't recognize at first glance, making it difficult to figure out a solution that they may very well be able to knock out in 15 minutes if they were sitting at home with Google, some books, and nobody (who has important fate deciding power over them) looking over their shoulder.
#3 Candidate who is a good fit who recognizes the problem from having seen it and worked through it before, "solves" it, maybe even solves it in a suboptimal way at first in order to avoid looking like they knew the solution all along because they saw it yesterday on some interview quiz website, then busts out the optimal solution as if it came fully formed from their glorious brain box.
I've been both #2 and #3 plenty of times each and know lots of others in the field who will admit to being both of those people at different times and different places in different interviews. Occasionally you can be a partial #2 and still make it through and get an offer because you already had a bias working in your favor (recommended by someone the interviewer trusts), so the interviewer can start to believe the claptrap that the process is important and not the answer. But with no such bias working in your favor, you're done for!
I'll accept there may be a #4, super genius who can really figure all of these puzzles out on the fly from first principles, but that's like a 0.001%er and even if they exist, it is ridiculous that people are looking for that person to write code for their relatively straightforward CRUD app or social media webwhozit thing.
Ultimately, IMO, the whole system is fucking stupid and everyone who isn't a complete jackass realizes it but nothing ever really gets done to fix it on a systemic level.
Which is ironic, because most (if not nearly all) real-world problems are never solved optimally on the first go -- but rather via a succession of approximations (many of them wrong, and requiring partial or full retreats).