Live data from Hacker News

Google's “Director of Engineering” Hiring Test

gwan.com

381–390 of 969 posts

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

#381

Isn't a Director of Engineering meant to be an interface between engineers and the rest of the organization? Perhaps this was more like a smoke test for the political insight such a role calls for, not the ostensible test of technical skill it was presented as. After the first couple of wrong answers, people with the right social skills to manage others and represent their interests to the broader organization would…

I have been in similar roles (Software Architect , CTO) where I had to explain to non-technical, but impatient (or pissed off) people (CEO, VCs) technical concepts and judgement calls.

But I knew in advance they were not technical.

Also, a CEO would not challenge my explanation of what algorithm to use for sorting, be real :-)

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

#382

FWIW: As a director of engineering for Google, who interviews other directors of engineering for Google, none of these are on or related to the "director of engineering" interview guidelines or sheets. These are bog standard SWE-SRE questions (particularly, SRE) at some companies, so my guess is he was really being evaluated for a normal SWE-SRE position. IE maybe he applied to a position labeled director of engineer…

This is the SRE prescreen. At least it's the one I was asked in 2007, almost verbatim. Possibly too verbatim.

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

#383

FWIW: As a director of engineering for Google, who interviews other directors of engineering for Google, none of these are on or related to the "director of engineering" interview guidelines or sheets. These are bog standard SWE-SRE questions (particularly, SRE) at some companies, so my guess is he was really being evaluated for a normal SWE-SRE position. IE maybe he applied to a position labeled director of engineer…

Your comment combined with this one... https://news.ycombinator.com/item?id=12701650 ...creates an alternative interpretation in my mind that's not as bad. That is that the questions were a filter attempt done wrong in that it didn't account for stronger candidates giving better answers with a way for interviewer to confirm them. On top of that, a simple, data, entry error by HR person or whoever forwarded his name t…

Reminds me of a question I was asked when I interviewed at a blue bird company.

"How would you make a directory if the parents were not present"

Me: mkdir -p

"Ah, yes. Suppose there was no -p option?"

Recursive function....

"Ah, yes -- didn't expect recursion. Can you write that a s a loop?"

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

#384
post #382

FWIW: As a director of engineering for Google, who interviews other directors of engineering for Google, none of these are on or related to the "director of engineering" interview guidelines or sheets. These are bog standard SWE-SRE questions (particularly, SRE) at some companies, so my guess is he was really being evaluated for a normal SWE-SRE position. IE maybe he applied to a position labeled director of engineer…

This is the SRE prescreen. At least it's the one I was asked in 2007, almost verbatim. Possibly too verbatim.

Also, his answer on #9 is wrong, or at least his explanation of the conversation is terribly confusing With 10000 numbers, it's only efficient to create a lookup table with 8-bit integers, not with 16-bit integers.

Based on his LinkedIn profile, I don't think anyone at Google would have thought of him as a "director of engineering". Being an "R&D director" at some unknown company at 24 is entirely un-comparable to a director at Google, and since then he's worked at his own very small company. He was probably a candidate for Senior SRE.

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

#385
post #338
post #262

Earlier quoted context omitted.

Reading more closely, it sounds like they are not interviewing him for a director of engineering position; it just sounds like he thinks his current role, CEO-who-writes-code of a very small software company ( http://www.gwan.com/about ), qualifies him for a director-of-engineering-level position. He's probably being interviewed for an SRE team lead or thereabouts. Why he's being interviewed for that position is a di…

How can you imagine Google being totally right here? The disconnect between the questions being asked and the interviewer's lack of knowledge made the interview a waste of time no matter WHAT role they are interviewing for. Take, for example, the sorting question. "Why is QuickSort the best sorting algorithm?" The answer being looked for was, "It has the best Big O." And this is wrong. Its average case is O(n log(n))…

I can imagine Google being totally right because I can imagine the interviewee not accurately remembering the conversation here. (I expect, for instance, that he did not write down the interview as it was happening.) In fact, conditioned on the assumption that Google is right that this guy's experience is better suited for SRE than director-level, it is pretty likely that he did not understand the questions being asked / thought the questions were beneath him / etc. and therefore wrote them down inaccurately.

For instance, perhaps the interviewer asked "What makes quicksort a good sorting method," instead of "What makes quicksort the best sorting method"—a very small difference in phrasing. In that case, the answer of "It's not always the best, or even suitable" is still technically true, but much more wrong. (And an answer like the one you started with, "Its average case is O(n log (n)), its worst case is O(n^2)," would have been enough to pass... but sitting on the phone and arguing about storage topology is itself a failure.)

As I mentioned in another comment https://news.ycombinator.com/item?id=12702130 , my (five-year-old, faulty) memory of Google's SRE phone interview is that they asked another question here with a very small but important phrasing difference: "What is the signal sent by the kill command" instead of "What is the kill signal". If you make that change, the interviewee's answer of "SIGKILL" becomes wrong, and the interviewer is right to insist on SIGTERM (which would otherwise make no sense). It is a quite literal game of telephone.

(Again, I can also imagine Google being totally wrong and the interviewer mangling the questions.)

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

#386

Earlier quoted context omitted.

And then, the world developed robust, well-maintained, open source libraries that do all of that for you. Now, in 99% of commercial software engineering, you don't actually need to know any of those details, in the same sense that you no longer need to know exactly how many transistors and diodes are used to build the adder on the CPU. It simply no longer matters in almost all cases. Your time is much better spent mo…

None of that matters, until it does :). I feel like I've seen 2-3 articles alone in the last month that has rediscovered head-of-line blocking and UDP. I'd say 1/10 engineers I talk to even know what cache aware datastructures are. The thing that separates someone who can just string together whatever they find on npm to people who build real systems is this deep understanding. You're not going to need this for your…

There's a vast middle ground between stringing together npm and rewriting the TCP stack. Most jobs that exist today fall firmly in that middle ground.

Trying to find the TCP stack engineer to build your app is like hiring a petrochemical engineer to do oil changes. If your pockets are as deep as Google's, yes, you can do that, but it's by no means necessary.

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

#387
post #158

Earlier quoted context omitted.

> this guy always has to be right and would work terribly with people of different levels of skills Are you talking about the recruiter?

No, I'm talking about the person that wrote the post. Since this was a phone interview, this is a paraphrase of what happened, written by the post author. The whole thing smacks of "I knew way more than that person, they were clearly an idiot".

It strikes me as more along the lines of "I knew way more than that person, and they were completely oblivious to the fact that they didn't know this stuff, AND they were in a position that required them to know stuff."

I'm fine working with non-technical people (or who don't know any given field), but I wouldn't be fine working with those people if they were insistent that they did know about these things about which they actually had no clue, or if they were in a position where they really need to know this stuff.

I have coworkers who don't know how to use the command line, but they aren't engineers and they don't try to tell me what commands to run when I pull up a console, so it's fine. If they keep insisting that I should use "dir" and that "ls" is wrong, that would be a problem. If they were the CTO, that would be a problem.

When we hire engineers for customer support, the non-technical operations guy interviews them, but he always has at least one engineer do a portion of the interview because he knows he's not fully qualified to judge someone's technical chops.

The OP isn't being condescending just because someone didn't know stuff. It's because someone didn't know stuff, but because they acted like they did. You want to be insufferable, insist you know better than the experts in a given field.

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

#388
Is this for real? Does Google really hire interviewers that stupid? The list of questions is really dated. They're all pre-1990. The answers are dated, too.

A Linux inode is the file system's representation of the base info of a file, from which the file's data blocks can be found. It also carries file metadata, but its real function is as the root of the file's block index tree. The format depends on the file system. The internal identity of a file is an inode number, not an inode. What you get from 'stat' is the file's metadata, which mostly comes from the inode data structure on disk, but isn't necessarily in the same format. The formats were the same back around UNIX V7, but there have been some changes in the last few decades as file systems improved.

If you need to count bits in a word, the first question is whether your CPU has hardware to do that. NSA always liked population count instructions, which are useful in cryptanalysis, and that's why most supercomputers had them since the 1960s. Now they're finally in Intel x86 CPUs with SSE4.2 (added around 2006), which has a "popcount" instruction.[1]

A MAC address for Ethernet is six bytes. There are other hardware layer systems, and Google probably uses some of them. Fiber Channel fabric uses only a 3-byte address, for example.

Hash tables are not O(1) lookup. It's an exponential as the table fills up. It's near O(1) only with a near-empty table. There's a space/time tradeoff on how full you let the table get before you expand it.

Quicksort is average O(N log N), but the worst case is much worse, which is why nobody uses pure Quicksort any more. You can beat O(N log N) with a distribution sort. The first sort to do that was SyncSort, the first patented algorithm. It's a distribution sort with self-adjusting buckets.

Who wrote this interviewer's answer sheet?

[1] http://wm.ite.pl/articles/sse-popcount.html

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

#389
post #368

FWIW: As a director of engineering for Google, who interviews other directors of engineering for Google, none of these are on or related to the "director of engineering" interview guidelines or sheets. These are bog standard SWE-SRE questions (particularly, SRE) at some companies, so my guess is he was really being evaluated for a normal SWE-SRE position. IE maybe he applied to a position labeled director of engineer…

So you're saying Google's recruiters don't tell what position they are interviewing for and that they found a 20+ years experienced engineering manager holding patents on computer networking under-qualified for an ordinary site maintenance position. Well, that sounds like a dumb recruitment process.

[deleted]
Post reply on HN