Live data from Hacker News

Get that job at Facebook (2012)

facebook.com

91–100 of 174 posts

Re: Get that job at Facebook (2012)

#91
My interview technique is this; I look at their resume for the typical buzzwords. Next, I ask them to explain about said buzzword, what they worked on, what they thought of the technology.

Then, we dig deeper. Anything they say, I continue to ask them followup questions. Eventually, we dig deep enough to know whether this person truly knows said technology or just put in on their resume for buzzword compliance.

It might go something like, "Oh, I see you've had some experience with REST. What is REST?" ... "How does REST relate to HTTP? Is HTTP required?" ... "What HTTP verbs are considered idempotent? What does that even mean, how is this useful?" ... "How would you implement a {insert} application using REST?"

There's no "tricking" the candidate this way. If they know their stuff, they get to talk in depth about it allowing them to shine. You will recognize this person, as we all love to talk about things we actually know something about.

And the other type will also be spotted. They get nervous when you start probing deeper on what they said they should know. They start giving really bad, contradictory and even laughable answers as you go.

Re: Get that job at Facebook (2012)

#92

Earlier quoted context omitted.

In that case, it's probably most space efficient to place each new window next to an already visible window or at an edge of the screen. So keep a list of possible candidate positions. Each of these positions represents either an edge of the screen or a position directly above/below/to the left/to the right of an existing window. You will need to calculate different offsets for each of these circumstances to generate…

You know, for people who have taken graphics classes, this seems like a much easier question because they know about AABB trees. That is the problem at the heart of the question. Also, your idea about candidate positions is wasteful. Just invert the tree so that it contains empty space instead of full space. Then, on insert, remove from the tree.

I guess you still need to find empty spaces that would overlap between branches at various levels. Under some circumstances you could end up backtracking around the tree quite a lot to find somewhere to park when you have a lot of nodes with some free space but not enough.

Re: Get that job at Facebook (2012)

#93
post #67

I hope this doesn't sound facetious, but what I hear over and over again is that places like Facebook have difficult technical interviews that are algorithm focused to create more false negatives than false positives because they work on hard problems. What are some concrete examples of hard problems tech companies face that require novel solutions and why are algorithms problems the best way to find the people quali…

What are some concrete examples of hard problems tech companies face that require novel solutions and why are algorithms problems the best way to find the people qualified to solve them? This is best answered by awesome example. See http://research.google.com/people/jeff/ for a list of some the problems that one Google programmer met, and solved. Many of said problems were novel at the time, though many have now lear…

>>These kinds of problems and answers are simply not understandable to people who don't understand algorithms.

Are you saying that jeff or whoever algo genius can come up with a solution to all those problems given say a couple of hours?

C'mon- Problem solving especially of difficult problems or big problems or long term projects is pretty much an iterative process. In which discovery and application of knowledge, and staying productive is more important than number of facts in the head.

Re: Get that job at Facebook (2012)

#94

I hope this doesn't sound facetious, but what I hear over and over again is that places like Facebook have difficult technical interviews that are algorithm focused to create more false negatives than false positives because they work on hard problems. What are some concrete examples of hard problems tech companies face that require novel solutions and why are algorithms problems the best way to find the people quali…

For my Facebook interview for an internship, I was given a simple string manipulation problem which I solved quickly. Then I was given the N-Queens problem (a more generalized version of this one http://en.wikipedia.org/wiki/Eight_queens_puzzle ). Needless to say I didn't solve that with my remaining time, since the interviews are only 45 minutes. I didn't feel it was a fair assessment of my skills.

Where there other constraints on your N-queens? (no bruteforce? no backtracking? must run in X time?)

Re: Get that job at Facebook (2012)

#95
post #73

I really like this kind of post and I wish more companies would write about their expectations before you actually get to the interview. Still, it seems like rather run-of-the-mill process. It will certainly filter out the bad, but you may miss some very good workers who work in different ways. Facebook still seems to be totally focused on code problems, and doesn't even mention if what you've already built is import…

Hi. I work at facebook and do many interviews. Facebook still seems to be totally focused on code problems I would say that statement is categorically false. In fact, the article lists 4 criteria, only one of which would be "code problems". The interview certainly has a focus on coding, but it most assuredly is not a total focus. And people can, have, and will pass the coding bar, and still fail to get an offer. stuf…

> I don't think that is a well supported inference from the post in question.

From the post in question:

> [screening portion] The bulk of the time is spent on coding exercises. The interviewer will send you a link to a collaborative editor and ask you to solve some programming problems.

> We will ask you to do a lot of coding during the interview process, because programming ability tends to correlate strongly with how well people perform as employees. We even have a large set of take-home questions. It can't hurt to check them out and maybe solve a couple before you even submit your resume.

> Take your time preparing. Do code katas and practice interviewing with friends. Try solving the interview questions on our site.

> Hard training makes for an easy battle. Brush up on techniques that you may not use every day, but are very useful when you need them: recursion, graph theory, tree traversal, combinatorial problems, etc.

> You might be asked to implement some well-known library functions.

Being asked to implement some well-known library functions is why I said re-re-re-implement merge-bubble sort-reduce. The rest is why I said FB seems more interested in this than anything else on the list.

Code katas? Take-home questions? Maybe it isn't this way in practice, but the post certainly makes it sound like a bizarro SAT. Needing to "prep" and "practice" coding questions in the way encouraged seems rather odd to me.

Re: Get that job at Facebook (2012)

#96

I really like this kind of post and I wish more companies would write about their expectations before you actually get to the interview. Still, it seems like rather run-of-the-mill process. It will certainly filter out the bad, but you may miss some very good workers who work in different ways. Facebook still seems to be totally focused on code problems, and doesn't even mention if what you've already built is import…

> In my opinion, stuff that someone has made should probably be considered the most important thing by miles. It doesn't have to be open-source code, but that certainly helps.

Problem is, a lot of good engineers (especially at big companies) may have spent a lot of time working on something that wasn't very important or good. They may have been a sparkling diamond in a sea of mediocrity.

One of my first jobs I spent the best part of a year working on something pretty dumb that was mired in bureaucracy and most people considered a bad idea from the start.

Yet that is what I worked on for around a year because that was where I was assigned, and it was considered important by edict of a person who earned approx 1000x my salary.

They eventually scrapped the project altogether.

Re: Get that job at Facebook (2012)

#97
post #84

How many people do you actually need to run a website? The whole thing can be maintained by a small team probably.

You're greatly underestimating the complexity of Facebook. I bet they have greater than 200,000 machines. Creating the infrastructure to just manage and deploy to those machines would already go beyond your 'small team'.

Not sure how you imagine a 'small team' managing a system that has an exabyte of data. From network infrastructure all the way down to cold storage, a 'small team' would be needed for each.

Re: Get that job at Facebook (2012)

#98
post #80
post #75

> "Practice writing code in a simple text editor without syntax highlighting or completion macros." Maybe applicants shouldn't be able to "undo" during the interview? Or maybe applicants should be able to manually convert the code to assembler? Or, heck, have them use one of those behemoth computers with the blinking lights that we have to plug wires into sockets to program? I mean...why should we rely on any technol…

Here is one answer for you. Many programmers will take longer to configure their environment than you have available for the interview. Therefore if you tried to let them interview in the programming environment of their choice, there would be no actual interview. (And you'd have to undo whatever they did before the next interview.)

Let the candidate bring a laptop?

Re: Get that job at Facebook (2012)

#99
I'm sort of disappointed that this is #1 on the board.

I don't have a problem with the piece per se, I just have the general feeling that an article on how to impress mid level managers to get a job at some giant established company is considered "hacker" news is.. I mean, am I the only one that thinks that's the antithesis of hacker ethos? There's no "hack" to this, it's like reading a pamphlet on how to get a job after college or something. It's not /wrong/, per se, but there's no real special insight here, and it basically reads like a PR piece.

Re: Get that job at Facebook (2012)

#100
post #93
post #67

Earlier quoted context omitted.

What are some concrete examples of hard problems tech companies face that require novel solutions and why are algorithms problems the best way to find the people qualified to solve them? This is best answered by awesome example. See http://research.google.com/people/jeff/ for a list of some the problems that one Google programmer met, and solved. Many of said problems were novel at the time, though many have now lear…

>>These kinds of problems and answers are simply not understandable to people who don't understand algorithms. Are you saying that jeff or whoever algo genius can come up with a solution to all those problems given say a couple of hours? C'mon- Problem solving especially of difficult problems or big problems or long term projects is pretty much an iterative process. In which discovery and application of knowledge, an…

Are you saying that jeff or whoever algo genius can come up with a solution to all those problems given say a couple of hours?

Of course not. Those problems and solutions were the result of years of work, by one of the best programmers on the planet. (Inside of Google, Jeff is a legend.) The question was what real problems faced by real companies require an algorithm person to solve, and that is an answer.

But any toy algorithm problem that you could be given in an interview, he could solve instantly. I guarantee it.

Heck, I'm nothing on his scale. Yet most algorithm questions that I see people complain about having been given in an interview I can figure out a decent solution to in under 2 minutes. When I hear people talking about prepping for that sort of question, it seems to me like they are missing the point.

Post reply on HN