News for hackers. Stuff that matters.
Re:Google: 90% of our engineers use the software you wrote (... by falcolas on Wednesday June 10, 2015 @05:43PM (#9695709)
If only whiteboarding interview processes actually weeded out false positives.

In practice, they select for people with good memorization skills. If you can remember the details on a ten dozen different algorithms and data structures, you can pass one of these without having a single lick of creativity or skill.

I say this as an employee who has worked alongside many unskilled drones who made it past the algorithmic interview process.

Re:Google: 90% of our engineers use the software you wrote (... by Eridrus on Wednesday June 10, 2015 @11:09PM (#9697218)
I agree.

I recently interviewed for a security engineering position at a startup, and while I got offered the job, the interview was quite silly.

The first thing I was asked to do was to write a lisp interpreter. It was a pretty trivial task, but it left me scratching my head since not only did it not tell them about whether I would be qualified at all, but I had explicitly avoided writing parsing code since I found ANTLR during undergrad.

In the end I wrote a basic stream abstraction and wrote my lisp interpreter on top of it with no real difficulty, but it was a completely stupid question. I told them on the third interview that they weren't asking me anything relevant and I still got another question later on about how to iterate over a tree in a specific order.

Part of the issue was that most of my interviewers were fresh out of college, it was literally their first job and they had no idea what to ask besides the kinds of questions they had been asked in their own interviews.

Re:Google: 90% of our engineers use the software you wrote (... by 72deluxe on Thursday June 11, 2015 @04:42AM (#9698456)
That last sentence is telling. Would you even consider working there if they had no idea what to do? I have worked at established companies where there is clearly nobody at the helm and it is frustrating.
Re:Google: 90% of our engineers use the software you wrote (... by Eridrus on Thursday June 11, 2015 @01:42PM (#9701142)
I considered it for a bit, they were hiring their first security engineer, so it's understandable that they weren't very sure what they were hiring for.

In the end there were a lot of other issues that made me not take it, but not knowing what is necessary seems pretty typical wrt security. However, in those situations you want to have wide latitude to affect change because the thing they hire you to look at is probably not really where their problems are.

Re:Google: 90% of our engineers use the software you wrote (... by seiji on Wednesday June 10, 2015 @06:08PM (#9695916)
That's a great point.

Infatuation with "coding competitions" and high flux intelligence tasks is often an anti signal.

Sure, what they demonstrate looks good at face value, but unless you attach a micromanager over their tasks, they'll constantly deviate to the new-shiny every week instead of staying on task for the long haul.

I know even YC has been bitten a few times by accepting people who are top-performers in very narrow contexts (e.g. people obsessed with winning coding competitions every single weekend) only to see they can't do anything coherent for more than a week at a time.

Just because someone is great in a narrow context doesn't mean they can carry that over the months and years needed to deeply iterate (and suffer through the low points) on successful projects.

Re:Google: 90% of our engineers use the software you wrote (... by ThrustVectoring on Thursday June 11, 2015 @02:57AM (#9698066)
I'd generalize your point a little more - for a given level of life success, intelligence will anti-correlate with other hire-ability skills like work ethic, diligence, attendance, emotional stability, professionalism, etc.

Basically, imagine that there's two ways to graduate college with a CS degree - you're either the kind of person who's smart enough to get things if you work your ass off for them, or you're a genius and you coast through. If you're a genius and you work your ass off, you get a doctorate or found a startup, and aren't in the candidate pool. So you wind up with a choice about what to compromise on: work ethic, or smarts.

Ideally, you compromise on whatever makes the least difference to your organization, compared to your competitors. Hiring smart/motivated people out of non-traditional backgrounds is a great option for this.

Re:Google: 90% of our engineers use the software you wrote (... by jimmaswell on Thursday June 11, 2015 @08:22AM (#9699200)
You hardly need to be a genius to get through a CS degree without 'working your ass off'
Re:Google: 90% of our engineers use the software you wrote (... by ThrustVectoring on Thursday June 11, 2015 @12:58PM (#9700863)
When you attack the hypothetical like that, you're generally missing the point. Assume a more inconvenient hypothetical - say, a CS degree from MIT.
Re:Google: 90% of our engineers use the software you wrote (... by briandear on Wednesday June 10, 2015 @07:40PM (#9696406)
Which is why I hate HackerRank being used as a screening tool.
Re:Google: 90% of our engineers use the software you wrote (... by chrismsnz on Wednesday June 10, 2015 @06:16PM (#9695983)
That's not what the interview process is like at all.

They're more interested in how you approach real world issues (the questions I got asked were conceivably real-life issues a company like Google would face with its products). If you can solve that issue by applying efficient and well understood data structures and algorithms, then that indicates you understand the problem space and solutions that may apply.

It's not like they get you in a room and ask you to draw a linked list or a binary tree.

Re:Google: 90% of our engineers use the software you wrote (... by mvalmostnoogler on Wednesday June 10, 2015 @11:36PM (#9697332)
I'll be starting at Google in a week and a half. I can't go into specifics, but I can say this:

I had two phone interviews - the first had quite a few questions about my prior experience (over a decade) and how to approach real-world problems from a high-level, including some that I had worked on at my current position. The second was primarily purely technical, but did have some more theoretical/project-management-y type of questions. In neither one was I required to write any code.

On-site: one interview was entirely whiteboard-coding (in a collaborative style), on a set of related generic problems. Next was one with a set of problems related to my experience. Third was almost entirely telling war stories. Last two were some generic graph-theory-type problems and some simple problems involving data structures relevant to the my area of experience.

As I hadn't interviewed for anything in 11 years, I did spend some time brushing up on my basic algorithmic theory, and essentially followed Steve Yegge's suggestions. I honestly think I probably could have done the vast majority of it without any studying, but spending time practicing solving problems on paper (with a countdown-timer as an artificial pressure-inducing device) certainly did help me, I think, in the on-site. No amount of memorization could have helped with most of it, aside from basic knowledge that anyone who's taken Data Structures should know.

I didn't find the process to be insulting at all; it was an enjoyable challenge. Everyone I talked with on the engineering side of things I can only say the best about, and so far as I can tell the team I'll be with has some really great people. I am a more senior developer, so perhaps I got a different experience than some.

Re:Google: 90% of our engineers use the software you wrote (... by jwecker on Thursday June 11, 2015 @01:32AM (#9697797)
This sounds like a huge improvement from when I talked with them a few years ago.
Re:Google: 90% of our engineers use the software you wrote (... by craigyk on Thursday June 11, 2015 @02:03AM (#9697892)
When I interviewed with them, it seemed the interviewers had quite a large effect on how each session went. I had four great interviews, and two that were unpleasant. This had very little to do with how challenging the questions were and a lot more to do with the style of the interviewer.
Re:Google: 90% of our engineers use the software you wrote (... by BinaryIdiot on Wednesday June 10, 2015 @08:10PM (#9696549)
My experience wasn't a real life type one more academic instead. My interviewer was really late and refused to let me finish my data structure implementation to optimize a single method instead. When we finished it was time for him to go. He wouldn't let me go back to finish my data structure as he didn't have the time.

I was later declined. Had a couple of friends at google ask the interviewer. He said I was declined for not finishing my data structure.

Their interviewing process was quite frustrating. I'm fine with getting declined but not under those circumstances.

Re:Google: 90% of our engineers use the software you wrote (... by reagency on Thursday June 11, 2015 @03:26AM (#9698170)
Your story can't be true because interviewers do not make hiring decisions at Google.
Re:Google: 90% of our engineers use the software you wrote (... by BinaryIdiot on Thursday June 11, 2015 @11:24AM (#9700247)
I can assure you my story is accurate. The interviewers do not make decisions regarding the entire hiring event but they do give feedback regarding how you did in each interview. I was given poor feedback due to, according to him, a zero tolerance like policy where the data model for that particular question had to be complete and I was unable to complete it.

That was my first technical interview over the phone so it was pretty obvious it was related to that single interview. One of the Googlers I knew that checked the system said the same.

Re:Google: 90% of our engineers use the software you wrote (... by raverbashing on Thursday June 11, 2015 @02:44PM (#9701478)
Really?

I had the impression that they all had to agree for a hire. Hence one no means no hire.

Re:Google: 90% of our engineers use the software you wrote (... by derefr on Wednesday June 10, 2015 @10:26PM (#9697101)
The important part of the "realistic" process is the part where you go from "the crawler's indexing is too slow" to "it might be because it allocates a lot of little bits of memory; it needs to first generate a BST of outbound link weights, and then functionally invert that into a second graph with a bunch of inbound link weights, and then inject all that into the PageRank matrix. You could probably save some time (though at the cost of memory-safety) by inverting the first BST in-place."

Once you get to that point, though, if they asked me "and how would you invert the tree in-place?" I'd answer "well, first I'd make sure we aren't just using a tree structure that already knows how to invert itself, or could easily be extended to know how. Then, assuming that didn't pan out, I'd google 'in-place invert binary tree' and read three or four solutions that already exist to burn the semantic structure of what I'm about to write into my head so that I don't subtly screw it up and have to fiddle with it for the next hour when I could be coding something else. Then I code it."

And that should be enough.

Re:Google: 90% of our engineers use the software you wrote (... by craigyk on Thursday June 11, 2015 @01:57AM (#9697870)
One of my interviewers at Google asked me to implement a balanced tree insert on the whiteboard in C. After doing so he immediately told me it wouldn't work. I searched futilely for a minute or two to find the problem before he condescendingly pointed out I had left out a semicolon on one of my statements...

Another in the same interview got in my face (this should be easy) when he thought it was taking me too long too multiply two numbers like 637 and 41 during an estimating problem. I understand the point of most of these questions is quick and dirty estimation (600 x 40), but seriously...

Re:Google: 90% of our engineers use the software you wrote (... by eoJ1 on Thursday June 11, 2015 @06:14AM (#9698723)
RE your second paragraph, it's easier than it sounds.

637 is an awkward number, we'll start by rounding up to 640: 640 * 2 = 1280, anyone in tech knows 2x that is 2560.

Make up the missing 3: 3 * 4 = 12, 2560 - 12 = 2548.

2548 * 10 = 25,480.

25,480 + 7 = 25,487

25,487 + 30 = 25,517

25,517 + 600 = 26,117.

That said, I did make a screw up when calculating it, and added the 637 before multiplying by 10 (which may have been the differentiating part of that question, combined with the intentional stress, to see how you cope with pressure? Although I didn't sleep last night, which might be the cause :D). I dunno if they wanted you to do it as quickly as 600/640 x 40 though, which obviously makes it much more difficult.

Afterthought, due to sleep deprived state, quicker way to solve:

600 x 40 = 24,000 40^2 = 1600 25,600 quick and dirty, for accuracy: 3 * 40 = 120 25,600 - 120 = 25,480 25,480 + 600 = 26,080 26,080 + 37 = 26,117.

Sorry, this comment turned into a bit of a ramble.

Re:Google: 90% of our engineers use the software you wrote (... by jules on Thursday June 11, 2015 @07:28AM (#9698955)
Of course multiplying two numbers is easy: primary school children learn how to do it. Doing it in your head under pressure in an interview is entirely different.
Re:Google: 90% of our engineers use the software you wrote (... by eoJ1 on Thursday June 11, 2015 @07:55AM (#9699058)
What primary school did you go to, where you had to multiply those kinds of numbers in your head?
Re:Google: 90% of our engineers use the software you wrote (... by 72deluxe on Thursday June 11, 2015 @04:43AM (#9698457)
Perhaps it is an ego trip for the interviewers?
Re:Google: 90% of our engineers use the software you wrote (... by falcolas on Wednesday June 10, 2015 @06:34PM (#9696102)
> It's not like they get you in a room and ask you to draw a linked list or a binary tree.

And yet the OP was turned down for not being able to invert a binary tree (based on limited information, etc etc.)? What do you feel that is, if not a "whiteboard this algorithm" question?

As for many of the other companies who try and emulate Google - this is exactly what they do.

Re:Google: 90% of our engineers use the software you wrote (... by chrismsnz on Wednesday June 10, 2015 @06:38PM (#9696122)
> And yet the OP was turned down for not being able to invert a binary tree

Your source is a series of salty tweets.

Re:Google: 90% of our engineers use the software you wrote (... by falcolas on Wednesday June 10, 2015 @06:45PM (#9696160)
Well, for what it's worth, it's all we have to go on at the moment.

And in either case, my original comment was directed at the idea that "algorithmic interviews provide false negatives, but not false positives".

Re:Google: 90% of our engineers use the software you wrote (... by hyperpape on Wednesday June 10, 2015 @07:23PM (#9696336)
It's something that trips me up constantly, but we don't have to say anything. If there's not enough to go on, we can just be quiet.
Re:Google: 90% of our engineers use the software you wrote (... by blinks on Wednesday June 10, 2015 @06:47PM (#9696176)
There are tens of thousands of employees at Google. Most of them interview. People are different.
Re:Google: 90% of our engineers use the software you wrote (... by derefr on Wednesday June 10, 2015 @10:28PM (#9697112)
> There are tens of thousands of employees at Google. Most of them interview.

You say that as if it's a good thing. Do you expect that most people could be e.g. effective teachers, effective marketers, or effective taste-testers, with no previous experience?

Re:Google: 90% of our engineers use the software you wrote (... by krschultz on Wednesday June 10, 2015 @10:05PM (#9697038)
That said, I recently heard about a Google interview where the interviewer asked the question and left the room for 30 minutes while the candidate white boarded.

Obviously he didn't give 1 shit about "how you approach the real world issues".

Re:Google: 90% of our engineers use the software you wrote (... by logn on Wednesday June 10, 2015 @07:34PM (#9696384)
They literally had me do a deterministic finite automaton problem.
Re:Google: 90% of our engineers use the software you wrote (... by eli_gottlieb on Wednesday June 10, 2015 @07:49PM (#9696455)
Ok, on the one hand, you should be able to answer the question with, "Get a standard-issue POSIX-conformant regex library. Next question!"

On the other hand, knowing that DFAs are equivalent to regexes are equivalent to NFAs is already a step of theoretical knowledge that any "Just let me write code" so-called "dev" is likely to complain about being asked for.

Re:Google: 90% of our engineers use the software you wrote (... by logn on Wednesday June 10, 2015 @08:06PM (#9696529)
I was asked that question about 7 years after reading Mastering Regular Expressions and about 10 years after taking Automata in college. It so happens that I am an expert in regex, have a patent in the field, regularly answer stackoverflow regex questions for fun, etc. Unfortunately, the question involved me actually drawing a DFA, trying to remember the notation, etc. At this point I don't even remember the particular question, only that I couldn't remember how to draw or read the diagrams.
Re:Google: 90% of our engineers use the software you wrote (... by marktangotango on Wednesday June 10, 2015 @08:57PM (#9696740)
Circles for states and arrows for transitions between states? Is there anything more to it than that?
Re:Google: 90% of our engineers use the software you wrote (... by rbanffy on Wednesday June 10, 2015 @09:19PM (#9696833)
I think you use "sausages" for initial and final states...

I too don't remember much.

Re:Google: 90% of our engineers use the software you wrote (... by rsc on Thursday June 11, 2015 @12:18AM (#9697501)
Perhaps that's the point. A self-proclaimed expert in the field should know how to draw or at least read a DFA.
Re:Google: 90% of our engineers use the software you wrote (... by logn on Thursday June 11, 2015 @01:32AM (#9697798)
The interviewer told me this was a favorite question of his. Also I don't think I presented myself as a regex expert to them. Anyhow, I'm an expert in regex like a DBA would be an expert in SQL or particular databases. The interview was for an ordinary software engineer role.

Regardless, I only meant to make the point that I disagree with the comment "They're more interested in how you approach real world issues" and that this statement is false: "It's not like they get you in a room and ask you to draw a linked list or a binary tree"

edit: by "expert" I just mean something I'm particularly skilled in, not something I'm an authority in from theory to practice.

Re:Google: 90% of our engineers use the software you wrote (... by decisiveness on Wednesday June 10, 2015 @07:08PM (#9696277)
I think what Google tries to find are the engineers with creativity, skill and ability to work intelligently at a problem which they haven't seen before.

It's important to know how a person approaches a hard new problem and how easily or not they give up. I'd guess that a person who didn't solve a hard problem, but got close enough by displaying creativity, curiousness and a solid thought process might have an edge over a person that implemented a familiar algorithm with ease but got a little flustered, and didn't show much creativity or inquisitiveness, when challenged with something new.

Re:Google: 90% of our engineers use the software you wrote (... by ZanyProgrammer on Wednesday June 10, 2015 @07:47PM (#9696442)
I think you want to think that way, that whiteboard interviews have a shred of competency about them. I bet you dollars to doughnuts though 9/10 times a company will hire someone who can regurgitate algorithms rather than an eccentric who can't get them right but thinks really cleverly.
Re:Google: 90% of our engineers use the software you wrote (... by decisiveness on Wednesday June 10, 2015 @08:29PM (#9696621)
It seems this criticism is of the interviewer making a poor decision based on missed/incorrect observations, not with the whiteboard interview itself.

Whiteboard interviews might miss eccentrics who can't express their clever thoughts verbally or visually, but it can depend on how tuned in the interviewer is to these eccentricities or how much value their team puts on expressive skills.

Algorithm/data structure interviews, whiteboard or not, also have the added benefit of being exceptionally good at eliminating candidates that:

1) Drastically misrepresent their skills

2) Give up easily at difficult tasks

3) Don't seek help from others

4) Frequently have a bad attitude

Re:Google: 90% of our engineers use the software you wrote (... by iopq on Wednesday June 10, 2015 @09:53PM (#9696985)
I've never answered it wrong and gotten hired for my "thought process" even if I was close. I had to fart around on my own for another ~15 minutes to fix my bugs to make it work. But it seems they just want a guy who memorized it and pretends to discover the perfect solution on the first try.
Re:Google: 90% of our engineers use the software you wrote (... by QuercusMax on Wednesday June 10, 2015 @11:45PM (#9697371)
On two occasions I have "re-interviewed" current or past developers who wanted to move up from working on extremely simple low-complexity code / sysadmin work, and start working on our flagship project. In both cases the team leads and I didn't think these people were qualified to do so, but the candidates were really convinced they were. These were employees who had come into the company through non-standard channels, so hadn't experienced our normal interviews.

I had them attempt to solve the problems on a whiteboard that I would give to our intern candidates. Both totally bombed hard, and our other "re-interviewers" had the same result when they asked some design-related and algorithmic related questions.

This wasn't "regurgitating algorithms". It was basic problem-solving and software design. From their track record of development we didn't believe them to be qualified (despite their own opinion of themselves), and they only confirmed it by totally bombing the "re-interview" process (which was identical to our normal interview process).

Re:Google: 90% of our engineers use the software you wrote (... by Retric on Wednesday June 10, 2015 @11:59PM (#9697427)
Nothing you said actually means they could not have done the job. You basically said, we gave them a test and they failed so clearly the test was a good idea.

The only way to validate your highering process is to randomly accept people you would otherwise fail. Anything else is meaningless.