I interviewed at Meta at the end of last year. Reading other people's interview reports on this forum helped me a lot, so I'm sharing mine to give back.
Phone screen: the first part was the usual behavioral questions, and the second part was two LeetCode problems tagged Easy on Meta's list.
VO (virtual onsite): 2 rounds of coding, 2 rounds of system design, and 1 round of BQ. The coding and system design rounds had no behavioral questions at all — not even a self-introduction, they went straight into the problem.
Phone screen:
- A LeetCode problem. The follow-up: if the tree is very large and the range can change, how would you optimize it?
- A variation of another LeetCode problem.
VO:
Regular coding:
- First question: given a range [-M, M] and a set of intervals like [1, 3], [2, 4], [5, 8], ..., where [1, 3] represents all the integers from 1 to 3 (i.e. [1, 2, 3]), return the number that appears most often. If several numbers are tied for the most occurrences, you only need to return one of them. I used a line-sweep approach, similar to a LeetCode problem.
- Second question: a LeetCode problem.
AI coding:
I drew a maze problem, the same one that's been discussed elsewhere on this forum before. It felt tedious to do in Java, but the interviewer was really helpful.
System Design:
- Design an ads impression aggregator that needs to support real-time updates within 30 seconds and provide hourly impression counts per ad. The follow-up asked how to handle high write throughput to the database.
- Design a Facebook search feature: given one or a few keywords, return all posts containing those keywords. Basically you need to design your own version of Elasticsearch.
BQ:
- An example of a conflict with a manager, and how I resolved it.
- Talk about a project where I had to deal with very vague requirements.
- An example of mentoring someone and giving constructive feedback.
- An example of dealing with someone who was very difficult to work with.
Discussion
Loading comments…