The process took 2 weeks. I interviewed at Meta (Menlo Park, CA) in Jan 2014
Interview
For an internship at MPK:
Referred by a friend
Recruiter sent a take home puzzle
Had a phone interview
Flown to MPK for a single on site interview and campus tour
Received offer day after interview
I applied online. The process took 3 weeks. I interviewed at Meta (Menlo Park, CA) in Feb 2018
Interview
The interview process was pretty standard for Facebook: phone interviews, then one-day session on-site. Recruiters and interviewers were nice and friendly, but the overall impression was smeared by unclear feedback during and after the interview. When they say "yes, great, awesome, cool, makes sense, etc" all the time, it's like "wow, I'm doing great!" But afterward, they reject you saying that you didn't do what they wanted, and you should've been better than that. The architectural interview is one of the most unpredictable, so be careful choosing the way you go. The main problem I see is that interviewers don't give you any hints when you go off the _expected_ thinking direction. They may also initiate a discussion that results in lack of time, and it's almost impossible to provide a full _expected_ answer. Well, I'm not a mind reader.
Anyway, visiting the campus and talking to engineers was a great experience. It was worth it.
Interview questions [1]
Question 1
Signed NDA. But phone interview questions were same as mentioned many times here: flatten array, optimize a function, implement a simple Observable.
I applied through a recruiter. The process took 2 weeks. I interviewed at Meta (Menlo Park, CA) in Oct 2017
Interview
The interview process started with a 15 min technical call with the recruiter who asked basic JavaScript questions. I would recommend studying JS's built in data structures and their associated functions (i.e. map, forEach, reduce for an array).
The recruiter scheduled the next phone interview (45 min technical with an engineer) shortly after. You can look at the other interviews to get a sense of the question difficulty/subject. I was asked to design a class with some member functions that required JS concepts such as closure and callbacks. It seemed they are really looking if you can write idiomatic JavaScript quickly and nearly bug free. After the phone interview I was contacted for an onsite interview.
The onsite consisted of 3 interviews (2 technical with engineers , 1 behavorial/technical with an engineering manager). The first interview was a leetcode style problem with a front end slant. I was unable to complete the code but made significant progress. The second interview was less algorithm focused and more domain knowledge. This interview ended up being my favorite as we got to touch on many topics in front end development which gave me a chance to demonstrate my experience. The third interview was with an engineering manager. The first half was behavorial where I was asked about my background, motivation, and previous experience. The second half was a technical question about CSS.
A couple days later my recruiter contacted me and said that I would be having a final 45 technical interview over the phone. I was asked a leetcode style question and after completing it was asked to optimize a snippet of code. A few days later my recruiter called and told me I had an offer.