Taro Logo

Software Engineer Interview Experience

May 30, 2013
Neutral ExperienceNo Offer

Process

I was referred through a friend at Facebook. They contacted me one to two weeks later via email. We set up a phone chat, which the recruiter initially missed, but we rescheduled. Once we had a phone conversation, she said they could move really fast: about a week to make an offer.

I went on-site for a first-round interview, as I am local to the area. The interviewer was nice. She asked me to describe what I work on now. Then we jumped into two coding problems. I interpreted the first problem as a Hamming Distance problem and asked if it was, but she kind of shrugged it off. I don't think she knew what Hamming Distance meant. I coded a solution on a laptop, a new trial process they were doing, but it turned out we were not talking about the same problem. In retrospect, the problem she was describing was Levenshtein Distance. I had the feeling she only knew the solution to the problem because she had the answer sheet.

The second problem was another classic dynamic programming problem: finding the sum of 1s in a submatrix. I went on to describe the recurring relation for the subproblem in the linear case. She didn't want me to do that and quickly said the solution to the 2D case was a generalization of the 1D case.

Because of the novelty of the laptop in the interview and the misunderstanding of the initial problem, the recruiter fought for me to do another phone screen, even though the first one didn't go that well.

For the second interview, I opted for a phone interview. This time, the interviewer seemed more knowledgeable and had joined Facebook through an acquisition. I was asked what I work on now and about a hard problem I solved in the past. Again, two interview questions were asked using CollabEdit. The first was to list out all the paths in a binary tree, which was simple. I did make some mistakes and corrected them in the code as we talked through use cases. The second problem was checking if a string was a palindrome for strings with symbols and spaces in them, which is again easy. I did solve both problems, but in the beginning, the interviewer stated he was looking for accuracy and performance. My tree traversal was a simple preorder traversal using recursion, and the palindrome check involved one loop.

Apparently, the second interview did not go well, even though I provided correct solutions in both. I guess the interviewer was serious when he said he was looking for correctness; I suppose you need to be able to code compilable, error-free code in a text editor.

The recruiter and on-site coordinator were very helpful, and the interviewers were very friendly. However, the style of Facebook interviews seems to be that you should study and know by heart common interview puzzles, algorithms, and DP problems and be able to reproduce them error-free.

Questions

Levenshtein Distance Sum of 1's in a submatrix Print all paths of a binary tree Palindrome

Was this helpful?

Interview Statistics

The following metrics were computed from 1,861 interview experiences for the Meta Software Engineer role in United States.

Success Rate

14%
Pass Rate

Meta's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive54%
Neutral30%
Negative16%

Candidates reported having very good feelings for Meta's Software Engineer interview process in United States.

Meta Work Experiences