6 ms·
Is that true? Isn't the generic accusation against AmaGooFaceSoft that your interview performance largely depends on whether you happened to study some intervie
by PlaceFan 9y ago
Is that true? Isn't the generic accusation against AmaGooFaceSoft that your interview performance largely depends on whether you happened to study some interviewer's pet topic (e.g. parallelism, dynamic programming, networking, etc.)?
- hobls 9y agoPeople always talk about the whiteboard interview, and assume it has the greatest weight, but the other questions are just as important. There are plenty of things being measured, and technical ability is often not the one that disqualifies a candidate. The other questions do tend to come from a standardized bank of questions too; the whole thing is very structured.
- crispyambulance 9y agoThis. I wonder how many people "think" they flubbed an interview strictly because they got some detail wrong on the whiteboard when it was really far more related to a negative impression of grit, communication, motivation, personality, or work-history.
- hobls 9y agoI think it's a lot! If you had a reasonably decent answer to the whiteboard questions it's often fine if you don't actually get it right. There are a lot of other ways to screw up an interview.
- ryandrake 9y agoAnd we will never know because the vast majority of companies refuse to give even the vaguest of feedback on the reason they are not moving forward. Not even “it was your technical knowledge” or “it was communication skills”
- rb2k_ 9y agoHaving done interviews at a few of time, I'd say that's mostly false, at least for the last 2-3 years. As far as I can tell, there's always a pre-defined pool of questions. Some of them are pretty 'open ended', but still targeted towards getting a good impression of a certain area of knowledge. That being said, I had an interview with Google at some point in the past where one of the interviewers almost seemed appalled that I didn't know the exact list of items that can be found in a filesystem superblock. But at all other companies it seemed a bit more sane. I guess it's partially a function of the type of personalities a company is willing to hire :)
- anonymoushn 9y agoRecently I failed an interview at Facebook because I chose to serialize a binary tree into a list of N items, rather than a list of N items and O(N) sentinels. Most of the interview was spent convincing the interviewer that this could possibly be correct.
- dastbe 9y agowas it a binary tree or a binary search tree? a BST can be uniquely identified by one of pre/post-order traversal, whereas a binary tree requires an in-order traversal and one other. or placing sentinels that specify a state machine [PUSH_LEFT, PUSH_RIGHT, POP] that specify how to move down and up the tree structure.
- anonymoushn 9y agoIt was a BST.
- z3t4 9y agoi recently failed a programming test after acing all tests except one where i needed a text diff and pulled in a library instead of writing my own in less then ten minutes. they said i need to get better at algos. which is fair. but i dont know anyone that can program a decent working text diff in less then ten minutes.
- mquander 9y agoBased on your description, it sounds possible they were just looking for a Levenshtein distance implementation, which is definitely in the Universal Weird Corpus of Interview Questions and for which people who prepare for interviews a ton would have a good shot.
- flukus 9y agoI ported a diff algorithm (a simple one at that) just a few months ago because the language I was working in didn't have one. I couldn't do it off the top of my head today, or probably the day after, it was transient knowledge that I didn't even try to remember.
- nostrademons 9y agoThis accusation is almost always from people who haven't studied that particular pet topic. In my experience, the pet topics you list - parallelism, dynamic programming, networking, etc. - are needed quite frequently for those jobs at AmaGooFaceSoft. In other words, those candidates would be poor fits for those jobs, which is exactly what an interview is trying to test. I think the Google hiring process is fucked up in a lot of ways, but I don't think reliance on whiteboarding or the selection of interview questions are two of them.
- ZanyProgrammer 9y agoAre those topics really needed for (what you're implying) is the majority of jobs at those companies? I'm not sure if there's any way to really test this.
- nostrademons 9y agoYes. This is the reality of distributed computing: most of the problems you want to solve do not have off-the-shelf libraries. Rather, you need to know an algorithm, and various algorithmic-design techniques, well enough that you can decompose it into steps and then recompose steps so that they can be partitioned among many different computers, with appropriate failure modes if machines or network connections go down. That requires intimate knowledge of both the algorithm and of the types of problems you run into in a distributed setting. MapReduce, Pregel, Bigtable, Flume, etc. are building blocks: they solve some of the distribution problems, but you still need to understand how the algorithms that run on top of them work, on a step-by-step level, to implement on top of them.
- deleted 9y ago[deleted]
- mquander 9y agoIs that actually a majority of jobs at Google? I know something about the work that several of my friends working as SREs and SWEs do and it doesn't sound like it involves a lot of distributed systems programming. Let's say you work on some part of Android. Obviously you need to interact with things like Google's build system which are distributed, but are you really implementing some distributed computation in the course of your every week, or even every month? I get that Google wants to test during the interview for suitability over a large space of possible specific roles, but I seriously doubt that "distributed systems stuff" would be in the list of top 10 programmer domain knowledges that are useful in those roles. Is it more useful than knowing how to work with version control well? Everyone at Google has to do that, but they don't test it during the interview. Is it more useful than being able to read and write idiomatic and readable Java? They don't really substantially test that during the interview either. (On the other hand, the things that spawned this conversation were "dynamic programming, parallelism, and networking" and the latter two are much more obviously generally important things.)