Live data from Hacker News

Google's “Director of Engineering” Hiring Test

gwan.com

921–930 of 969 posts

Re: Google's “Director of Engineering” Hiring Test

#921

Earlier quoted context omitted.

The questions are fine for SRE. The problem is the behaviour and the expectations of the interviewer.

The people doing these interviews are non-technical people who read off of a cheatsheet. The cheatsheet covers alternative answers, but a situation like the OP describes can never end well.

If that's true, making non-technical people conduct technical interviews is also a pretty big failure.

Re: Google's “Director of Engineering” Hiring Test

#922
post #90

#9 is especially stupid because it's so context-dependent. SSE4 gives you a popcount instruction, for example, which would be easily the fastest way to do this, if available.

Yes, but without that instruction, the algorithm mentioned by recruiter is really the quickest way. I coded chess algorithm in the past and this was exactly the method top chess open-source engines used. But imho it is hard to figure that out without prior experience with this problem.

No, the algorithm mentioned by recruiter is among the slowest ways.

I recently tested different approaches. I’ve been working on some code that downsamples large set of 1 bit voxels to get shades of gray on the edges. For that, I had to counts gigabytes of those bits as fast as possible.

Advanced manually-vectorized SIMD code worked several times faster, esp. on the hardware that supports SSSE3 or XOP instructions.

And even when the hardware doesn’t have SSE4, doesn’t have SSSE3, doesn’t have XOP — SSE2-only backup plan is still faster than lookup tables. Here’s the code: http://stackoverflow.com/a/17355341/126995

Re: Google's “Director of Engineering” Hiring Test

#923

I once coded chess playing algorithm for fun, and can confirm that the recruiter was correct on #9: you count bits by using a lookup table and then sum the results. It's the quickest way. But I am not sure if this is possible to figure out immediately without such experience...

I recently tested different approaches. I’ve been working on some code that downsamples large set of 1 bit voxels to get shades of gray on the edges. For that, I had to counts gigabytes of those bits as fast as possible.

Advanced manually-vectorized SIMD code worked several times faster that lookup, esp. on the hardware that supports SSSE3 or XOP instructions.

And even when the hardware doesn’t have SSE4, doesn’t have SSSE3, doesn’t have XOP — SSE2-only backup plan is still faster than lookup tables. Here’s the code: http://stackoverflow.com/a/17355341/126995

Re: Google's “Director of Engineering” Hiring Test

#924

I'm amazed he knew things in such detail. I mean who would know just how long a MAC address is? Or what the actual SYN/ACK etc tcp flags are? You just need to know what they're used for, and if you need the specifics, you'll find out with a single search. He seemed to know that as well though. Kernighan for bit twiddling algos, that kind of thing. It's a bit strange to have someone non-technical interviewing a techie…

> I mean who would know just how long a MAC address is?

Hmm, let me think. Somebody working with routers for 10+ years.

> ..what the actual SYN/ACK etc tcp flags are?

Same.

I mean, these things are just as familiar to me as grade school multiplication, by now..I bet there's things familiar to you which I couldn't even be bothered to memorise and instead had to turn to a search engine for.

Re: Google's “Director of Engineering” Hiring Test

#925

Earlier quoted context omitted.

This looks like a typical pre-interview recruiter phone screen… they're looking for shibboleths that identify the candidate as a genuine computer person who took CS 101, and exclude candidates who spam every job with bogus CVs. I'd start every candidate with this screen, unless I personally knew them & was familiar with their technical ability. > none of these are on or related to the "director of engineering" interv…

> They'd be internal to recruiting I managed to find them and I don't work in recruiting, they are for SRE pre-screens. The guy misunderstood most of the questions which is why he failed and then worded them incorrectly on his blog, it wasn't the fault of the questions or the interviewer.

Do you have proof of this?

Re: Google's “Director of Engineering” Hiring Test

#926

Earlier quoted context omitted.

I think you can probably predict it: I would generate a work-sample test for it. For a network programmer, I might have them implement a 3WH coded directly to pcap_write() (which requires you to populate the Ethernet frame header). Like the best work-sample challenges, doing a raw 3WH is kind of fun if you haven't done it before. My friends and I used to spend bar nights drinking over torturous interview questions (y…

> You can't learn about someone's capabilities by putting them on the spot with trivia questions. But that's not the point of these questions. These questions are a 5-10min phone pre-screen before getting to the actual interviews. They test if the candidate has experience in a given field, not if they can search for information or what are the precise bounds of their capabilities. It's trivia, but it's trivia that is…

These screens pass people who can answer trivia but who can't effectively code, and they reject people who have a gift for solving engineering problems with code but who can't answer trivia questions when put on the spot.

The ostensible reason they get deployed (I say "ostensible" because we all know that in reality the on-site interview consists of the same stupid kinds of questions) is to keep the employer from wasting time conducting more sophisticated interviews for candidates who have no hope of passing. But that's dumb for at least two big reasons:

* The filters obviously reject candidates who would do well on more serious challenges --- worse, they do it insidiously, because you can't tell that they're rejecting good people, only that you're seeing fewer bozos, which makes them look like they work. In reality, a new norm has arisen where the most qualified candidates get to skip these processes entirely, because we all know they're a crap-shoot and don't want to lose good people.

* Properly administered work sample challenges actually take less employer time than these stupid trivia screens do. That means there's literally no purpose to the trivia screens whatsoever; they do nothing but harm.

In my last comment, I just wrote off the top of my head a sketch for a work sample test that addresses the same concern as the dumb TCP/IP trivia quiz from the original post. It took me I think something like 30 seconds to come up with it. Think about how you'd score that (remember: the bar here is "must be more predictive than that dumb trivia question"). I'm thinking something along the lines of "run the code and see if it opens a new TCP connection".

Assuming your team has enough sophistication to build work sample challenges like this, try to justify the trivia interviews. I think you can't.

Re: Google's “Director of Engineering” Hiring Test

#927
I do some interviewing for my company sometimes. HR people suck at it, but they don't ask any forms of technical questions.

So it'd be strange to have such deep questions asked by a non technical person for such a high position.

Secondly, I was interviewed by Google once. The interview was great (even though I failed it).

Third, during this interview, I signed a kind of non disclosure.

On the other hand: I was also interviewed by Microsoft. The interviewer was non technical, and asked at least two tech questions (the difference between a struct and a class in C++, and what volatile meant). And, finally, Roy Osherove has a similar tale about Google.

Re: Google's “Director of Engineering” Hiring Test

#928

Earlier quoted context omitted.

I basically lived in Wire shark for a couple of years working for a voip company and still use stuff like curl all the time and I don't think I could walk through an http request of the top of my head.

GET / HTTP/1.1\r\n and some kind of sensible response is not too much to expect someone to know. HTTP is super easy and I see the HTTP transaction test as "did you ever get curious as to how exactly a core part of the current Internet actually works". I'm sure that there are app developers out there who can spin crud stuff all day and have no idea about this, just as there are curious people who couldn't stand up tod…

You would've gotten it wrong though!

You need two newlines to finis the request, plus the HTTP 1.1 standard requires clients to send a Host: header for all requests.

Not saying every interviewer would care about that in an early screening process.

Re: Google's “Director of Engineering” Hiring Test

#929
Thinking more about this, it's also possible that the candidate failed on understanding what the screener wanted, and giving it to him. If the question was "what signal does kill command send by default" and the candidate hears "what is the name of the kill signal," that's an indicator about important communication skills.

Re: Google's “Director of Engineering” Hiring Test

#930

Earlier quoted context omitted.

Static versus dynamic typing is so fundamental that I don't see how a programmer could be remotely competent without having been exposed to those concepts enough to have internalized them. It would be like an accountant not knowing what the number 4 is. Yes, you can look it up, but if you need to then how did you ever get this far?

> It would be like an accountant not knowing what the number 4 is. It's a hypothetical no-go! Every person, even the fourth grader knows the number 4. So why ask a question that measures their ability to remember 4, say 4 or show that they know 4. > I don't see how a programmer could be remotely competent without having been exposed… Share this link with them: http://stackoverflow.com/questions/1517582/what-is-the-di…

Well, following Netflix's mantra - it is a team and not family that you are hiring for. Anyone can Google and find answers, doesn't mean you would hire everyone, would it?

There are a number of basic items that a competent programmer needs to know off the top of his head. If they had to google for every single item, then their productivity goes down the drain and so does the entire team's productivity. You should fix your hiring.

Post reply on HN