Live data from Hacker News

Microsoft changed how it interviews software developers

businessinsider.fr

221–230 of 348 posts

Re: Microsoft changed how it interviews software developers

#221
post #126

Earlier quoted context omitted.

The problem is that resumes can be deceiving. If you've worked long enough in the industry, you've met a few incompetent people with stellar resumes. It's why having google on your resume opens a lot of doors. Everyone respects google's vetting/interviewing system. Also, fizzbuzz isn't anything you really need to study for (certainly not for days or weeks). It's something you should be able to work out during the int…

The Googles of this world don't fizzbuzz you, they want you to implement (close to optimal solutions!) and use tries and heaps & co. during whiteboard interviews. Neither of which I've ever had to implement in 10+ years.

Not sure if I'm misreading, but you don't have to implement data structures for Google interviews

Re: Microsoft changed how it interviews software developers

#222

> But the aha moment for me was that not everyone does well in those fast-paced brainstorming sessions. A lot of people (including me) prefer to sit with a cup of coffee and some data and try to think things through. This is me. Hard to get that across in an interview, but once people work with me, they're cool with me coming back an hour later in an email with some thoughts on the last meeting topic. They know and r…

We french have an expression for that: "l'esprit de l'escalier", literally "staircase spirit". It's meant to characterize people who think about what they should have said/answered only when on their way out, in the staircases. I think I work this way. Maybe it's a way to ignore my lack of wit, my slow paced brain, and to maintain some self esteem.

I'm like this and I know why it happens for me. I cannot think my thoughts while listening to others. Either I'm listening, or I'm thinking, I cannot do both at once. I can follow others and sometime I can make a contribution, but it would be a small contribution, a deal less than I could do given a time to think.

I tried to find some way around it, and the only way I see is to learn how to think loudly. The only way is to supress others from thinking by speaking aloud my thoughts as they come. Let others follow my thoughts, not the other way around. I figured it out while making some group work with ~20 yo students being a student myself. I'm older (I was 35-40 over that period) and therefore smarter and in the most cases I was able to do this group work myself a way better then they do.

I tried different approaches. I tried to take a leader role in a discussion and to talk everytime I feel like this. I tried to let someone else to become a leader and to follow her. I tried to just get out of the discussion, to sit quietly with my own thoughts and to come with my own solution to compare it with the group one. The conclusion is: I cannot think AND listen at the same time.

Re: Microsoft changed how it interviews software developers

#223
post #124

Earlier quoted context omitted.

I've interviewed and been interviewing for over a decade. I have had the displeasure of interviewing many people who have very impressive resumes yet when asked how they would judge their skillset in an area, and being told from them that they would say "expert", being shown exactly the opposite when it came time to answer some questions in that area. One data point... Senior engineer that founded the local java user…

Why do you assume that the person is lying? Why do you start your relationship with your new co-worker on distrust? There is a way to weed out the liars - you hire them and then when it does not work out you fire them. You would be astonished how little people lie on their CV. They may exaggerate claims - yes, that is why you gave them a call in the first place. But then again you exaggerated your claims in the job p…

> You would be astonished how little people lie on their CV.

That is no doubt your experience, but I assure you it is not universal. I have heard, and in some cases personally seen, some truly shocking things!

> In other countries like Germany or France...

Perhaps the gold digging nature of Silicon Valley entices far more scammers to cook up a SWE resume and roll the dice, but I think it's a very different hiring world here.

Re: Microsoft changed how it interviews software developers

#224
post #95

Earlier quoted context omitted.

Many people interviewing there are already among the most highly paid people in the world (lots of them are just moving around within that group) so that argument is pretty irrelevant.

Many (as in 10-30% at best) perhaps. Not even close to half or majority though, so I fail to understand how the argument could be irrelevant.

At the beginning of 2017, ~12,000 of Google's current ~72,000 employees had previously worked at other big tech companies, and most of them were probably in their R+D headcount of only 27,000. I wouldn't be at all surprised if half of their engineering interviewees came from similar paying jobs, and a the majority of the remainder were college hires.

https://www.alphr.com/business/1005261/silicon-valley-swipin...

https://www.statista.com/statistics/273744/number-of-full-ti...

https://www.statista.com/statistics/219333/number-of-google-...

Re: Microsoft changed how it interviews software developers

#225
post #189
post #124

Earlier quoted context omitted.

I've interviewed and been interviewing for over a decade. I have had the displeasure of interviewing many people who have very impressive resumes yet when asked how they would judge their skillset in an area, and being told from them that they would say "expert", being shown exactly the opposite when it came time to answer some questions in that area. One data point... Senior engineer that founded the local java user…

Totally reasonable response. However, it seems like we're on an endless loop with this discussion. People talk about how they need technical interviews because someone who looks good on paper can't code reverse string, or write a basic join. But here's the thing, absolutely none of my technical interviews have involved anything remotely this simple. They are "find all matching matching subtrees in a binary search tre…

This is an excellent analogy. I've found that ability to complete esoteric algorithms problems has little relation to productivity in specialized subjects, as in network security.

Re: Microsoft changed how it interviews software developers

#226

Earlier quoted context omitted.

Many people interviewing there are already among the most highly paid people in the world (lots of them are just moving around within that group) so that argument is pretty irrelevant.

I assume Google is looking for people who absolutely want to work at Google. Making the process cumbersome allows them to get candidates who stay at the company even if they have to do work that they don't like.

If that's what they're aiming for, evidence suggests that it isn't working - https://hackerlife.co/blog/san-francisco-large-corporation-e...

Re: Microsoft changed how it interviews software developers

#227

Earlier quoted context omitted.

The question was: Write a method that can take in a regex and a string and return whether the string matches it, with the regex limited to the characters . * ? (And backtracking is definitely where I started coming unstuck)

If the regex is really just a sequence of dots followed by a question mark, asterisk or nothing, thus cannot contain literals, the only thing you need to check for is the length of the string. The minimum length will be the number of dots without a quantifier (i.e. exactly one character). If there is any dot followed by an asterisk, there is no maximum length. Otherwise, the maximum length will be the minimum length…

The regex can be any string made up of any number of those three characters in any order.

Re: Microsoft changed how it interviews software developers

#228
Good riddance to all those mostly useless brain-teaser questions.. They require countless hours of practice for most people to get good at them - and I find it semi-tragic that many highly intelligent people are wasting their time on that instead of on complex real-world problems (not to mention on learning things that would make them happier and more well-rounded).

Re: Microsoft changed how it interviews software developers

#229
post #152

Earlier quoted context omitted.

> Couldn't code a simple reverse string algorithm You were interviewing senior engineers with Java experience and they couldn't come up with Assert.assertEquals("radar",StringUtils.reverse("radar")); I suspect you were actually looking for the implementation of StringUtils.reverse() and if that's the case then you were focused on the wrong skills.

It's the start of the coding interview. It moves on from there. This candidate didn't even ask if he could use Apache commons, and I hadn't yet specified that he couldn't use a 3rd party library. So yes. He failed on many counts. 1) not asking clarifying questions 2) not being familiar with some well-known libraries 3) not being able to implement a basic reverse string 4) not being able to explain whether or not a si…

Just speaking to points 1 and 2:

In an interview, there is an unspoken assumption that you won't be using third party libraries to implement algorithms, and certainly not a third party library that implements it in one function call. Using that as a red flag will yield a LOT of false positives.

Also, I have over 10 years experience in Java, have used Apache commons extensively, and had no idea that a string reversal method even existed. You can't use that knowledge to judge anything useful.

Re: Microsoft changed how it interviews software developers

#230
post #173

Earlier quoted context omitted.

Please show me a regex parser in 18 lines of code! Even 36! I did this exercise once and it took 100s of lines, I think using C++... but it's been a long time. Maybe it's significantly shorter in Python? But still 18 lines is impressive.

I probably screwed something up, but here's a 16 line attempt in Python, where the regex specials are limited to . ?: def matches(pattern, s): if len(pattern) == 0: return True c = pattern[0] assert c not in ("*", "?") if len(pattern) > 1: if pattern[1] == "?": return ( len(s) > 0 and c in (".", s[0]) and matches(pattern[2:], s[1:]) ) or matches(pattern[2:], s) elif pattern[1] == "*": for i, d in enumerate(s): if c n…

Thanks for the demonstration!
Post reply on HN