7 ms·
Get that job at Facebook (2012)
- orangethirty 13y agoDoes facebook still use PHP?
- davyjones 13y agoThey do (according to a post I saw on here a couple of months ago). But for people who don't know, they have an open source VM called HipHop (https://github.com/facebook/hiphop-php https://github.com/facebook/hiphop-php) that consumes the PHP.
- mcrittenden 13y agoYes, if the .php extensions on most of the URLs is any indication.
- rkuykendall-com 13y agoHm, I clicked all around the site and wasn't able to get a .php in any of my URLs. They were all "clean" or "pretty" URLs, as I would expect from a profesional, large web app. I wonder why we have different URLs.
- dyno12345 13y agohttps://www.facebook.com/home.php https://www.facebook.com/home.php
- randartie 13y agoThat's most likely just an endpoint named 'home.php' which now leads to some controller instead of actually loading a file called home.php
- rkuykendall-com 13y agoWhen I click "Home," I just get https://www.facebook.com/ https://www.facebook.com/. I wonder why you get the php urls.
- nawitus 13y agoThe redirect url for outgoing links has .php at the end.
- rkuykendall-com 13y agoHm, I looked a lot of the links in my news feed and they were all direct.
- bbillings 13y agoYes, but no. Since moving to HipHip which is a translated/compiled version of PHP, we have been able to fork the language to clean it up. We have a strongly typed version, Generators, etc. Syntactically it looks a lot like PHP and is backward compatible for many thing, but it's not really PHP anymore. The HipHop team has done a ton to make the language a lot more enjoyable to work in.
- orangethirty 13y agoI did not know you went to such extent. At that scale that makes sense. Do you plan to open source it?
- bbillings 13y agohttps://www.youtube.com/watch?v=Dwek7dZDFN0 https://www.youtube.com/watch?v=Dwek7dZDFN0 is a pretty good talk about everything coming down the pipe. Generics, Strict typing, Collections, etc. Too my knowledge (I'm not directly on the Hip-Hop team) it will be open sourced, additionally we also generally present a PHP patch as well to allow it in future versions of standard PHP.
- myko 13y agoI didn't realize Facebook did tech talks, I'm glad to see they do and they're linked from this site: https://www.facebook.com/media/set/?set=vb.9445547199&type=2 https://www.facebook.com/media/set/?set=vb.9445547199&ty... My only complaint is I wish they were on Youtube, I'd like to make playlists and watch them on my TV.
- coldcode 13y agoWhy? Work 70 hours a week finding new ways to put more ads in people's lives.
- jonathanjaeger 13y agoDon't trivialize Facebook. There's no other place online that so easily melds chat, messaging, wall posts, and general keeping up with those closest to you (even when they're not close to you physically). Despite its problems, Facebook provides a lot of utility for many people without having to be cynical about it. I'll put up with all the ads that are somewhat relevant and are not so obtrusive to the extent that they are popups.
- cantankerous 13y agoI don't think anybody who trivializes Facebook is speaking to the problems they have to tackle at the scale they're at. I think the real cynicism comes from the real added value coming from Facebook at the cost to society it brings (i.e. lost time, ad sales, impact on human interaction, etc.).
- jonathanjaeger 13y agoImpact on human interaction is a concern in the age of social media. We will always find a way to lose time. I'm not sure if any generation is/was immune to that.
- nvarsj 13y agoSame reason people work at any famous BigCo: money, security, nice benefits. Not going to change the world, but not everyone wants to do that.
- satori99 13y agoIt does make me a little sad that so many smart and talented people spend their careers making, delivering and working out how to get people to click on more ads. I don't just mean programmers. The advertising industry hires many of the most talented people in many areas.
- jamesaguilar 13y agoOne thing I have seen repeatedly in interviews for engineering positions of all levels is people who have not gone back and reviewed the basic algorithms they learned in second year. I know coding questions as posed in interviews are not the best measure of job performance, but they are also one of the few we have that is guaranteed to be sourced from the candidate in question. To perform well at these sorts of questions, you should be familiar with basic algorithms and techniques. It's a common language that you and the interviewer can speak. Not knowing that language is gimping yourself unnecessarily. Don't know what a graph or a queue is? You're gonna have a bad time. Take a few hours to study up before interviewing at the big engineering-focused companies.
- strandev 13y agoIf you agree that these types of questions are not a good measure of job performance, why encourage this line of questioning? Wouldn't it be better for the industry as a whole to discover better ways to determine future job performance?
- tezka 13y agoknowing these are not going to guarantee good performance. But not knowing them is a clear indication of incompetence. A programmer who doesn't know basic algorithms and data structure is a bad programmer.
- scarmig 13y agoObviously more knowledge is good knowledge. And perhaps the bar for being a good programmer involves being able to 1) Implement a red black tree on a white board I would argue, though, if that's the bar, there are probably other bars that are a bit lower that at least some of the algorithm triumphalists would fail, such as to 2) Throw up a basic and secure Wordpress site on an Amazon EC2 instance or 3) You're running into an issue where you're getting an error message about running out of file descriptors. Tell me what's the issue here and what you'd do about it or 4) write a basic, safe script that makes backups of each file in a given directory and its subdirectories or 5) tell me what the fuck is the clearfix? Now, if intermediate algorithms is something that people should be able to do, surely you'd agree 2-5 are even lower bars to meet (since they're things that virtually all of those "bad programmers" are able to do). By the same token, though, it's absolutely the case that many hires at the BigCos actually wouldn't be able to respond to 2-5. I wouldn't say that those people shouldn't have been hired; after all, people learn! But if algorithms are actually part of the everyday job, someone could also learn them, no? To the extent that you're testing for raw intelligence--which is the most important aspect of any of these types of jobs--algorithms are a good ruler. But to equate the measurer with the measure is somewhat foolish, because it's a means to an end, not the end itself. If you can use other probes of raw intelligence, those function just as well as being able to vomit up algorithms and data structures that, as people point out, any person who spends a month or so studying can get a solid grasp on and then never need again.
- brokentone 13y agoI left after "elemental awesomium," someone TL;DR?
- danielsamuels 13y agoTL;DR: You'll never work at Facebook because you don't have the attention span required to spend 5 minutes reading an article.
- brokentone 13y agoWell good, I was worried they'd forcibly hire me, so good to know I'm safe. The issue is less attention than having 5 minutes of time available to read obvious self-congratulatory posts filled with annoying startup-y words.
- diamondhead 13y agoGetting interviewed by Facebook was the a waste of time in my experience. They asked me to code something dummy at home saying "it'll only take 2 hours". It takes 1 hour to write a new NPM module and publish for me. In the next remaining hour, I get feedback from somebody and learn something useful. 2 hours are really important for me. I would never spend that much of time for any company without getting paid.
- deleted 13y ago[deleted]
- aaroncray 13y agono
- losethos 13y agoCome to work for God on His temple. Vow of poverty. God is your inheritance. God says... outer Catastrophic_Success forgot Romania speaks shape meanly Contain take_the_day_off assigned amazing failure_to_communicate buyers glowing procured enmity lungs long bitter Since -the amidst foolish Very perceiveth everything impatient walking foresignify Here fathers' do_you_have_a_problem beholder //promo soaring hey_Mikey_he_likes_it gnawing stiffneckedness shineth curest hour poet divisions allow Love Switzerland unhealthiness ornamenting baggage contact seek inflamed do_it goal folded comprehending follow modes masters ---- Sisteen chapel, anyone? Artists needed. ---- God says... 16:43 And all the people departed every man to his house: and David returned to bless his house. 17:1 Now it came to pass, as David sat in his house, that David said to Nathan the prophet, Lo, I dwell in an house of cedars, but the ark of the covenant of the LORD remaineth under curtains. 17:2 Then Nathan said unto David, Do all that is in thine heart; for God is with thee. 17:3 And it came to pass the same night, that the word of God came to Nathan, saying, 17:4 Go and tell David my servant, Thus saith the LORD, Thou shalt not build me an house to dwell in: 17:5 For I have not dwelt in an house since the day that I brought up Israel unto this day; but have gone from tent to tent, and from one tabernacle to another. ----- We're going to have a pet elephant. God says... delete pangs resting-place lined Print attaining After Beauty venerable ARE flashes Ridiculous gulf closes watch_it_buddy telling Bouverie opened reformed plot IX endure boyish constitute Catholic Archive okay, no pet elephant.
- rdl 13y agoThe comments on that post are an excellent indictment of Facebook comments/public posting. They're almost Youtube level.
- rozap 13y agoThey're sub youtube level. 80% of those people are either illiterate or spam bots. It was cringe worthy.
- tricolon 13y agoThis was posted 2012-07-20. The link title ought to reflect that.
- sriramk 13y agoI should also point out that Facebook is hiring not just engineers but also designers, product managers, infrastructure people,... I just joined a couple of weeks ago as a product manager and in the short time here, I've loved it.
- dudurocha 13y agoHow is the interview for a product manager?
- therandomguy 13y agoI was hoping to get an answer as well.
- apunic 13y agoIs there anything like HN for tech entrepreneurs only, maybe a subreddit somewhere? I see here regularly posts regarding jobs/interviews/etc. which are all great ressources but since they got so many upvotes -- this one is on #1 right now -- I wonder sometimes how many on HN are full-time (tech) entrepreneurs and how many are employed/freelance coders.
- shmageggy 13y agoI'm in neither of those demographics, but I'd imagine part of being a good entrepeneur is understanding the hiring processes of companies that you will be competing with for talent, so this article should be popular on your hypothetical website too.
- kubrickslair 13y agoNever interviewed at Facebook but have been offered roles at similarly hard to get places. Though I am working at my own startup now, the absurdness of the interviewing process at majority of such places confounds me. In short, I can't cope up with them well without going through quite a few glassdoor type questions of that respective company. And partially it is because most interviewers already have a set of solutions that they are looking for, and can't appreciate novel solutions and at times even better time/space complexity if they do not fit the standard mold. In my experience only some very hot startups had smart/ open enough interviewers to appreciate new solutions or see the relevance of new CS research results that may solve their question. Before one starts attacking me on being a CS philistine, I want you to ponder on my background- current work involves designing & implementing pretty intricate & complex algorithms, and earlier research & publications in a range of ML related sub-fields, mainly NLP & recommender systems. I also read CS papers for pleasure, code in multiple languages and did reasonably well in programming competitions- no longer participate, latter is many years ago. For a similar experience, though from a far more accomplished person, see Tanya Khovanova's blog post on hiring 'the smartest people in the world': http://blog.tanyakhovanova.com/?p=402 http://blog.tanyakhovanova.com/?p=402 Also, FYI I don't resent the system a lot. It is better than it being an old-boys-club; I just dread going through the bootcamp of memorizing/ revisiting trivial stuff in case I ever have to look for a job again.
- CoolGuySteve 13y agoThe thing that really bothers me about these postings is the advice that you should 'prep'. Conceivably, many applicants will already have a job that requires them to code 8 hours a day. But somehow, the skills required to pass their interview are so out of line with what a programmer does day to day, that extracurricular studying is required. It would suggest that the interview itself selects for mostly irrelevant skills if that is a problem they're having with the process.
- ritchiea 13y agoThat baffles me as well. I made another comment in this thread [1], but what really dwells on my mind is: do companies that interview like Facebook really believe that my day-to-day as a programmer has so little to do with the work I would do if were to work at their company? I'm particularly curious as someone who only did a bit of CS in school and became a full time programmer from work I did as a hobbyist. And if the answer is "yes, your work has nothing to do with the kind of work we do at Facebook, Google, etc." it's not so much that I'm appalled but actually even more curious about the jobs at those companies than I am now. [1] https://news.ycombinator.com/item?id=5623861 https://news.ycombinator.com/item?id=5623861
- lifeformed 13y agoThose comments at the end... geeze. "pls give me job at facebook call me 5551231234" "send link to aplication to email@email.com"
- adamnemecek 13y agoAll Facebook blog comments are of similar nature. It's pretty astounding.
- ritchiea 13y agoI 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 qualified to solve them? I know these seem like a naive questions, but these two things seem to be taken for granted in every interview discussion (or even if someone argues against them it's mostly a "this is how I find good people" argument). I think it's pretty clear this isn't the only way to find good people, I'd just love to hear more about the thinking behind this interview style and what it really means to these companies when they say "we deal with hard problems." The only concrete example I've ever been given is someone at another big Valley company speaking about difficulty of master-master writes between data centers at a large scale. Which certainly qualifies but I'd love to hear what other "hard problems" are out there.
- BadCRC 13y agoone I was given in an interview: You're working on the front-end development for a chatting website. Each conversation gets it's own 100x200px div and they are placed on the screen such that two conversation windows are never intersecting. We want to display a new conversation window, write an algorithm to determine where a conversation can be placed such that it does not overlap with any current conversations. Assume that the website is being displayed at 1024x1280px.
- gamegoblin 13y agoAm I reading the problem incorrectly or is that just ridiculously easy?
- chacham15 13y agoAs stated this seems really easy. I think it is supposed to be more like Meebo where the users can resize/move every window (i.e. they dont have to be aligned to any boundary) and they recieve a new message. The Meebo software wants to place a new 100x200 window not on top of any existing window. Write the algorithm to determine where to place it. Then generalize the algorithm to WxH. Hard enough? (If not, find an algorithm that does this in linear time)
- cdjk 13y agoI interviewed at Facebook (a while ago - they were still on University Ave). This article is a pretty accurate description of the interview process that I remember, but could apply equally well to technical interviews most places. The "fit" category is fairly vague, but a better description of it (and what I think about when interviewing candidates) is "how would I feel if I had to stay late fixing a live site issue with this person?" Ideally that doesn't happen, but I find it helpful framing question. For coding questions, I generally have a pretty low bar - and it's gotten lower. Generally I look for understanding of basic data structures, and the ability to manipulate them. I realize that's slightly biased towards recent grads, but I think linked-lists, binary trees, and pointers are fair game even for experienced candidates. I'm sometimes amazed at how many people have problems with what I think are simple questions. SQL and schema design questions are also good, and lend themselves very well to iterative questions. It's easy to start with simple problem statement, have someone get a reasonable solution, and then throw additional requirements in.
- simonsarris 13y agoI 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...
- vonmoltke 13y agoInteresting and informative post, but it seems to be focused on software engineers. What is the process and screening like for hardware engineers?
- deleted 13y ago[deleted]
- 7Figures2Commas 13y agoHere's a question: at companies with these kind of approaches, how many of the founders and early employers would have done well in these interviews themselves? Obviously, services grow and the Facebook of 2013 is very different from the Facebook of 2004, but it's kind of funny to see companies that succeeded because the original team was able to ship (period) evolve to focus on hiring CS majors who can reinvent the wheel on a whiteboard.
- randartie 13y agoIf you inspect the actual early employees, a majority of them were ivy league grads who most certainly could solve these easy interview problems (It also helped that they could ship code).
- nilkn 13y agoThat doesn't mean they would have done well in the interviews. Quite a different thing entirely, really. I mean, there's some correlation, but it's not that strong.
- sravfeyn 13y agoCommunication from Facebook recruiting team is ZERO after applying. Not even an automated reply. About a week back, I applied to Facebook after solving a puzzle on their Interviewstreet page successfully within given time. Sadly I didn't get any kind of acknowledgement from their recruiting team, neither saying I am rejected nor that they have received my application.
- kamaal 13y ago>>Take your time preparing. Do code katas and practice interviewing with friends. Try solving the interview questions on our site. This makes me wonder, who or what kind of a candidate the person even trying to hire. Programming or any career for that matter is by and large a kind of job that requires you to perform everyday, you have to be consistent. Its not an Boxing match or America's got talent contest which happens once an year for which you do all the preparation for 12 months and then perform on the last hour. Software projects or any project for that matter simply don't work that way. You don't read books for months, decide to do the project and then hammer out all the code in an hour. >>Impress us with your mastery of whatever language you're best at. Again, whom are you trying to hire? >>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. Sorry but this is getting boring. This algorithm thing is so badly gamed, it doesn't even make a good point of testing a candidate anymore. I've known people who work an hour everyday practicing these interview problems and can ace through such interview in a breeze, but wouldn't even last hours in a demanding work environment. The best way to check if a candidate is good for you is to do a through check on the quality and kind of projects/problems they have worked on in the past. If they have done well, hire them. Else regardless of whatever they might know from the text books, if they can't get the job done or haven't in the past. They are worthless to you anyway.
- jaimebuelta 13y agoThe problem with the previous work done is that could be difficult to show or check. If you worked on a regular company, the work done is not available. I agree that a discussion about previously done software can be very interesting, but that could be gamed too... I'm afraid that interviewing is never going to be easy for both...
- dgbsco 13y agoI need to use Facebook to login to take their 'programming' test. I'm PISSED.
- zoba 13y ago> "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 technology that has been developed to make software engineers more effective and that the majority use daily? That would be like if we let sales people use tools they rely on, like charisma, during interviews! The only sensible argument I've heard for why companies interview with programming puzzle questions is that it "takes too long" to do an interview better (like the way simonsarris pointed out Sencha does). At the point a company is unwilling to look at applicants as humans, and instead treats them as numbers/percentages, I wonder if they're a company worth working for any way.
- btilly 13y agoHere 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.)
- robrenaud 13y agoLet the candidate bring a laptop?
- nthj 13y agoYes, this easily solves many problems. Plus I get to see exactly how they are used to working, neatly avoiding many "tell me about your environment" questions.
- btilly 13y agoThere are lots of good reasons why you might not want random people plugging in their laptops on your computer, and likewise reasons that you wouldn't want them to walk away with your interview materials loaded on their personal computer.
- waltz 13y agoHow many people do you actually need to run a website? The whole thing can be maintained by a small team probably.
- randartie 13y agoYou'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.
- taftster 13y agoMy 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.
- overgard 13y agoI'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.
- ciupicri 13y ago> Give feedback. We regularly survey candidates about the interview process and take feedback seriously. Yet so few companies give feedback.
- thedufer 13y agoFrom a legal perspective, that's a dangerous move. There are any number of ways an interviewer's feedback could be misinterpreted (or correctly interpreted, I suppose) as being an illegal reason for issuing a no-hire. Even if you're careful, there's a non-zero chance of a really bad outcome. It just isn't worth it.
- ciupicri 13y agoI know about this legal thing, but still. By the way, I'm wondering why do some people insist of working at a company which doesn't want them? Besides money from a lawsuit, of course. Even if the interview wasn't "fair", it's someone else's company, so they should be able to hire whoever they want.
- orangethirty 13y agoWorking at fb sounds like cool experience. Though im wary of companies who still make one suffer through such interviews. Thats what keps me as a contractor. None of that interviews funny business. Fb recruiter, if you read this, shoot me an email.
- dokem 13y agoDoes anyone at facebook know how the full time hiring of interns works? I'm starting an internship in the bay area office in a few weeks and it looks like the odds of coming out with an offer are pretty slim. Right now there are ~500 people scheduled for the summer intern block and I believe that facebook currently only has about 1000 fulltime engineers. My understanding of internships at 'lesser' tech companies seems to be that if you impress your superiors you'll probably come out with an offer. The idea that i'm getting from facebook is that I have to compete against basically everyone else. I'm very excited by also a bit nervous.
- rodrigoavie 13y agoI wish more companies shared their hiring process for developers. Anyway, I hope they do not stick too much the puzzles. I'm looking forward for the time I'll be able to solve their problems, too.
- Sven7 13y agoFacebook needs to be asking candidates just 2 questions. (1)Can you increase the number of minutes per hour your mom spends on Facebook? (2)How much do we need to pay you to feel comfortable doing that?