Live data from Hacker News

Facebook Lost a Great Engineer

medium.com

31–40 of 64 posts

Re: Facebook Lost a Great Engineer

#31
Yet another take on puzzles.. I reckon people are asked puzzles because if you can solve them, the probability of you solving real world problems is higher.

Now that your raw intelligence/interest is proved, it's now a question of whether you have the tenacity to maintain huge codebases with your team

Re: Facebook Lost a Great Engineer

#32
post #20

I understand that these questions can be ridiculous at times. But I think it is worth pointing out 2 things: 1) They may work well for a subset of applicants for a subset of companies. This, to some, is verification that these sorts of problems are a good way of narrowing down the applicant pool. Hence why they're used. 2) From Facebook (or any other employer)'s perspective, it's an incredibly hard job determining wh…

In my honest opinion, the way it can be improved is exactly the way my interview last Friday went:

I walked in, and did the introductions. I had two programming problems to solve, but these weren't puzzles. The two questions were fairly simple, that used a lot of basic features of the language they use in this shop.

The first question I couldn't remember the exact function names in the standard library (it's PHP, the stdlib is HUGE and stupid) but the interviewer helped me, and once I had the right functions in place, was easy.

The second question tested OOP knowledge, and again was easy for any actual programmer.

Then, once I'd passed that with flying colours, we moved on to the normal "interview".

This week, I'm going in for a day (paid), to see if I'm a good culture fit, and look at the projects I'll be working on.

I believe this is a brilliant way of interviewing and making sure you get the right candidate. Anyone who can't program will fail instantly (apparently thats a big problem here in Australia?), and then if the rest of the interview goes well, culture fit is actually TESTED (albeit as much as you can test in one day).

I'm looking forward to this place actually :)

Re: Facebook Lost a Great Engineer

#33
post #13

Yeah these sort of questions are pretty ridiculous. Though I wonder what the intent is here, say for the first question - "What is the pattern here ?" After looking up the solution on wikipedia - http://en.wikipedia.org/wiki/Look-and-say_sequence I would have to admit there is no way I'd figure that out without knowing the concept ahead of time. So are they looking for someone that knows the 'look and say sequence' e…

It looked like it was a simple L-system to me... V : 1 2 ω : 1 P : (11 -> 21) (2 -> 12) (1 -> 11) I think that matches the information given in the question. Would that be an "incorrect answer"?

According to wikipedia[1], the sequence goes 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, ...

[1] http://en.wikipedia.org/wiki/Look-and-say_sequence

Re: Facebook Lost a Great Engineer

#34

Yeah these sort of questions are pretty ridiculous. Though I wonder what the intent is here, say for the first question - "What is the pattern here ?" After looking up the solution on wikipedia - http://en.wikipedia.org/wiki/Look-and-say_sequence I would have to admit there is no way I'd figure that out without knowing the concept ahead of time. So are they looking for someone that knows the 'look and say sequence' e…

It's also extremely unfair to non-native English speakers.

Re: Facebook Lost a Great Engineer

#35
Is it possible that the look of distain on his face when the interviewer asked him to solve a puzzle indicated that he wasn't a good fit for their "puzzle culture"?

I don't think it's fair to conclude he didn't get the FB job due to his failure to write a square root function. The funnier part is that this question isn't a puzzle (but does perhaps indicate how well the interviewee has internalized mathematics).

I suspect I'd have failed him for ego ... "Today, after releasing 25 Github projects, creating several widely-used apps in less than a day each, and designing an entire architecture for a streaming platform, I realize I’m a pretty well-rounded and high-performing developer/engineer/architect. At the scale of Facebook, I’m exactly the sort of engineer I’d want many of." I've been in the industry for 30 years and realize I still have so much to learn.

Re: Facebook Lost a Great Engineer

#36

Well, the OP statement "write a function which merges two sorted arrays without allocating any additional memory. Aside from having no real-world value, it’s not actually possible" seems strange. Ok, any real-world usage might be applicable only in embedded systems which is a fairly narrow domain. Still, it is a small (easy to describe) problem that can be used to see how the applicant does problem solving for proble…

This is standard undergraduate question in algorithms when I went to college. If you need N log(N) solution, look up in-situ mergesort. If you don't care about the order of algorithm, there are much simpler intuitive ways of doing it.

Assume that you have two sorted arrays A and B. At the end of it, A followed by B needs to be sorted. Here is a simple algorithm:

Sort(A,B):

    if A[0] is greater than B[0], swap A[0] and B[0]. 
        Bubble up B[0] to its right place (that is make B sorted).

   Sort(A+1, B) -- stop if A reached its end.
Naive implementation, such as this is N^2. Leaving it to readers to make it N log(N), which is actually trivial.

That comes to a different point. When I was going to college in Computer science, we had to go through at least three courses in algorithms. We used to hand code most algorithms optimizing for the situation at hand. I suppose the advent of good libraries, and the bottlenecks elsewhere in the systems means that this generation may not find fundamentals of algorithms much use. Instead, they may find concepts in abstraction, higher order functions etc more useful.

Re: Facebook Lost a Great Engineer

#38
A Finance sector perspective:

In reading through the threads, there's a common underlying assumption that if you don't get the problem right, you won't get hired. That definitely is NOT the case in finance. We use the brain teasers and puzzles as a way to showcase how you think. For my interview, out of 5 brain teasers I nailed 2, was heavily helped through 2 more, and never got the last one, even with lots of help. But for each, the interviewer made it very clear that I was to think out loud. After getting the job, I later used the technique in interviews and gave positive reviews to those who had similarly struggled through puzzles but had used a similar thought process. In general we used this to weed out three different types of people:

1. Hard science majors who learned how to solve problems instead of think through problems. These people learned how to derive the heat diffusion equation, but would never put a story modeling a random walk in connection with that equation.

2. People who freeze when things get tough. Obviously a bad thing on the trade floor. While with coding you can often walk away from a hard problem, think about it, and come back, in finance, you can't walk away from losing lots of money over a short period of time ... you have to stop the bleeding.

3. People who learned how to think quickly and with rigorous process. The type of people you want.

Re: Facebook Lost a Great Engineer

#39

Yeah these sort of questions are pretty ridiculous. Though I wonder what the intent is here, say for the first question - "What is the pattern here ?" After looking up the solution on wikipedia - http://en.wikipedia.org/wiki/Look-and-say_sequence I would have to admit there is no way I'd figure that out without knowing the concept ahead of time. So are they looking for someone that knows the 'look and say sequence' e…

If you add the digits in the sequence you get the Fibonacci sequence. [1 = 1, 11 = 2, 21 = 3, 1211 = 5, 111221 = 8] => [1,2,3,5,8]

I'm not sure if there being multiple "correct" answers makes me like the question or hate it. The Fibonacci sequence seems a bit more obvious though than the "look and say" answer.

Re: Facebook Lost a Great Engineer

#40
Sorry for the off topic but

"How often do you expect candidates to write a function to calculate the square root of a number? I would fire any developer who chose to re-implement standard library functions."

Not this crap again.

Oh and he says he has an "interest in formal computer science"

No, I don't expect you to reimplement square root. Or maybe I do, because that's what a lot of games do (or something similar) because you have to reach a balance between speed and accuracy.

Or maybe because we need a bigger precision than a double, again there are libraries, but again we may need something else that's not in the library.

So yes, absolutely, what I wouldn't hire is a "computer scientist" that can't work their way around a math problem.

Edit: oh it gets worse, he gives the "never parse HTML without a proper HTML parser" talk

Whine whine whine

Step 1 - learn the rules. Step 2 - learn when to break them

And it's only an example

FB didn't lose a "great engineer", they were right on target.

Post reply on HN