A friend from Facebook referred me. A recruiter called a few days later.
She sent me an email, asking general questions like:
After answering the email, I had an initial chat with her over the phone, where she asked general questions like:
One week later, I had the first technical interview. The interview started with 5 minutes of questions about my work, then we jumped into one coding interview question. The question was simple: Write a function which, given two binary numbers as strings, returns their sum in binary. There were 5 minutes for my questions at the end.
Few hours after the interview, I got an email from the recruiter saying that the feedback was very good and they would like to schedule the final interview.
The last interview was easier than the first one. The question was: "Given a list of strings, return a list of lists, where each list consists of words that are anagrams." For example: Given ["cab", "cz", "abc", "bca", "zc"], the output should be: [["abc", "bca", "cab"], ["cz", "zc"]]. I managed to finish this question quite fast (after only 15 minutes). The interviewer wanted to finish the interview after 15 minutes, but I insisted on getting another question. The next question I received was even easier: "Write a function which returns the nth number of Fibonacci." When I saw the question, I jumped straight into implementing it (which took me about 2 minutes), then we compared the iterative method with the recursive one.
After the interview, I got an email from the recruiter saying that my coding skills were very good, but the interviewer complained about the fact that I was a bit careless when answering the questions and that I didn't explain the Fibonacci solution before writing the code. They wanted to schedule another interview.
One week later, I had the last interview, which was some kind of giving me another chance, because they usually have only two interviews.
The last interview was much more difficult than the other two. The first question was: "Write a recursive function which, given a string, prints all the subsets of it." After solving this question, the interviewer added one constraint. Now, what if you want only unique solutions? This was quite hard, and I only managed to solve it after he gave me one important hint.
The next day, I received a standard rejection email.
Given a string, write a function that prints all its subsets. Now, modify the function to return only unique solutions.
For example, if the input is "abc", the output should be: a ab abc ac b bc c
For the unique solution constraint, if the input is "aba", the output should be: a ab aba b
The following metrics were computed from 30 interview experiences for the Meta Software Engineer Intern role in Menlo Park, California.
Meta's interview process for their Software Engineer Intern roles in Menlo Park, California is on the easier side as most engineers get an offer after going through it.
Candidates reported having very good feelings for Meta's Software Engineer Intern interview process in Menlo Park, California.