I applied through a recruiter who contacted me in September. She was nice, and we booked a phone/screen coding interview.
They are using CoderPad for these. This first interview consisted of three questions. They all seemed pretty easy, and then the interviewer asked for edge cases, which were a bit more challenging but nothing impossible. The interviewer was really nice and encouraging.
After that, I had another phone/screen interview, which was basically the same. There was a basic question, which was to code an observer pattern. It wasn't too hard but was much more challenging than the first one, especially when the interviewer asked about some edge cases. Again, the interviewer was really nice and encouraging, and they gave me clues when they saw I was blocked.
I finally got to the last step, the onsite interview, and it was a bit different, in my opinion. First, the process took a lot of time. I had a chat with a recruiter, but I didn't know if I would have the interview in London or in Menlo Park. It took almost a month before the interview was organized. I finally flew from London to Menlo Park for the onsite interview. The organization was pretty easy, though; everything was arranged by Facebook. I flew two days before the interview and returned the evening after the interview.
The onsite interview consisted of four 45-minute interviews: two coding interviews on a whiteboard, one conversation interview, and one architecture interview. I felt like one of the coding interviews was much harder than any other interview I had with Facebook, and it was also much harder to get things right on a whiteboard. I was absolutely terrible at this one. The other coding interview was more like the phone/screen interview—not too hard, but a bit more challenging when I got to the edge cases. It made me wonder if I'd just been very unlucky with the first coding interview, that I had a much harder one, but well, that's part of the game. I can see that people were asked to code array flattening in an iterative and recursive way for the first phone/screen interview, but I did it in a recursive way only, so I guess I got lucky in other interviews.
In those interviews, you will be mostly asked algorithm questions: iterative and recursive patterns, complexity (Big O notation), and data structures. Don't hesitate to ask questions and to talk about the problem before even starting to code. That's very important, especially since on a whiteboard, it's much harder to amend code (you can't copy-paste or add line breaks everywhere). It's very important to know what you're going to do before writing anything, rather than writing as you think, like I did. Also, the interviewers were very nice and encouraging even though I was terrible; they kept giving me clues and ways to think. I was also super stressed and slept only around three hours the night before because of the jetlag, which didn't help.
Besides those coding interviews, which were the challenging part for me, the conversation interview was more about getting to know me and classic interview questions (Why Facebook? Why Front End? Tell about a project you had and how you solved it? Tell about a conflict you had at work and how you dealt with it?). For this one, the recruiter told me about all these questions beforehand, so I had everything prepared.
The architecture interview was more about how you would approach a front-end problem and how you would structure your code, whether it's about HTML, CSS, or JavaScript. This one didn't seem to be too hard. If you have enough experience with layouts and front-end issues, it shouldn't be a problem.
After that one, I came back to London in the evening. A recruiter called me on Skype two days later and told me the team didn't want to go forward. I was kind of expecting it since I hadn't been good in the coding interviews. Still, I was very disappointed and frustrated that I went all the way to Menlo Park, visited Facebook HQ, and that I eventually failed. But still, the recruiter was very nice and keen to give me any feedback. I was just so disappointed that I didn't ask anything.
In the end, I'd say it was a very positive experience. All the people I've been in touch with were very kind and encouraging. The interviews seemed reasonable and looked like things I should be able to solve if I were a top coder. I have to wait more than a year to try again, and I might do it. I hope I can have the onsite interview in London this time.
Given two identical DOM trees (but not equal), and one element from the first DOM tree, how would you find this element in the second DOM tree?
Write an array flatten function.
Write an emitter class:
javascript /* emitter = new Emitter();
// 1. Support subscribing to events. sub = emitter.subscribe('event_name', callback); sub2 = emitter.subscribe('event_name', callback2);
// 2. Support emitting events.
// This particular example should lead to the callback above being invoked with foo and bar as parameters.
emitter.emit('event_name', foo, bar);
// 3. Support unsubscribing existing subscriptions by releasing them.
sub.release(); // sub is the reference returned by subscribe above
*/
The following metrics were computed from 12 interview experiences for the Meta Front End Engineer role in Menlo Park, California.
Meta's interview process for their Front End Engineer roles in Menlo Park, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Meta's Front End Engineer interview process in Menlo Park, California.