55 comments

[ 0.31 ms ] story [ 21.3 ms ] thread
It's interesting to see how interviews often test more than technical skills. I probably would've made the same choice and asked for another question too man. Really enjoyed reading this.
What was the lesson learned?

I’m guessing they didn’t care whether or not the OP knew the answer, they just wanted to see how they solved the problem and cramming for the test is the anti-pattern because that’s what the try-hards do and you generally don’t want try-hards around except where you need people to grind out things.

A classically terrible interview question. Solving riddles in realtime is almost never a real job skill. _Maybe_ in an incident, but you’d be relying on tooling and experience, not an intern.

Same with leetcode at startups. It makes no sense. You’re almost certainly not going to do algorithms work. It’s only relevant if you’re looking for people willing to grind bullshit, which is certainly some jobs, but, again, you’re almost never doing this under arbitrary time pressure with someone watching over your shoulder judging and not helping.

My advice: if you encounter this, don’t work there. If a company doesn’t value testing relevant skills for candidates, don’t expect leadership to be strong critical thinkers once you get there.

Microsoft is a dumpster fire. You probably dodged a bullet. Source: I work in the dumpster fire
I’ve been through the Microsoft loop(s) several times over the years, and (to borrow from Tolstoy) each was unhappy in its own way. There were great people who would have been a pleasure to work with but always at least one joker in the deck. One just had to laugh because it was so obvious it wasn’t me.

I remember speeding through the loop for something closely analogous to my job at the time, only to be suddenly told by the hiring manager (who up to that time was a strong supporter) in a final interview that I wasn’t qualified. Not wanting to invest any more energy, I formally withdrew, only to get a call from him protesting why I’d do such a thing. Or being told to leave at the end of the day only to be called to drive back 20 miles immediately during dinner, and finding out later that was a mistake. Or being literally screamed at (spittle in my face!) that HPC was only MPI and nothing but MPI. Or being yelled at that Windows Server was exactly the same as an enterprise storage system like EMC/HP/Hitachi. The hits go on.

Theres a Sphinx working at Microsoft and you proved that you aren't capable of adapting to the team culture.
Life lesson learned for OP, when it comes to tech interviewing:

(1) the riddles you already know you answer after some staged deliberation to pretend you are working it out from first principles using your genius brain (bonus points if you can work "first principles" into the conversation).

(2) The riddles you don't know the answer to are the ones you say you already read in a book or online and repeat this until you get back to a (1)

(comment deleted)
Counterpoint to many responses here - when I have interviewed people, it’s a really positive signal if the candidate says they have already seen a problem- the we can move onto something more interesting! Not solving does not mean failure either. As a candidate myself I always mention if I have seen similar problems, such as finding primes - real example, and I was hired on that loop at Microsoft!

On the other hand, if I heard that a candidate had not mentioned they had the same question twice, or later let it be known they already knew the answer, I would lose a lot of trust in them.

Be honest; it’s more likely you will be hired by honest people.

Sadly I've seen this kind of interviewing from lots of places; maybe it's a technique they teach in college or something.

Interview questions like this are useless as they are not an accurate approximation of a real work scenario. I've frozen up at a whiteboard in an interview before, and then figured it out on the drive home.

The best approach I've found is to do a send home quiz, and then ask them questions about the quiz to test understanding. The test also shows coding habits, which tells you a lot right there.

Bonus: put some typos in the quiz that don't matter. Red flag for the people that get hung up on that.

I really loved to work there. I knew alot of friends, toured the campus, and even worked with prior employees that had good experiences. Every product before 2015 was beautiful (i still miss my Zune).

Then they broke me. I tried to give feedback on the products, interviewed, and really tried to reach out to them. Mostly ignored (except Outlook team, thanks ). The heavy marketing and tech debt within Windows is what did it for me. Rant over.... the interview felt like some trick questions at that time.

As I have grown older, I have realized dead-honesty is a false ideal to live by, especially when it comes to being rewarded in the capitalistic world. I know someone who reached executive level position in a major company and all of his career progress can be traced back to lying on his resume about a NASA internship he never got, which he conveniently purged later from everywhere.

I wouldn’t go that far, but I think it’s perfectly fine to reverse-engineer the interview game and reap the rewards. There’s no reason to feel guilty about it.

Totally agreed. Capitalism is just a game of competition, and if you want to win the game you should take all advantages that you have. Pretty much everyone else you're competing against will be doing the same.

I know a guy who worked for a prestigious accounting firm and was the dead-honest type. Everyone was inflating their billable hours to clients, except for him. He was 100% truthful on his hours and made sure not to waste any client money, but still got just as much work done as his colleagues who were inflating their hours. Guess who was the first target during layoffs?

If you don't want to play the game that's totally fine, but I wouldn't be surprised if giving yourself a disadvantage didn't hurt in the long run.

I interviewed for an internship in 2006 and didn't get any brainteasers, but I got some pretty interesting questions that were somewhat computer science-related:

1. Suppose you have a binary tree (NOT a binary search tree) where each node with pointers to its parent and children. Given pointers to two arbitrary nodes in the tree, find their lowest common ancestor.

2. My favorite: given a uniform random number generator mod 5, create a uniform random number generator mod 7

3. Forgot the exact question, but something along the lines of: suppose you want to keep track of function arguments as you call them. How do you do that?

I got (1) and (2) and utterly failed (3). (3) is entirely trivial and basically a stated fact if you know how anything about how operating systems work, but I was a freshman in college and didn't know that function arguments got pushed on a stack in memory, so I was totally lost.

> You have 12 marbles and a balance scale. One of the 12 marbles is inconsistent with the others, meaning it could be heavier or lighter than its peers of normal weight. You are allowed to use the balance scale exactly 3 times to identify which of the 12 marbles is irregular AND determine whether it is heavier or lighter than normal.

I also got this riddle, in 2015. I couldn't solve it. Tbh, I think it's a terrible question. There isn't really a step-by-step problem solving process, but you just need to have a "leap" to realize you can weight the marbles in groups of 3. I also got rejected. It's crazy to get rejected from a one-question riddle like this

> You have 12 marbles and a balance scale.

I hate such interview questions. They have nothing to do with think one really needs to do in practice. It seems for me to be just a way for interviewers to show their intellectual superiority.

Well, maybe you can use this to trick the interviewer into giving you a new problem if you don't know the first one they give you.
Odd that they received a brain teaser at a MS interview in 2015. IIRC that's several years after internal interviewer training was updated to recommend that brain teasers not be used in interviews because they weren't useful.
I have not seen this problem before, but the answer seems blindingly obvious? A balance is trinary, not binary. You just need to explain the decision tree.
> I’m afraid I’ll never know!

The rejection was so generic and there's so much random bs that goes on it could be anything that lead to that result.

Sadly interviews are really aptitude and personality tests, perhaps knowledge of leetcode, tools, frameworks and languages.

In an industry that loves calling itself "engineering", it seems nothing further of value can be established?

I have question for MS people.

How do you guys view external contractors(the one with email address start with v-xxx)

I was contractor for MS for a while and it was not a very positive experience. i was kind of being forgotten and only be mentioned when convenient. I went by months without any actual real work done.

> "I told the interviewer I already knew the riddle, and I asked for another one."

The question wasn't "do you know this riddle", she just wanted the riddle answered. No need to make it more complicated.

There's no lie in withholding information never asked for. It's possible the request for a new riddle was interpreted as a ploy to get an easier riddle.

HR is modern priesthood, and their function is to prevent the "unwashed" from ascending up the higher ranks.

Now there I've made it much worse (or better!) than the actual reality, which is that there's just not enough quality engineering jobs no matter which way you cut it and all of this theatrics result from scarcity.

Once long ago when I interviewed at Apple I was asked the classic "fork in the road, two guys, one always tells the truth and one always lies" riddle, with complete earnestness as far as I could tell. Possibly the single worst interview question I've ever been asked.

Of course I told the interviewer I'd heard it before and then gave the correct answer. In my case we just ended up chatting about previous experience instead of doing another brainteaser and I ultimately passed the interview, I think. But afterward the recruiter strung me along for weeks telling me they wanted to make an offer but not giving me one, and I ended up going to Microsoft instead.

Not the worst interview experience I've had, though. That would be the time I interviewed for a full time position after an internship and a group of guys who knew me and had worked with me all summer asked me a pointless brainteaser as the only interview question. I crashed and burned for a full 40 minutes in front of them. Humiliating, and pretty much a pointless hazing ritual as they offered me the job anyway. Luckily I got a better offer and was able to turn them down.

Here are some other brainteasers I've been asked in interviews. I actually think these physics based ones are fun (probably because I had no trouble solving them), but they're still terrible interview questions:

You're in a boat on a lake with a bowling ball. After you drop the ball overboard and it sinks to the bottom, is the lake water level higher or lower or the same?

Three balls are on three downward sloping tracks. One track is a straight line down to the end, the second is the same except for a small hill in the middle, and the third is the same except instead of a hill it has a small dip. All tracks start at the same height and end at the same height and cover the same horizontal distance. The balls are released at the same time and roll to the end without leaving their tracks. Which one gets there first?

Ultimately, the problem is that every person has their own anecdata-driven or follow-the-leader-inspired ideas about how to interview effectively, and large swaths of them are in stark opposition to each other.

And now after decades of research, we're still using magic potions that mostly don't make sense.

Now I understand why Microsoft, Apple, and other tech giants are slowly falling behind: they put strong candidates through a series of puzzles.

What a great way to filter out talented people. Great times. Very character building.