Meta interview experience | L4 | Multiple Locations

meta logo
meta
SDE II3 yearsRejected
February 10, 20242 reads

Summary

I interviewed at Meta for an L4 position, going through multiple rounds covering coding, behavioral, and system design. Despite solving all technical problems optimally and feeling positive about my performance, I was ultimately rejected for not meeting the L4 expectations.

Full Experience

I recently interviewed at Meta for an L4 position, which I secured through a referral. With 3 years of experience and a Master's in CS, I was eager for this opportunity.

Mock Interview

Before the official rounds, I participated in a mock interview which covered two coding questions:

  1. Move Zeroes to End: I struggled a bit with this one initially but eventually arrived at the correct solution.
  2. Number of Islands: I successfully implemented a DFS solution.

The feedback from the mock interview was crucial. I was advised to listen more carefully to hints, as I had ignored one given for the first question. Also, for code dry runs, I learned that it's better to choose a new example, especially an edge case, rather than just using the one provided by the interviewer.

Screening Round

My screening round involved two common binary tree problems and a design question:

  1. Binary Tree Right Side View & Left Side View: I believe I performed well here and didn't make any significant mistakes. The interviewer also confirmed my good performance.
  2. Design LRU Cache: I felt confident about my solution for this problem too.

Three days after this round, I received positive feedback and moved forward.

Onsite Coding Round 1

This round had two more coding challenges:

  1. Maximum Sum Subtree in Binary Tree: I initially missed a case where the maximum sum could be negative, but I quickly corrected it after the interviewer's hint.
  2. Evaluate Expression with Plus and Multiply (e.g., 5*10+3 = 53): I solved this problem without any errors.

Onsite Coding Round 2

My second coding round also featured two problems:

  1. Subsets (e.g., {A,B,C} --> [{},{A},{B},{C},{A,B},{A,B,C},{B,C}]): I successfully solved this. During my explanation, I briefly thought I had made a mistake, but the interviewer reassured me that my code was correct, and I completed my explanation.
  2. Valid Word Abbreviation: I solved this optimally. I made a minor mistake with variable naming, which I corrected after the interviewer pointed it out.

For all the coding questions across these rounds, I was able to find optimal solutions and implement them successfully.

Behavioral Interview

This round focused on standard behavioral questions, and it was quite brief, lasting only 25 minutes. The interviewer mentioned beforehand that it wouldn't take the full 45 minutes. We discussed for another 10 minutes afterward. The questions included:

  • Challenges in a project
  • Strengths and weaknesses
  • Conflict with a manager
  • How I handle deadlines
  • How I handle receiving feedback
  • Instances where I took initiative

I felt this round went really well.

System Design

The system design problem was to "Design an ad aggregation system." I believe this round also went smoothly for me.

Despite feeling positive about my performance across all rounds, I unfortunately did not receive an offer. The recruiter informed me that while there were no "red flags," I hadn't quite met the expectations for an L4 level. It was quite devastating to hear the results, especially knowing there's a one-year cooldown period before I can apply again.

Interview Questions (16)

Q1
Move Zeroes to End
Data Structures & AlgorithmsEasy

Given an array of numbers, move all 0's to the end of it while maintaining the relative order of the non-zero elements.

Q2
Number of Islands
Data Structures & AlgorithmsMedium

Given an m x n 2D binary grid which represents a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may assume all four edges of the grid are all surrounded by water.

Q3
Binary Tree Right Side View
Data Structures & AlgorithmsMedium

Given the root of a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

Q4
Binary Tree Left Side View
Data Structures & AlgorithmsMedium

Given the root of a binary tree, imagine yourself standing on the left side of it, return the values of the nodes you can see ordered from top to bottom.

Q5
Design LRU Cache
Data Structures & AlgorithmsMedium

Design a data structure that follows the constraints of a Least Recently Used (LRU) cache. Implement the LRUCache class: LRUCache(int capacity) initializes the LRU cache with positive size capacity. int get(int key) Return the value of the key if the key exists, otherwise return -1. void put(int key, int value) Update the value of the key if the key exists. Otherwise, add the key-value pair to the cache. If the number of keys exceeds the capacity from this operation, evict the least recently used key.

Q6
Maximum Sum Subtree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, return the maximum sum of any non-empty subtree. A subtree includes a node and all its descendants.

Q7
Evaluate Expression with Plus and Multiply
Data Structures & AlgorithmsMedium

Implement a function to evaluate a string expression containing only non-negative integers and the '+' and '' operators. Follow standard order of operations (multiplication before addition). For example, '510+3' should evaluate to 53.

Q8
Subsets
Data Structures & AlgorithmsMedium

Given a set of distinct integers, return all possible subsets (the power set). The solution set must not contain duplicate subsets. Example: {A,B,C} -> [{},{A},{B},{C},{A,B},{A,B,C},{B,C}]

Q9
Valid Word Abbreviation
Data Structures & AlgorithmsMedium

Given a word and an abbreviation, return whether the word matches its abbreviation. A number in the abbreviation represents the number of non-empty characters that are skipped. For example, 'internationalization' can be abbreviated as 'i12iz4n'. The number cannot have leading zeros.

Q10
Challenges in a project
Behavioral

Describe a significant challenge you faced in a project and how you overcame it.

Q11
Strengths, weaknesses
Behavioral

Discuss your greatest strengths and weaknesses.

Q12
Conflict with manager
Behavioral

Describe a time you had a conflict with a manager and how you handled it.

Q13
How do you handle deadlines
Behavioral

How do you prioritize and manage your workload when facing tight deadlines?

Q14
How did you handle receiving feedback
Behavioral

Tell me about a time you received constructive feedback. How did you react and what did you do with it?

Q15
Did you take any initiative
Behavioral

Describe a situation where you took initiative and what the outcome was.

Q16
Design Ad Aggregation System
System DesignHard

Design a system capable of aggregating advertisements from various sources and serving them efficiently to users.

Preparation Tips

My preparation was multi-faceted:

Coding:

  • I focused on solving the top 100 Facebook-tagged LeetCode questions.

Behavioral:

  • I utilized ChatGPT to generate typical behavioral questions and drafted my answers, tailoring them to my specific experiences.
  • I dedicated approximately 10 hours to behavioral preparation, spread over three days.
  • Discussing and verifying my answers with a friend proved to be very helpful.

System Design:

  • I studied "System Design Vol 1" and "Vol 2".
  • I also covered the initial chapters of "Designing Data Intensive Applications."
Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!