3 ms·
There's a big difference between software development job interviews and job entrance exams that is often not evident on people who aren't deeply immersed in so
by geebee 9y ago
There's a big difference between software development job interviews and job entrance exams that is often not evident on people who aren't deeply immersed in software culture.
Interviews happen in every industry. An interviewer asks about your interest in the company, your background, your leadership skills. Your technical skills may be investigated here, but in a discussion format. You may be asked questions about your knowledge of a database or perhaps a programming language, but you won't be tested specifically on that language.
Then there's the technical "interview" that is really an exam. Google's interview is a good example of this. You go up to a whiteboard, and the interviewer says "write a method to convert an integer to binary. Now add and subtract in binary. How would you square a binary number". You should be writing code on the white board, in either a real language or very tight pseudocode, to do this. Alternatively, the interviewer might ask you to find your way out of a maze, probably through some kind of graph traversal algorithm. Again, you really do need to write code that solves the problem.
This style of interview is indistinguishable from an exam. I think it exists because programmers don't have an actual exam in their field. It might be similar to asking a senior actuary to find the linear span of a vector space. There was almost certainly a time when the actuary could do this, since the actuary took an entrance exam on vector calc and linear algebra, but it isn't something a senior actuary most likely walks around ready to do. It would require re-studying.
As a few others have pointed out on this thread, there's a difference between studying for an exam and prepping for an interview. I've resolved not to do the latter anymore, but I really may simply not have that choice. The practice is deeply entrenched. But the former, of course I'd prep for an interview.
And also, you know, I actually think it's a good thing that lawyers take the bar, that actuaries take math exams. I don't think it's outrageous that people who hire programmers would want to know that these programmers have, at one time, passed an entrance exam on data structures and algorithms, binary operations, and so forth. The problem is that because we don't have such an exam in our field, we have to take a random and often unexpected version of it, under conditions of secrecy, with no feed back, evaluated by people who may not be qualified and who can be captious and arbitrary in their assessments.
- 46Bit 9y agoI've had software engineering interviews that started with a written exam on general math, linear algebra, pseudocode and a little system design. It was quite enjoyable and refreshing compared to most verbal interviews.
- geebee 9y agoSounds like a good match for you. I actually kind of enjoyed studying for and even taking my google exams. My day job often involves a lot of very intense and intricate work, but not necessarily fun concepts. I actually enjoy trying to figure out how to find all matching subtrees in a general tree, or all the permutations of a subset and whether they can be reassembled to enclose a different set, and how to do this efficiently. It actually is sorta fun. Unfortunately, getting sharp enough at this where I can handle new questions like this in 45 minutes at a whiteboard was a bit much for me. I might be able to do it with several months of intense study. I was surprised with the amount of process they really do expect you to make at the whiteboard in 45 minute (the reason given for the no hire was that I analyzed problems well but just didn't make enough coding progress. who knows what that really means, they may have just been being nice). Honestly, it may be a good filter. It shows that I either 1) am not quite sharp enough to get to this level within a couple of weeks, or 2) am unable or unwilling to invest the amount of time necessary to get myself to this level over a greater period of time (i.e., I have other life demands that prevent me from doing so, or am otherwise disinclined to do so). That may give a tech employer some key information about my ability to devote myself to the job to the extent they would like.
- sidlls 9y agoThat wasn't a software engineering interview. That was a programming interview. There's a rather large difference.
- magic_beans 9y agoIt's amazing how what can be "enjoyable and refreshing" to one can be the zenith of horror to another...
- 9y ago