This is definitely not cheating in my opinion. It’s the big companies’ fault for having such invariable interview questions and simply luck that the only question he prepared for was actually the one he was asked to solve.
Is it cheating if you take an exam at a university and were lucky to have prepared just the right questions, while others were unlucky to have prepared the wrong ones? No, definitely not, in my opinion! The problem is the process itself, as the lecturer could very well not simply use a pool of questions but create new ones for each exam (which is more work, though).
This is simply a case of minimax: You could study very hard and invest a lot of time, but if you know the process is lackluster and relying on a small set of ever-repeating questions, you can save a lot of time and energy by just studying the questions and answers. Microsoft probably knows too well about the issues with their pre-screening-process, but given the author ultimately passed the longer interview in Redmond, he obviously wasn’t unfit for the job and it feels like he’s just suffering some form of imposter-syndrome or something.
Luck is a very important factor in every part of life, and I’m certain that everyone with qualification can get, with determination, a position they desire. Anyone not accepted in the pre-screening that day with enough drive might have applied at other companies and been successful. And those with not enough drive fail deservedly for not trying.
In a way, this boils down to a coin toss. You can skew it with qualification, wits and charisma, but in the end, no matter the odds, it’s a random process. That’s just life.
I agree. This isn’t cheating and is luck plus some personal networking.
Another point is that the author spent time solving the problem and thinking about it. Had they looked up someone else’s solution and presented that as their own, without working on the problem themselves, that could be a different story. But they didn’t, they worked through the solution just in a longer period.
As you said, they passed the rest of the interview process so were still a fit for the job.
And added to that, from this story we can’t learn what the minimum requirement was to be flown out for the actual interviews. It could be that whatever first guess the author was able to come up with if they did not have the prior knowledge would also have been enough to get to the second round. Apparently the recuiret war impressed, so te bar was actually lower than having “the right answer to the problem”.
I presume the process has changed in the period between this story and when I interviewed but in general this kind of screening is a deselection test. The goal is not to find good people, it’s to avoid wasting (expensive) interviewer time talking to useless ones (plus travel / accommodation budget if you’re flying them in). The bar is generally fairly low because you want to minimise the number of good people that fail, even if that means letting through a handful of folks that will definitely not qualify for the job in the end.
In general, cheating on the screening test won’t get you a job, it will get you to the stage with a selection test (in this case, the round of in-person interviews). Cheating there might get you the job (which is part of the reason why new folks usually start with a six-month probation period, in case the selection test had a false positive).
new folks usually start with a six-month probation period
new folks usually start with a six-month probation period
Is that true at Microsoft in general, or only in particular countries? My impression was that six-month probation periods in tech jobs was mostly a European thing, but I’ve never worked for Microsoft in any country.
It’s pretty standard in the UK (not just for Microsoft). I presume it’s less important in ‘at will’ states in the US, where you can fire anyone for no reason and with no notice. In the UK and EU, generally, you have to have documented evidence that someone isn’t doing their job to fire them or, if you make someone redundant, then you can’t immediately hire someone else for the same job.
When I took the AP American History test, the night before I had been trying to study but got sucked into reading too much about Andrew Jackson instead. The next day on the test, one of the questions was about that time period and so I could casually mention the years that things had happened as though I actually knew anything about US history. :-) Of course now I have no idea when he was President. 1820s? 1830s? Could it have been as late as the 40s? (Wikipedia says ’29 to ’37.)
The title is more sensational than what actually occurred
We can’t all be Carl Friedrich Gauss.
“I’m CARL FRIEDRICH GAUSS and so’s my wife”
This wasn’t an interview, it was a code screen. There’s a big difference in stakes and expectations of the interviewer. I expect a candidate to pass the code screen: if they don’t, it’s usually because they’re not applying to a job they have any feasible chance of performing. That’s why FizzBuzz and atoi are such popular screener questions. Not sure why this brain teaser is the one Microsoft went for, as it isn’t actually testing for programming ability.
Wait till he hears about “How to crack the coding interview” and “Elements of Programming Interviews” and leetcode.
These days our interviews are more interactive. If a candidate just writes out a great solution to a problem, we still have more time together, so I’m just going to change or extend the problem and see what happens.
Someone asking such an ass of a question deserves people knowing and preparing for the question ahead of time.
Years … decade+? ago I interviewed at MS at the height of people talking about MS’s stupid questions, and I studied them and found them all fun problems (though obviously completely useless, even independent of knowing ahead of time). My interview preceded to not ask me a single one - I even commented at the end of day interview about how I didn’t get one of them, and that particular interviewer said they didn’t have one.
They sent me back to the hotel in a taxi with a person interviewing for a junior/novice/graduate? PM/EPM position and they got a few of them and couldn’t work out one of them. It was a fun problem I recall working it out, but have 0% recollection of what it actually was.
I had a couple of BS questions at google a few years back - very much in the realms of what I would consider “gotcha” questions. The bulk were reasonable, but I think any BS question is a waste of an interview.
As a person who does interview people, some advice:
Whiteboard questions aren’t as BS as people think (or at least shouldn’t be, and won’t be in an MS/FAANG caliber company). Interviewers aren’t looking for character perfect coding, they’re looking for solving the problem. In my coding interviews I don’t hugely care about language, personally I’m often ok straight up pseudo-code. What you should do is clarify what’s being asked, basically is there a specific language requirement, how close to “correct” are they after, etc. What I really want is unprompted test cases, ideally before hand - just a few basic cases, and a few edge cases. When you’re “done” with your code run through your test cases. Through out everything try to keep talking about what you’re doing, or trying to do.
Nerves, etc aren’t bad. Good interviewers should recognize it and try to put you at ease. More importantly we know nerves, etc are a thing that happen - it’s not a real negative.
Talk to the interviewers - ask about the job, the work environment, etc. Use the time to demonstrate you have paid attention to what you’re being interviewed for.
Your resume/cv should be tailored to every individual job - obviously harder earlier in your career, but even as a grad applicant you should make sure any club, OSS projects, classes, etc that you list are tailored to the particular job description.
I would have other requirements if I were interviewing you, but that’s because you run into the last point above - what people are looking for is dependent on the actual job. A job I would be interviewing you for would likely be very different from what someone else on lobsters would be, and so different requirements.