3 ms·
Whist number theory may never come up in Django tooling. "Something you don't know" always will; it is valid to try and determine how people respond to question
by ZiiS 4y ago
Whist number theory may never come up in Django tooling. "Something you don't know" always will; it is valid to try and determine how people respond to questions they don't know the answer too.
- manfre 4y agoIf the candidate says they don't know a topic, that is a valid response. It's not worthwhile to ask detailed questions about the topic. That's a sign of an inexperienced and/or unprepared interviewer.
- pclmulqdq 4y agoAsking someone "how many prime numbers are there?" seems pretty valid to me. It's an easy question. The two valid answers are: "a lot" or "infinite" (with "more than 10" also being a fine answer IMO). I'm not sure the interviewer was expecting the actually correct answer here (infinite) - lots of programmers don't know that there are infinite prime numbers - I think he was trying to set up for an explanation of an algorithms problem. By saying "Optimus Prime," OP has shown that he prefers to cover up gaps in his technical knowledge with snark and being an asshole rather than taking a stab at it and working in good faith. That answer would have disqualified him in my opinion. Even respectfully saying "I thought I was intervieweing for a Django tooling position" would have opened the door to further conversation.
- Verdex 4y agoIf the job had been some sort of super low level position requiring a lot of hand written advanced data structures, then I might agree with you. Hashes, priority queues, skip lists, etc all rub up against more math heavy topics (number theory, statistics), so you would expect a candidate to at least have some familiarity with prime numbers. However, for a web framework? Like, primes are pretty simple, but they're also pretty niche. What range of 'easy' questions that are not directly or indirectly related to the job are allowed to be asked? Can we ask questions about the correct leavening agents to use for different types of bread? I mean technically we're just trying to see how they cover up gaps in their technical knowledge. And all questions are 'easy' for the right people. If you lure someone into a place with the promise of gainful employment and then waste their time with niche questions that are unrelated but you happen to have warm fuzzies about, then you should probably expect to get a bit of snark.
- pclmulqdq 4y agoI think if you're going to ask a subsequent question about an algorithm for predicting when bread is done proving, you are allowed to ask about leavening agents. That way, you can bypass the long explanation, and just say "Given n loaves of bread with X characteristics, design an algorithm to predict when they are done proving." That might actually be a decent data science interview question. I used to ask an algorithms interview question based on bridge (the card game), and I asked a setup question of "have you ever played a trick-taking game?" That lets me see if I need to use the short explanation or the long explanation, and if you answered that you knew how to play bridge or spades in a follow-up question, I would ask a much harder version. If you've never played a card game in your life, I would switch questions (this has happened several times). In real life, most people understand that this kind of question is a setup for a subsequent algorithms problem, not a quiz of your knowledge of bridge or prime numbers (particularly after you say that you don't know number theory). The interviewer didn't care how much you know about prime numbers any more than I cared about whether you knew how to play hearts/bridge. The interviewer was almost certainly trying to figure out how much he needed to explain in the problem statement for the algorithms problem. Responding with snark only shows that you are not willing to work with them in good faith, and you are not willing to see where the question is going. It shows that you think you know what they should be asking you, and you have contempt for them because they are not running the interview the way you prefer. By the way, if the primes thing was actually a quiz question that didn't go anywhere, I would encourage any Django programmer to say a gentle "fuck you" at the end of the interview. I certainly would.
- checkmypythons 4y agoStill, whether or not the question was valid/appropriate/useful doesn't really matter. On the job, sometimes you will be asked things you don't know, or things you shouldn't even be responsible for knowing. The way this person responded to receiving a question like that indicates that they might be a difficult person to work with. The interviewer sounds probably bad. After the person made it clear they didn't know about number theory, they should have moved to a different topic. But still, answering "Optimus prime" just suggests immaturity or even combativeness in the face of a difficult situation, which isn't someone you want to hire. There are a thousand better answers. Even snarky answers are fine as long as the person is meaningfully engaging. "I don't know. Probably a lot" "Maybe infinite. I'm not sure." "It's an interesting question. Am I allowed to look it up?" (As someone else said) "Definitely more than 10. Outside of that I'm not sure." "I don't know. But here is how I would write a script to figure it out" It comes back to the "move mt. fuji" style questions mentioned in the article. The point of an interview is not to determine whether you would be able to move mt. fuji anymore than whether you are able to answer the number of primes. It's about how you communicate and approach a problem. "Optimus prime" is such a non-starter that it doesn't even allow for a discussion. I'm speaking as someone who passed a google interview and worked there for several years, so there may be some reason to believe my feelings around interview approaches are based in fact.
- leetrout 4y agoThis was a ways in to the interview and I do not think I was being as asshole. I didn't say it in a mean way or anything. I was laughing about it and said I had no clue and wasn't something I was interested in. He came in ready to grill me and I did not then, nor do I now, see any benefit to adversarial interviews. I said I knew nothing when he asked about number theory. I never tried to cover up anything in my gaps. The interviewer proceeded to ask questions about it. I don't have a CS degree, I have never claimed I did or that I enjoy or even want algorithms heavy jobs. This was an internal tool to manage datacenter component ordering. I would never ask a bunch of questions about something borderline esoteric to someone that has already said they don't know anything about the field. I have had plenty of interviews where I am doing the hiring and when I realize the candidates are in over their heads I politely ask some fielding questions (like, do you know number theory is great, and fair) and then just conclude the interview kindly or toss them a different set of questions depending on how the interview has been going.
- pclmulqdq 4y agoI assume you were flustered by that point due to a previous interview, and feeling a little frustrated or defeated. I've been there, when I think it's not going well but they still want to talk. Nevertheless, it appears to me that those were setup questions for his real problem to figure out how to explain it. If you had approached it with a more open mind, you may have gotten the job. You would have at least heard the question. I know that most people here hate the Google-style algorithm problem, but I think the question he was going to ask would be about computing the nth prime or counting the primes less than k. I will also point out that many people who know nothing about number theory know that there are infinite prime numbers. It's not necessarily redundant.
- Verdex 4y agoI think this is an 'okayish' position to take. There are some people who absolutely can't handle being wrong, and I've personally seen them wreck havoc when they get out of their depth. However, there has to be a limit to the nature of the questions that are being asked. If I'm spending my free time to go check some place out because they're telling me that they might be willing to give me a job, then I'm going to be kind of put out when they start asking me questions about what the 50th letter is in shakespeare's macbeth. The questions have to be somewhat on point. This isn't a medieval system of patronage where I have to be subject to every whim of my patron. We owe each other to not waste each other's time. And if they're going to 'break trump' then I don't see why I shouldn't as well. I can hear the objection though, 'oh primes are relevant to development.' But are they really? Maybe for advanced data structures like hashes, but what are you doing with a web framework that necessitates you write your own hash function? Besides, if you know about prime numbers, but not weak primes, strong primes, strong pseudo primes, safe primes, etc do you really know about primes and their CS applications? No, you just picked up some random trivia in high school and you're put out that everyone isn't as excited about it as you are.
- checkmypythons 4y agoI think you forget that even technical interviews are still aimed at examining soft skills. "What is the 50th letter in macbeth?" could easily be interpreted as "How would you go about finding the 50th letter in macbeth?" which is plenty relevant to basic scripting. "Do I have a source I can pull macbeth from?", "How does that source work?", "Can I query it for individual characters/words/chapters/etc.?" I think a fundamental problem a lot of people in the comments section are missing is that these interviews are designed to examine the approach to solving problems, not the actual answer to the problem. Sure, if you get a question about traversing a tree, they probably just want you to repeat some basic knowledge. Maybe something that will illustrate my point: If you happened to know the 50th letter of macbeth off the top of your head, it would defeat the purpose of the question. The point is to examine your problem solving process. If you were to just answer "r", then the interview would quickly pivot to: "Ok, what is the 307th?" or "Ok, what is the 50th letter of Othello?" The point is not to answer the question, so much as to establish the person's ability to answer questions. Any answer that was a straight up answer isn't useful in any way. There are all sorts of ways your example could be expanded into a useful examination of someone's programming abilities. If prompted, the interviewer might provide: "Let's say we have an api for querying the text of a given shakespeare work" "Could we expand that to other historical plays?" "What if we wanted a service to provide an arbitrary letter from an arbitrary play?" "What if we wanted to allow the user to specify between several options for the api we might use?" "How could we handle differing responses from different apis?" "Should we be counting punctuation or whitespace?" It isn't so much that a certain subject (historical plays) might be relevant to the job requirements, it's that these questions are more about examining problem solving approaches.