6 ms·
Then they proceed to ask candidates to derive a card shuffling algorithm on a whiteboard in 30 minutes and fail them from the interview if the running time comp
by stcredzero 8y ago
Then they proceed to ask candidates to derive a card shuffling algorithm on a whiteboard in 30 minutes and fail them from the interview if the running time complexity would be too high or if they can’t mathematically prove the result would be a uniform draw from the space of permutations of the cards.
For a company that runs an online game server, let's say, this really isn't that high a bar.
I know off the top of my head that there's some edge case that can keep you from getting an even distribution, but otherwise 1st year probability and 1st year algorithms knowledge should be enough for that. The proof is a slow-ball and the algorithmic complexity is a slow-ball in your example.
it’s about the extreme myopia in tech where these people actually believe they are sleuthing out the inner talents and dispositions of candidates when they are obviously doing nothing but berating candidates with parochial, uninformative trivia.
Or, it could be about weeding out students who got by with nothing more than gluing libraries together and really only thought of degree work as a formality while they were busy networking.
- dsfyu404ed 8y agoOr it's weeding out all the people who promptly forgot all the stuff they could just google because they didn't regularly use it in their last job.
- stcredzero 8y agoIf someone is going to be so prompt and complete at forgetting everything, then they may not have a tickling awareness that something might be up when the occasion to apply 1st principles knowledge does arise. Seriously, if the algorithmic complexity of a shuffling algorithm is going to be a challenge, why even have a degree!? If someone is so good with the forgetting that they can't even apply "n choose m," just what are people paying tens of thousands of dollars a year to learn in college? The stuff you use all the time in your job is largely arbitrary trivia. However, the knowledge referred to in the example given above are first principles. So your standards fall below the level of being able to apply first principles? I can see why people would want to weed people like that out.
- hueving 8y ago>algorithmic complexity of a shuffling algorithm is going to be a challenge, why even have a degree!? Because complexity analysis is a tiny part of a CS degree. A huge wing of our CS grad department focused on type theory and PL in general and could easily screw up a complexity analysis quiz like that because it's irrelevant to their day-to-day research/work.
- stcredzero 8y agoBecause complexity analysis is a tiny part of a CS degree Yes, but it's a slow-ball pitch! What's the complexity of filling in an array with its indices? If a CS grad can't solve something just a little more complex than that (for a sloppy/easy version of the question, not the shuffling algorithm expert version) then just what the heck are they learning?
- cuddlecake 8y agoIt's obviously constant. Duh!
- ghostbrainalpha 8y ago> just what are people paying tens of thousands of dollars a year to learn in college? I know this wasn't your point, but I would argue that college is a pretty bad investment in terms of a job training program.
- stcredzero 8y agoI think a lot of younger folks want to turn it into a 4+ year fun/party camp with minimal training and lots of networking.
- nicoburns 8y agoYou assume the candidate has done a CS degree. I would be quite capable of looking up the algorithmic complexity of an algorithm choosing the correct algorithm (or data structure) accordingly if the need came up in my job (which it does now and then). But I don't know it off the top of my head, because I never did a CS degree, and frankly it's knowledge that's not very useful to memorise because it is very easy to google.
- lovich 8y agoThe problem space for computer science algorithms is gigantic and many of these companies testing for this knowledge then immediately throw new engineers onto line of business CRUD apps and bug fixes, which rarely have the engineer implementing any of these algorithms from scratch. Unless you have a super targeted problem space that interviewing employees know about, then you are doing about as well as drawing a random problem from a hat. Most developers I know just brush on as many algorithms as they can remember when they are going to interview for a new job. Then they just go through interviews until they find a company that manages to pick an algorithm out of the ones they memorized. This is a giant waste of effort to create a system that is effectively a lottery if you can get past the, admittedly large, bump of being able to understand any comp sci algorithms
- stcredzero 8y agoThe problem space for computer science algorithms is gigantic and many of these companies testing for this knowledge then immediately throw new engineers onto line of business CRUD apps and bug fixes, which rarely have the engineer implementing any of these algorithms from scratch. A programmer worth his salt should retain enough 1st principles knowledge to not create a O(n^3) bottleneck in production or otherwise stay out of trouble. Unless you have a super targeted problem space that interviewing employees know about Often the specific skills are mentioned up front. It doesn't have to be that targeted, either. Most developers I know just brush on as many algorithms as they can remember when they are going to interview for a new job. Then they just go through interviews until they find a company that manages to pick an algorithm out of the ones they memorized. This speaks more to bad interviewing. It certainly does not mean that such knowledge being worthless and arbitrary. What you want in a candidate, generally speaking, is someone who can actually apply knowledge. What you are describing above is just regurgitation. http://v.cx/2010/04/feynman-brazil-education http://v.cx/2010/04/feynman-brazil-education
- sidlls 8y agoYes, and regurgitation is what tech interviews these days optimize for in selecting candidates. Regurgitation is not simply repeating the technical components verbatim, by the way. It includes rote rehearsal of a believable way to present (i.e. fake) working it out from scratch.
- mlthoughts2018 8y agoEven a seasoned expert who literally writes card shuffling software would have a difficult time writing a well-explained solution on a whiteboard in 30 minutes. Most candidates we interview have a combination of CS degrees, statistics degrees or experience, and are prepped ahead of time with some materials about the general type of question we might ask, and around 90% of them are rejected for failing to solve this question. Around 50% are given extremely poor ratings, like not even getting any type of coherent solution, even inefficient and not handling corner cases. This is what I mean about myopia. 30 minutes is barely enough time for anyone to sketch a solution to any algorithmic problem, even if they are experienced and fully comfortable with the question’s subject matter. This process just filters out candidates who are perfectly capable of solving the problem as a form of severe risk aversion against possibly hiring someone who lacks sufficient technical skills.
- stcredzero 8y agoEven a seasoned expert who literally writes card shuffling software would have a difficult time writing a well-explained solution on a whiteboard in 30 minutes. Sure. We used to give an hour, and HR reduced it to 45 minutes. I'd rather have more time. Also, you can dial up the stringency of this particular question to an expert level where hours could be used. Or, as you admit below, it can be dialed down considerably. Around 50% are given extremely poor ratings, like not even getting any type of coherent solution, even inefficient and not handling corner cases. You could also dial it back to where you accept a coherent, inefficient solution that at least shows an awareness of corner cases. This process just filters out candidates who are perfectly capable of solving the problem as a form of severe risk aversion against possibly hiring someone who lacks sufficient technical skills. So "myopia" in your view is the delusion that such a practice is anything more than that? There are plenty of people in our industry who know that's what it's really for and who know how bad whiteboard interviews are at this task. That doesn't mean the goal is worthless. It seems that many want the goalposts lowered, such that actually understanding anything isn't required anymore. We know the test is bad and that something better should be developed. What I'm arguing against is lowering the standards and getting rid of the test altogether.
- 8y ago