Live data from Hacker News

Microsoft changed how it interviews software developers

businessinsider.fr

271–280 of 348 posts

Re: Microsoft changed how it interviews software developers

#271
post #137

Earlier quoted context omitted.

I got into Oxford like that. Basically the interviews are a bunch of interesting questions like "How could I take the log of -1?" or "How is e defined?". If you already know the answer, your main problem is acting like you're thinking it through.

When I interviewed for MIT I didn't get crazy puzzle questions. Is this pretty standard for Oxford?

Yeah for both Oxbridge unis the grades get you the interview but they could just fill the whole uni several times over with kids who got top grades.

So they reckon a 45 min quiz/chat is what will tell them who to admit.

Gets pretty open ended, favors people who can talk well.

I ended up not applying to MIT because you get your acceptance before Christmas and the US applications are huge. But my understanding is the US school interviews are more cultural fit?

Re: Microsoft changed how it interviews software developers

#272

Dogfooding their process is going to give them adverse results here: Microsoft is paying them to take all the time they want, but good candidates won't be so willing to spend so much time. Already, they're up to a full day of interviews, which is ridiculous. One of the worst parts of current FAANG interviewing is how long it takes to get to the day of interviews, needing to take off from work to attend the interview…

One company wanted approached to interview me for the position of a "scientist". Their initial step of the interview process was to spend 4-6h on some "challenge" they designed. I told them, I can't spend 4h of my time on the 1st step where I have no clue what my hiring manager even does! I made a counter to their proposal as all my research projects are publicly available. My counter was similar to your proposition.…

Once I wanted to interview for a company that wanted me to implement a FULL chat client, including the full range of auxiliary features, for step one...

Re: Microsoft changed how it interviews software developers

#273

> 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…

I had a different experience. They gave me a lot of time but either I don't know python at all, or they didn't.

they asked me to build something. I used dictionaries and wrote the code in ten minutes.

Both interviewers wouldn't believe that the code could solve the problem.

They later told me that dictionaries are not used in practical applications. Never understood why.

Are dicts not used in "real life"?

Re: Microsoft changed how it interviews software developers

#274
post #231

Earlier quoted context omitted.

I had a junior/intermediate level engineer start asking me minutiae about HTTP and HTTPS... After about 5 minutes of this I literally said: "Dude, have you seem my resume? I literally built a petabyte scale full text search engine and wrote 1.5M lines of code to do so and a HTTP framework that parses fetches more than 2PB of HTML per month. If there's some edge case that I might miss I can Google it in 30 seconds". I…

Over what period of time did you write 1.5 _million_ lines of code for this one project?

Nothing to take away from the original posters work. He indeed might have written that much code.

But in most cases. Its not very difficult to write 1.5 million lines of code for any project if you are writing code of the style AbstractClassFactoryFactorySingletonDispatcherFacadeInitializer

That sort of the code is basically 90% auto generated by the IDE. You write the remaining 10%.

As a matter of fact I would find it a tad little hard to believe that some one wrote that much(1+ million LOC) and didn't find a way to template it or do some metaprogramming work.

Patterns always emerge from that kind of pile.

Re: Microsoft changed how it interviews software developers

#275
post #262

Earlier quoted context omitted.

One company wanted approached to interview me for the position of a "scientist". Their initial step of the interview process was to spend 4-6h on some "challenge" they designed. I told them, I can't spend 4h of my time on the 1st step where I have no clue what my hiring manager even does! I made a counter to their proposal as all my research projects are publicly available. My counter was similar to your proposition.…

>>I told them, I can't spend 4h of my time on the 1st step where I have no clue what my hiring manager even does! You had a lucky escape. I had the same from a company. Which was arguably a 2 full nights worth work if done right. I took the challenge. Did it, it passed their functional test suite which they provided. Unit test cases, git repo, documentation etc etc all in place. They came back saying it was not enoug…

For a long time I worked for a company that used a coding test as the first stage of the selection process. We advised candidates not to spend more than about 90 minutes on it, although I'm sure spent more. There was also no time pressure: we had some people take weeks to return the completed test due to exams, holidays, family commitments, or whatever, and it was no big deal.

Anyway, this all seemed perfectly reasonable until I went for a job I'd been approached about by an agency with a similar test at the beginning of the application process. They'd asked me to build a simple calculator and said it should take no more than 2 hours.

No big deal, but it was the weekend before I had 2 hours free where I could do it due to other commitments. Pushy recruiter didn't understand this but, whatever[1]. Should have been a red flag straight away.

Anyway, I put together a working solution with comprehensive tests, send it off to the recruiter and on Monday hear... nothing. That's right: nothing. Gave it a few days, got in touch with the recruiter and still nothing. No, "sorry, it wasn't good enough." No feedback on what might have been wrong with it. Nothing.

I was absolutely incensed. The whole incident gave me a different perspective on pre-interview tests, to the point where I'm no longer really interested in doing them for "unknown" companies. I made an exception to work with an organisation where I had several friends, so was confident that even if I didn't pass I'd get some decent feedback on why.

The most significant effect, however, has been on my own approach to recruitment. At the moment we don't, and I have no plans to introduce, programming homework as a pre-screener. Rather we take a much more personalised approach. We're also in the situation where we get few enough applicants that we can afford to talk to all of them, although this won't scale and will have to change.

Still, it's hopefully uncontroversial that before you invest the 5-6 hours (across 2 people) required for a 2 hour technical interview (in our case an exercise where we work together on a problem), you do need to some sort of pre-screener to weed out the people who really can't code: https://blog.codinghorror.com/why-cant-programmers-program/. I wouldn't say this is 99 out of 100 programmers, nor anything like, but it's certainly the majority. We therefore do a half hour telescreen, which is a fairly informal chat about what the candidate has been working on, what we do, and then - of course - there's a very simple programming task at the end. This takes an investment of roughly 90 minutes on our side (again, 2 people). We're explain the format to candidates in the invitation, which gives them an opportunity to decide whether they want to go through with it or not.

Even if candidates don't pass, and it's usually on the technical task that they fall down, we give them feedback, including pointers to how they can improve their skill level.

(Apologies, this came out much longer than I intended.)

[1] There's some merit to the "well, do you want a new job or not?" mode of thought but not much. E.g., in my current role I advise candidates not to do our technical interview after a full day of work because they're not likely to perform at their best. Obviously not always possible, but it's about ensuring they set themselves up for success: if you dislike your current job enough to be looking for another one don't you want to make sure that when you get an interview you do everything you can to do well in that interview? This is obviously very different to expecting candidates to jump through hoops under time pressure just because "commitment".

Re: Microsoft changed how it interviews software developers

#276

Earlier quoted context omitted.

In larger corporations it may not be 100% finalized where you would end up. Knowing that yes, you master compilers (that's usually quickly determined, potentially fast enough for you not to notice it since you live and breath compilers), have basic knowledge in smashing together enough html tags to build a simple dashboard but you never had to deal with processes that spanned multiple computers, allows more flexible…

I’m not going to take the job if I don’t wind up in a group working on problems that interest me. That is part of the bidirectional interview right? I hesitated even applying to a big Corp until a few people there convinced me they had problems right up my ally. I don’t want to work at big corp just to be working at big corp!

The hiring pipeline at every big company I've been at is not always the same. Yeah, part of it is always just a big funnel that takes general applicants in and assumes they might end up anywhere in the company. But, there is also going to be a way for specialized teams to hire specialized candidates. If you find yourself in the big funnel, by all means, just tell them you aren't interested if that's not what you want. If you want to work on compilers, you need to find a way to get into the pipeline for a compiler team, and that's not really much different than finding a job with a small company.

Re: Microsoft changed how it interviews software developers

#277

Earlier quoted context omitted.

It takes a few days to explain the business rules. It's probably better to use a well understood general structure.

It isn't that hard to isolate a block of code that addresses a small cross section of your business rules and ask a candidate to do something meaningful with it.

Then the complaint will be "they gave me a question about a really specific and hard to understand part of their code. It would have been easy to solve if I had familiarity with the concepts involved. Why didn't they just ask a similarly complicated question about strings instead?"

Re: Microsoft changed how it interviews software developers

#278
post #265

Earlier quoted context omitted.

I understand the class of rebuttal you're invoking here, but reversing a string is extremely easy - with or without a library. This is not an academic problem designed to see if a person can study prior to an interview. This is a first pass question designed to see if a person is even acquainted with basic programming. Any such question you could devise would be similarly patronizing or orthogonal to the exact work d…

>>Then declare a new array and iterate through the string backwards, appending each character to the new array. When you're done, collapse the array to a string. a. You can't iterate a 'String' backwards. You need to know the length first. And that requires traversing the string forwards at least once. b. Once you reach the end you are wasting the effort of revisiting the elements, since you visited them already once…

It was supposed to be in Java.

Re: Microsoft changed how it interviews software developers

#279
post #147
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…

I have very little experience with interviewing candidates, but how can you be certain these people were liars? Maybe they simply were having a bad day, or got too much in their head with stress during the interview. There are many factors at play when it comes to a bad performance and it's not always simply that the engineer doesn't know the answer.

Back when I worked in an office and conducted interviews, I made a point of always having the candidate sit in front of a computer and solve some very simple problems. It's amazing the number of candidates with apparently strong CVs who simply did not know how to use a computer. I mean, people claiming Linux experience who didn't know how to type commands at the prompt, not even "ls". How were they expecting to get a Linux developer role?? Unfortunately you have to weed these people out, and this was the only way I found.
Post reply on HN