Taro Logo

Software EngineerSummer 2016 Interview Experience

January 1, 2016
Positive ExperienceGot Offer

Process

On a side note, I must say I am pretty impressed by Facebook and their interview process. Despite being from a non-CS field and not a highly ranked university, they gave me an opportunity to demonstrate my skills. Facebook cares a lot about the skills a person possesses rather than the grades they scored or which university they attended. This alone is enough reason to work at Facebook. I hope they continue this culture.

Coming to my interview:

I had applied online via the Facebook portal. After around 2 months, I received an email from a recruiter asking me to answer a few general questions. They also asked me to pick a date within the next 2-3 weeks for the first interview and inquired about my preferred coding language. They also provided a link to a few resources from where I could improve my skills. They are quite flexible about the whole process, as they want us to succeed.

Preparation resources: GeeksforGeeks to understand concepts, LeetCode and InterviewBit for coding practice. InterviewBit is a particularly useful resource, as they have divided problems section-wise along with hints and solutions. "Cracking the Coding Interview."

Since I have signed an NDA, I cannot disclose the actual questions. However, they were medium to tough level ones, which a candidate can solve in 45 minutes. Both were Skype-based interviews, and I coded on coderpad.io. The code is not actually executed on it; however, we need to walk the interviewer through each line, explaining what it does. We also need to explain the space and time complexity for all our solutions.

First Interview (45 minutes): I was asked to introduce myself, and then we directly moved to coding. The first problem was based on arrays. I discussed my approach before coding, during which the interviewer pointed out a flaw in my thinking, which helped me correct my algorithm. We even discussed in which cases my algorithm wouldn't work and they suggested changes to solve it. The second problem was quite hard, and I was unable to come up with a solution. However, I brainstormed with them on possible approaches before the time ran out. In the last 5 minutes, they answered my questions. I was pretty nervous during the whole interview, as a result, I stammered quite a bit.

I was pretty dejected by the interview, as I was not able to solve the second problem. However, within an hour, I received an email from the recruiter informing me that I had advanced to the next round. Yay!

This made me realize that they are not just looking at getting the right answer, but also at the approach the candidate follows. I scheduled my next interview for 2 weeks later.

Second Interview (1 hour): Again, I was asked to give a short introduction of myself. The interviewer did the same before moving to coding. The first question was based on dynamic programming. When I was explaining my approach before coding, the interviewer provided me with a hint that helped me optimize my code from O(n^2) space complexity to O(n). After walking through the code and explaining the output, I was presented with a second problem based on trees. It was a hard problem, and I had read its recursive approach somewhere but couldn't recollect it. So, the interviewer asked me to first write a non-optimal code. Once that was done, they gave me hints, through which I was able to modify the above code to a recursive, optimal one. In the end, they answered a few of my questions.

Both my interviews were a two-way process, and without the guidance of the interviewers, I would not have been able to come up with correct solutions. Both the interviewers were very helpful and smart.

I received an email after a couple of hours from my interviewer that I got the internship :)

The next day, I was given an offer, which I couldn't refuse.

Tips:

  • Know basic concepts of data structures and algorithms. Go through the sources mentioned above.
  • Discuss your approach with the interviewer before coding. If they provide a suggestion, use it!!
  • Relax and have fun. It's a great learning experience.

Questions

Problems were based on 1-D and 2-D arrays, trees, and dynamic programming.

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Meta Software EngineerSummer 2016 role in United States.

Success Rate

100%
Pass Rate

Meta's interview process for their Software EngineerSummer 2016 roles in the United States is incredibly easy as the vast majority of engineers get an offer after going through it.

Experience Rating

Positive100%
Neutral0%
Negative0%

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

Meta Work Experiences