Taro Logo

Software Engineering Intern Interview Experience

March 1, 2014
Positive ExperienceGot Offer

Process

I originally applied to Facebook through their online portal. After a few weeks of no response, I reached out to a recruiter at a Facebook event, and she saw my resume. After I convinced her I was ready for interviews, she set up my first phone interview, of three total.

After the interviewer gave a fairly long introduction of his background, I was asked several behavioral questions. I was asked why I picked Facebook, what my field of interest was, and had to discuss a project of mine.

At this point, we reached the technical portion. He asked me the following question:

Q: Given a number n, return a number formed from the same digits of n that is the number right before n. Example: Given 1342, you must return the number 1324.

After this, we spent a fairly lengthy period talking about coding habits, Facebook, push cycles, and other production-related questions I asked.

At the end of this interview, I felt terrible. I thought I'd completely failed because I only answered one question. I couldn't sleep all night, but then the next day, I received an email saying I'd passed to the second round. They asked if I wanted some time to brush up before going in for my final interview. I asked for a week and prepared.

My second interviewer called from a conference room, due to which the sound quality was a bit off. We talked, and she asked me a few similar questions to the first interviewer, delving into my background, projects, and schoolwork. Eventually, we began the coding questions.

The first question was the LCA problem with no parent pointers. I immediately started analyzing the problem's base cases for recursion, determined an optimal algorithm that covered all cases, and wrote the solution before coding. After explaining it and running through test examples, I began coding the solution. After coding it, I spent a fair amount of time proving my code worked with the interviewer before she accepted that it worked. We had approximately 15 minutes left at this point, so she said we could begin another problem before ending five minutes early, a statement I found confusing.

The second question was to design a method to store really large numbers that exceed 64 bits, and then to write a method that could add two of these numbers. I began coding and had just finished the code when she said we ran out of time. She asked me about any questions I had and seemed to be in a hurry, so I asked a few questions, then the interview ended.

At this point, I waited for approximately two weeks after I sent two emails to my recruiter asking about the feedback from the interview. I was asked to do a third phone interview with a product team member, as the engineers had noted I was interested in product development. I was a bit confused but happy overall to still be in the running. We scheduled it for a few days later, and I went in relaxed.

In the interview, I was asked why Facebook, about a project of mine, which field I was interested in and why, followed by a technical question. I coded in Java, although she mentioned she hadn't used Java in a while, so she didn't care as much about the syntax.

The first question was the classic anagram question. I described two solutions: one using a HashTable and one relying on bucket sort. I coded both methods and did a complexity analysis before she expanded the problem. Now, rather than checking if two strings were anagrams, I had to group a list of strings by anagram grouping. I described how we could use a Hashtable to store the sorted string as a key, and have the original string be contained in the value as a linked list. After writing the algorithm out in pseudocode, she said I didn't have to implement it in Java and that she believed it would work. After a complexity analysis, she then asked me this mix of behavioral and technical questions.

What would you do if Mark Zuckerberg came to your desk and told you Facebook was slow and he wanted you to fix it?

She then asked me to describe a product I'd design if I worked at Facebook. I mentioned several related to data analytical tools for Facebook users on their own data. I mentioned the benefit to users before naming another idea involving querying the newsfeed for posts related to the topics described in the query.

After this, she asked me if I had any questions for her before she told me that my recruiter would get back to me within a week. I waited three days before I received an email from my recruiter that she wanted to talk for a few minutes if I had time. I immediately responded I was free, and she called me shortly after.

She then gave me my offer for an internship in Menlo Park, described the components of the compensation, and explained briefly the process involved with the internship. Afterwards, she asked me if I had any questions. I was too blown away, so I just said I'd email her once I thought of questions before we ended the call. I accepted that night.

Questions

Given a number n, find the largest number just smaller than n that can be formed using the same digits as n.

Design a system to store large numbers and a function to add them.

How would you make Facebook faster?

  1. Given two strings, determine whether they are anagrams.
  2. Given a list of strings, return a list of lists of strings, which represents the list grouping strings by whether they are anagrams of one another.

LCA problem with no parent pointers. Given the root of a tree and pointers to two nodes contained in that tree, return the lowest common ancestor of the two nodes. IE, the common ancestor furthest from the root.

Was this helpful?

Interview Statistics

The following metrics were computed from 65 interview experiences for the Meta Software Engineering Intern role in United States.

Success Rate

48%
Pass Rate

Meta's interview process for their Software Engineering Intern roles in the United States is fairly selective, failing a large portion of engineers who go through it.

Experience Rating

Positive77%
Neutral20%
Negative3%

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

Meta Work Experiences