I looked at the first few Android question lists and the questions were terrible. "What are the four API classes used for sensors?" Are you kidding me?!? I have over 10 years of experience building Android apps and I have no idea of the answer -- and I've probably used them! Along with the thousand other apps and classes in the framework. If someone asked me that question I'd kindly explain that I'm no trivia master, that's what documentation is for and walk away.
When interviewing for senior (read: C-suite) positions, I sometimes try to gauge how someone reacts to dumb questions. Ignoring it is bad. Walking out is bad. Explaining why it’s wrong is good. Trying to get at the intended question is best.
Probably not what’s going on here. But human systems require debugging as much as technical ones.
Well if thats what you practice on your interviews then you might miss out at some people that might react the way you want them to react and be a good fit.
I would personally walk away as well, its not like am some kind of superstar, I just feel that I won't be a good match to a company that asks questions that I feel are not needed. The way I see it an interview is always two ways. The company is interviewing me to see if am a good fit and I am interviewing the company to see if they are a good fit for me since I'll be spending at least 8 hours a day 5 days a week of my time working for that company.
Personally so far what I've seen working ok for us in human systems is to just have a talk with the person we are interviewing, see what his/her hobbies are and generally feel if he/she is a good fit.
> Personally so far what I've seen working ok for us in human systems is to just have a talk with the person we are interviewing, see what his/her hobbies are and generally feel if he/she is a good fit.
Bingo. Thats basically our interview process. I could ask stupid technical gotchas but thats idiotic. Better to ask pointed questions like: oh you like to program micros on the side, if you've programmed SPI before tell me what your most fun debug session involving that entailed.
These questions tell me more than anything like fizzbuzz can. You dig into details as much/little as you need to based on the replies but I honestly think the people you want shine though with their stories, not their rote knowledge.
If someone started spouting off intentionally wrong things in an interview as stated in this comment tree, I would call it a day and say thanks for all the fish, but I'm not starting off having to rebut 2+2=5 for this company. Even if that is a tactic for discussion, lets just have the discussion, as it stands that just makes me not want to work there as now what is the day to day like? Do I have to prove the world isn't flat constantly? Better to not find out and look elsewhere, even the weird cs quizz jobs are better than trying to deal with those kind of dynamics.
> I would personally walk away as well, its not like am [sic] some kind of superstar
You’re a perfectly-reasonable person. I also think you’d find the work those positions do frustrating.
You can’t tell a multibillion-dollar client they’re asking stupid questions. You also can’t ignore the potential problems their asking them hints at. Walking away, usually, isn’t an option. Similarly, a CEO and CFO must be able to productively field “dumb” questions from potential investors, acquirers, distributors and yes, employees. “Dumb question” shouldn’t frankly exist as a category in certain relationships. Only opportunities to improve mutual understanding.
Not every role is for everyone. And not everyone is for each role. Part of interviewing, in my opinion, is not only qualifying for fit with the company but also fit with the role. (For solely internally-facing roles, I prefer a let’s get a walk/beer/take a hike together chat.)
Purposely saying something wrong seems a little dishonest, like you are setting a trap. It really sets things off of the wrong foot if your first interaction proves that not only can you conceal your true thoughts and express something that you aren't thinking, and not only are you willing to do it, but on top of it all it doesn't take much motivation before you start. It would be a lot better to wade in to something you honestly didn't know about, so that your expression of not knowing enough to ask good questions was not only completely realistic but also truthful. If you can't think of anything that you don't know enough about to ask good questions, then you either need to evaluate yourself better or get out more. ;)
To see it from another perspective, imagine what your response would be if you found out that someone you were interviewing was pretending to know something they didn't, just because they preferred to work with people smart enough to notice they were faking.
> Purposely saying something wrong seems a little dishonest
I agree. I never proposed that. I said I purposely ask questions the person at hand might consider dumb.
Note that many classic “dumb” questions are actually interesting, if not in their specifics then in why so many people ask them.
> imagine what your response would be if you found out that someone you were interviewing was pretending to know something they didn't
Again, asking dumb questions doesn’t require lying. Everyone goes through a dumb-question asking phase when learning. (I do.) The worst effect of this might be the interviewee walking away thinking me uninformed. Which, if I’m interviewing them, I probably am (relative to them). That’s why they’re being sought! In any case, people thinking I’m dumb is a fair price to pay for a well-tempered executive.
Sometimes when I'm interviewing people I say things that I think are wrong because I want them to challenge and defend positions. I always preface these sections of the interview with a moment to explain that I expect them to push back and disagree if I say something they think is wrong so that we can talk about it. The reason I give that warning is because I want to stop people from just agreeing because they're in an interview and don't want to seem disagreeable.
That's just a new spin on a trick question and is quite frankly bullshit. You are right away telling the person you are going to be deceptive and they need to catch your lie. It's a terrible tactic.
A large portion of my job, and the role I interview for, involves discussing alternatives, taking positions, attacking and defending them. I use hypothetical situations, and defend what I think are incorrect positions, to see how the candidates defend their positions. To me, this is an efficient test of a few things - can they identify the best position, will they resist the bad arguments I put forth to advocate for my bad position, and will they give intelligent and clear arguments to defend their position?
It's a huge part of the job and the idea that I shouldn't test people on it strikes me as absurd. You seem like you're jumping to interpret what I've said negatively.
There's a wonderful mechanism we've invented for this purpose. It's called tenure.
Imagine a candidate who came in and said, "I'm really great at this computer stuff, just trust me!" but refused to show a resume, prior work, to even talk about it.
"Push back, it's fine, trust us!"
This ends up filtering for people who can deal with your bullshit,(as in: have other options) and don't mind doing so. So, good for you, I guess, but you could get better people by fixing your culture and being straight with people.
I don't understand any part of what you've written.
Regarding tenure, I don't understand how that's applicable to hiring new people.
Regarding the imaginary candidate I think this is supporting my point - no? Just like you wouldn't want to trust someone who offered no evidence for their abilities, I want to discern whether people can stand up to arguments and make compelling arguments for their case. In order to get the evidence I put them in a position to stand up to arguments and put arguments forward.
Regarding your thoughts about how this filters people, I think you've summarized it incorrectly. Even if I agreed that asking people to argue against me in an interview was "bullshit" then that wouldn't filter only "for people who can deal with your bullshit,(as in: have other options) and don't mind doing so". Clearly, the people who have no other option would also put up with the tactic, as they have no other option. Thus, the filter, as you put it, filters only people who don't mind putting up with the interview question. This is actually a point in my favor because if the candidate is not comfortable arguing for or against positions in a professional context then they would not be a good fit for the role.
Finally, you suggest "fixing your culture and being straight with people." I think I am being straight with the interviewee. I tell them upfront that if I say anything they disagree with I want them to push back on me, that I think disagreement and debate is positive and sometimes necessary. Again, the role requires disagreeing and pushing back on arguments, often in situations where there is pressure not to, so I think giving friendly encouragement and setting up a hypothetical situation where I will disagree with the candidate is a very reasonable thing to do.
Lying to a candidate immediately sets a pretty bad image of the company. While someone might try to put things in the best light as possible, maybe with some small exaggeration. That is a huge difference between "I am lying to you"
Isn't 'lying' a bit strong here? When ALittleLight said
> I always preface these sections of the interview with a moment to explain that I expect them to push back and disagree if I say something they think is wrong so that we can talk about it.
I interpreted that as, at least implicitly, flagging to the interviewee that not everything the interviewer says will accurately represent his/her views. Perhaps it could be made clearer, but it doesn't seem like the intent is to deceive.
Yes, I intentionally didn't go into to much detail and I think that's obscured what I was trying to say. I explicitly tell the candidate that I may defend points I disagree with and that I want them to push back if they disagree. Furthermore, the interview question where I do this is about a hypothetical project where we are prioritizing work that needs to be done in order to ship a project. While I didn't offer the clarity in the earlier comment, I don't think there's a way it could fairly be interpreted as lying or deceiving.
The poster literally said they were going to intentionally say things that they know are false.
That's pretty much the definition of a liar and outright deceptive.
Besides that, the tactic of trying to be debative and in this case outright dishonest and slightly combative is an incredibly terrible method for interviews.
Honestly the poster should be banned from giving interviews.
The poster is using an interview technique of creating an imaginary scenario, e.g. "deal with a work colleague who is advocating a sub-optimal position". This seems entirely reasonable.
It seems to me that you've jumped to a very strong conclusion, based on a brief conversation that you have interpreted in the least charitable way possible.
Why not just do a “Describe a time...” behavioral question ?
In an interview both sides should put their best foot forward, assuming positive intent and trust. Purposefully asking “dumb questions” on the hopes someone picks up on the game, and then plays it as you expect, seems like a suboptimal approach.
> Why not just do a “Describe a time...” behavioral question ?
I find “describe a time when” answers mostly useless. Interviewing, at a senior level, is a proxy for time on the job. Senior people must constantly deal with information flow. Being able to pick up on when to add to or correct that flow is key.
Note that this doesn’t have to be done in a pretentious way. My favourite way to do it is to discuss the company’s R&D. I will almost always know less than the interviewee. Their ability to accurately communicate in that context is vital.
Again, this only applies at senior positions. Lower down, one expects managers to know their subject matter with more detail. You can’t do the “go solve this approximate problem” thing one can with senior management.
I had an interview where the interviewer didn't understand amortized complexity.
* thought pushing n elements into an empty vector took O(n) amortized time (it's just O(n) guaranteed)
* thought a hashmap lookup took O(1) amortized time (it's O(1) expected not O(1) amortized).
I tried to gently correct him but he insisted on his views and I felt like I had to drop it so we could discuss other things also felt like I was dinged for it.
On the other hand I've been on the other side of the table, and can appreciate that interviewing people is hard too.
Sometimes pushing into a vector is O(n), but typically not. So it’s the penalty of allocating new data memory when the underlying array needs a resize that’s amortized for multiple push calls.
Similarly with a typical hashmap, the keyspace should occasionally collide, meaning non-edgecases would amortize to O(1) for multiple inserts.
When interviewing for senior (read: C-suite) positions, I sometimes try to gauge how someone reacts to dumb questions.
This can be OK as long as you preface it with something like, "If you don't mind I'd like to ask something that might like a dumb question..."
If not -- if you're deliberately gaming the candidate (or cloaking your true intent in any way) -- then of course the better candidates are going to smell that right away. At which point walking out the door is not only permissible - but arguably the only response that make any sense.
I think you hit on a critical skill that's possibly more important than knowing all this code trivia: how to not know something.
I want to give out questions people don't know because I want to hear how they talk through understanding the question, what they know that might be related and why, and how they'd go about finding out. Hearing all of that is far more interesting to me.
You are in the minority. I said something like this, more tactful, in a very recent interview. The question was related to troubleshooting a performance issue on Linux. I answered, with the process and tool I would use and how I thought it would help, what I was looking for etc, high level
The interviewer response was along the lines of 'anyone can spout off command names, but what's the flags and parameters, and what do they mean'. I answered I don't know the exact syntax, I'd have to read the man pages or my notes. The interview was cut short and I was removed from consideration.
Note, this was not a FANG, was not for SRE or Systems admin type role either. But this was my experience. The majority of interviews want you to repeat trivia bullshit because it makes their job 'easier'.
It's funny. It's like the interview process is designed to build bad habits. If somebody needs to troubleshoot, I'd prefer someone who reads manpages. If you need an actual algorithm for something, I'd prefer someone who has a look around for libraries first and if it's really necessary, cracks a fucking book and figures out what the right answer is, rather than over-confidently pulling utter bullshit out of their ass on the fly.
Honestly though, annoying interviews are just no-poach 2.0. It's a form of wage suppression if you really think about it.
Obviously the person has to have a clue what they are doing. But I would never expect them to have the details memorized. "I'd look at the docs and stack overflow" is a valid answer. As long as they had the thought process established of what was being accomplished. They knew where they were going, they worked out a reasonable solution but maybe didn't remember some command flag. Memorization is useless. How does the person aproach and solve the problem is far more important.
The harder it is to change jobs or explore opportunities in parallel, the less employers have to compete.
There was a whole lawsuit about no-poach where a group of employers chose explicitly not to compete by agreeing to not hire each other's employees. I believe the same effect can be had by simply adding friction to the structure of the market itself.
What's amusing to me is the brilliance of it. It essentially exploits egos in the workforce to suppress their own wages.
I wish I could downvote you. You have completely missed my point. I am absolutely 'real' during an interview, the problem is, the other side of the table doesn't WANT what my 'realness' is. They want cookie cutter CS grads.
Agreed, but it is still a frustrating experience. Though since this is the experience I have had, I have a i play the game to get a job. I never know if the next interview will ask the same shit but, I expect it at this point and I still hate it.
From my side (hiring) it's rough too. All candidates seem prepared for this stupid game. Then I'm like, hey, show me some hobby code of some thing you shipped. Let's talk about your bugs, how you ship? Why you pick that stack? Watching a candidate click through their own buggy stuff teaches me so much, so fast about the person.
My experience is that candidates are ready for trivia and sample/theory but are not ready to brag about their own cool shit. Talk about how great you are and what you learned, defend your choice, evaluate where to improve. That's what we do every day. we only use the white board for drawing arch-pictures/diagrams, and the occasional dickbutt.
In fact, that's my new (and only) whiteboard question.
I have a lot of 'cool stuff' I would love to elaborate on, personal projects and home lab stuff. Though again, in my experience, companies don't want to hear this. They want to see stupid ass 'bubble sort this, merge sort that, fixx buzz without modulus' crap. I can't do that, I don't -want- to do that. I am not a programmer (despite my handle). I can script, I can automate, but I should NOT need to know every damn CS algorithm under the sun for a fucking NON dev, non programmer, role. I'm tired of this interview process. Tech is the only industry I know of, that has multiple interviews of varying nature, including phone, web camera/ doc collab, on site multiple days, etc etc. I once told a non-tech person the type of gauntlet needed to even get an INTERVIEW let alone a JOB in this realm, and their question was aptly "why the hell would you ever put up with that?". Their job interview was: resume -> onsite with manager, hired.
I loathe this type of interview bullshit culture, and it more than anything else is driving me out of the industry. Sure I'm not Jon Skeet, but I do my job and I do it well. Continuing with these types of interviews and company shit, makes me want to go be an electrician or mechanic or anything the hell else.
Yeah, I don't remember is a perfectly valid answer to a question like that IMO.
Especially in any language where you have suggestions in your IDE, just remembering where it is would be fine. "Oh yeah that's in the IO.Sensors namespace" or wherever it is.
If there are some incredibly common pitfalls or footguns, those are a better test, especially if you can ask something like what the difference between two methods is. But even that is pushing it.
Operators, on the other hand, I think are fair game. If you're doing Javascript you'd better be able to tell the difference between `==` and `===`, even if the answer is "== does magic things that surprise people and I don't remember what they are, so I stick to ===".