I applied through a recruiter. The process took 6 weeks. I interviewed at Meta (New York, NY) in Apr 2013
Interview
An internal recruiter contacted me out of the blue by Linkedin and email. We scheduled a phone call. Talked about my experience and education and then about available positions at Facebook. He then invited me to come onsite for a short screening interview first. I requested a couple of weeks to prepare for the interview. He was perfectly ok with that and even sent me some links to preparation materials.
Instead of a phone screen, I had a short 1:1 interview for 45 minutes onsite. Mostly coding on whiteboard and a little time set aside for questions about the company.
A week after that, four 1:1 interviews. Two coding interviews. One "manager" interview: mostly talking about past projects and future ambitions. One system design interview - you basically have to describe how you would design a given system without going into too much detail.
Received a call from recruiter next day. He said that I will have to come for one more interview. So a week after I had another series of two interviews, one coding and one manager.
I received an offer two days after the last interview.
During the whole process, the company was very flexible about scheduling interviews. Everything happens really fast if you want it, or you can take your time to prepare.
Recruiter was very nice and supportive, as were people at FB in general. Some interviewers did not talk much and some were more willing to discuss, but all were very polite.
Coding questions involve basic data structures like trees, combinatorial problems and sometimes a relatively simple dynamic programming problem. They are not too hard but you have to do them quickly and explain everything clearly. Understanding of Big-O is a must!
Interview questions [1]
Question 1
What are the most challenging issues in your work?
Unexpectedly, the first question in the technical round felt familiar. It was about finding a subset of strings with unique character concatenation — same problem I had worked through on PracHub a few days earlier. The interview included a recruiter screen followed by a rigorous pair of technical interviews where I tackled data structures and algorithms alongside system design concepts. After successfully answering a few more challenging DSA questions, I received an offer. The entire experience was intense but ultimately rewarding, and I happily accepted the position.
Interview questions [1]
Question 1
Given an array of strings, pick a subset whose concatenation contains no duplicate characters, and return the maximum possible length of that concatenation.
Standard cookie cutter interview with a coding interview, a system design interview and culture interview. The coding part is basically leetcode. The system design is what you can find on many youtube videos. The culture one is more tricky as they want to see that you fit Meta's culture, not that you were doing great at your existing company. So skills like dealing with conflict without calling in managers is sought after.
Interview questions [1]
Question 1
coding: I forgot, sorry
system design: design ticketmaster
culture: talk about past project; when you disagreed with a peer; how I resolved dissagreements, etc.
The interview felt more straightforward than I anticipated for a well-known tech giant. After a recruiter screen, I faced a technical round that included a DSA question about finding the lowest common ancestor in a binary tree. I was pleasantly surprised when I realized the exact problem had popped up in the algorithm practice section on PracHub during my prep. Ultimately, the experience was decent, but I chose to decline the offer as it didn’t align with my current goals.
Interview questions [1]
Question 1
Given a binary tree, find the lowest common ancestor of two given nodes in the tree.