5 ms·
In our technical interviews, we asked the following questions to our candidates: - Find the most frequent integer in an array - Find the common elements of tw
by kawsper 9y ago
In our technical interviews, we asked the following questions to our candidates:
- Find the most frequent integer in an array
- Find the common elements of two int arrays
- The buying/selling stock question from https://www.interviewcake.com/question/java/stock-price https://www.interviewcake.com/question/java/stock-price (slightly modified, I removed the word efficient as I only care about a correct solution, not the most efficient one, and we provided a data-set with a correct answer).
They were asked to bring their own laptop, and use their favourite editor, with the language of their own choosing, and setup a test environment.
It was an eye-opening experience to see how different the responses were, also how few that could actually solve the first two ones, I subscribe most of this to pressure to perform, but I think we at dodged two that was really good at talking, but had never opened their editor for at least a couple of years, despite their resume stating otherwise, and when asked about it they did programming every day.
I am all for finding better ways of interviewing for new engineers, and I really like their points about communication, but I am not sure giving them access to master and start hacking around is a fair challenge either, of course that is where the pairing aspect comes in, maybe it is worth a shot for our next round.
- grogenaut 9y agoWhat percentage of candidates should you filter out before bringing them on site EG what percentage of these people into that we had about just wondering because it makes a difference in where in the funnel they were
- kawsper 9y agoWe placed the technical interview as the second interview. So if we thought they were a good match they would go to the technical interview, and if they completed that we would offer them the job. I am not sure how many we rejected before the technical interview, because I wasn't involved as much in that part.
- grogenaut 9y agoKk. I've seen widely varied screen out procedures and that can heavily hit on how many "can't even write a for loop" candidates you get.
- BlackjackCF 9y agoWhat I've seen done at my last jobs have been the following: - A pretty simple take-home problem (something that just implements two or three classes) - An exercise to refactor really terrible code (this is offered in alternative to the take-home) - Questions about architecture that they've worked on in the past, the problems they've had to deal with, etc. Just asking those questions and seeing how they do with the simple challenge is enough to see if they have at least good code instincts. In person, they can justify their decisions (and it's good here to see if they can take feedback, run with it, and come out with a better solution). Ultimately the interview process should smell out if 1) they're an asshole to work with 2) if they're able to have good code/architecture instincts.
- amitutk 9y agoYES! for the first 2 questions. My go to question is reverse an array (without using any library functions). Instead of asking a quirky question, it is better to have them solve a simple problem and judge on logic and structure.
- walrus1066 9y agoWhy can't you use libraries? You're rewarding people for reinventing the wheel.
- bragh 9y agoBecause in many languages, this is trivial to the level of calling .reverse() on the array.
- dragonwriter 9y agoSure, but in some of the popular languages where that is the case, .reverse() is no more (and no less) a “library feature” than creating or indexing an Array.
- walrus1066 9y agoIn which case, the question isn't really relevant to the job. Same goes for stuff like sorting algos. Why not pose problems more representative of the job and business domain?
- glibgil 9y agoBecause reversing an array is super easy and using a library is one function call
- dragonwriter 9y ago> Because reversing an array is super easy and using a library is one function call It's not super easy without using library functions when all the operations that work on arrays (including the constructor that makes them) are as much “library functions” as the one that reverses an array. (Conversely, if the mechanism that reverses an array is part of the language core and not a library, the restriction fails to have the expected effect from the other side.) The restrictions seem to assume that every language has the same division of distinct core “language” features as distinct from what is provided by libraries.
- protomyth 9y ago> They were asked to bring their own laptop, and use their favourite editor, with the language of their own choosing, and setup a test environment. That's a really nice way to make someone a lot more comfortable. I do have to ask, was any part of your judgement affected by those choices?
- walrus1066 9y agoAre these tests actually representative of the kinds of problems you need to solve regularly in the job?
- sillypog 9y agoI do think these are reasonable questions, and allowing the candidate to use their own laptop sounds very fair. One thought though, not necessarily for the poster but for anyone who asks these questions: for the second question, finding common elements of two int arrays, the idiomatic Ruby answer is: x & y Would you be satisfied with that answer? As a candidate, would I be expected to create a set of tests to ensure that it works, even though this is a standard feature of the language? If you would not be satisfied with that answer, would you be surprised that a candidate might struggle with an alternative, knowing that they would never use an alternative in their normal coding experience?
- glibgil 9y agoSo, in all three cases if you sort the arrays (the last one by price) then the rest is super obvious?
- dvlsg 9y agoI think the order matters in the 3rd exercise. As in your "buy" index has to come before your "sell" index.
- crazypyro 9y agoI actually disagree with most of the other posters about bringing your own laptop. I only own a desktop and chromebook. I use a macbook that my employer provides, but I wouldn't feel comfortable bringing that to an interview. I think by asking someone to bring their own laptop its creating an unnecessary requirement, but I realize I may be in the minority as far as laptop ownership goes...
- kawsper 9y agoIf you didn't have a machine, we would of course provide you with one. The feedback we have received is that people felt more at home with their own tools and hardware.