5 ms·
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 r
by simonsarris 14y ago
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 important.
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.
Second most important is communication skills, especially how well they can explain things they have worked on.
From this post, Facebook seems more interested in making sure developer can re-re-re-implement merge-bubble sort-reduce, I'm sure while occasionally printing "Buzz". I understand why these tests can be necessary for a lot of people[1], but I imagine the caliber of people that get past screening at Facebook aren't of that type.
~~~
The most delightful interview I ever had (I was being interviewed) was one where the development team didn't even ask me any general programming questions. They took what I had written as fulfilling that pass, and went straight into several conversations with different developers about the ways we go about making libraries. They asked me to talk about decision making process and how I might explain or advocate for various concepts. I'd like to think if they had any suspicions they might have switched gears to a FizzBuzz level, but I can't know for sure.
These talks got very in depth, and whiteboard-writing was had, but at no time did they ask a programming question that wasn't rooted in the concrete. It was always directed: "How did you...?" "How might we...?" "Didn't you run into problems with...?"
Never did they ask me to implement a common algorithm, which feels silly. I can't remember all of them (or even most of them), and if I needed to in the course of my work I'd consult Professor Wikipedia long before I touch my own corruptible memory. Never did they ask me to implement an obscure algorithm, which popular companies seem to enjoy but I imagine filters out a lot of good candidates who happen to have spent time knowing the wrong things. I do not understand why obscura in itself might impress.
Instead, they had me make worthwhile claims about (my or other's) code and then prove them.
Then they showed me what each of them was working on, ensuring there was two-way discussion on each. They showed me problems they were having, what they were doing, and asked my opinion. They showed me bugs, and we sat down and set breakpoints, talked it over and stepped through until the issue was resolved.
This process lasted two days, and the entire time I was delighted. They did an incredible job of making me feel accepted as a fellow professional developer. I ended up not taking the job for personal reasons, but the entire process and people involved were all wonderful.
(The company was Sencha).
[1] Jeff Atwood's "Why Can't Programmers.. Program?" has a good discussion on that http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html http://www.codinghorror.com/blog/2007/02/why-cant-programmer...
- martypitt 14y agoThis sounds awesome. The next time I interview for a position somewhere, I really hope it's closer to this, than to obscure problem solving trivia. The next time I interview someone to work for me, I really hope I can make the experience as collaborative and rewarding as it sounds this was for you. The kinda person who I can work through this interview with is exactly the kinda person I wanna work for / employ.
- jkrems 14y agoOther company with a similar process (in my experience): Yammer
- lbrandy 14y agoHi. 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. stuff that someone has made // communication skills, especially how well they can explain things they have worked on. Both of these are critical parts of every facebook interview. From this post, Facebook seems more interested in making sure developer can re-re-re-implement merge-bubble sort-reduce I don't think that is a well supported inference from the post in question.
- simonsarris 14y ago> 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.