meta logo
Meta· E4

Meta E4 | Onsite | Reject

Result
Rejected
Posted
3 Feb 2024
343 reads

Summary

I interviewed for an E4 position at Meta and was ultimately rejected, primarily due to struggles in the mobile system design round, despite performing well in coding and behavioral interviews.

How it went

I interviewed for an E4 position at Meta, starting with a phone screen. I was given the LRU Cache problem, which I solved optimally using a doubly linked list and hashmap. The interviewer indicated that one question was sufficient due to its length. He then gave me a conceptual question very similar to Daily Temperatures, asking only for an explanation of the solution. I cleared this round and proceeded to the onsite interviews.

The onsite consisted of two coding rounds, a behavioral round, and a system design round. In the first coding round, I solved a fairly simple problem to find the moving average within a given window (e.g., [1,2,3,4,5,6,7] k = 3 output [2, 3, 4, 5, 6]), which was a straightforward solution. This was followed by the Word Ladder graph problem, which I knew and coded smoothly.

The second coding round included a simple question similar to Valid Word Abbreviation, which I coded and walked through in about 5 minutes. The second question was similar to Binary Tree Right Side View, which was also simple, and I quickly completed the code and walkthrough.

My behavioral round was one of my best. The interviewer was very kind and friendly, and we spoke about some of my complex projects and how I solved problems within them.

The system design round was where I struggled. I was asked to design a library that, given a URL, downloads files from outside. The interviewer provided a function definition func($url, ?= parameters) and directed me to focus on the client-side, seemingly judging my JavaScript abilities, specifically focusing on concepts like promises and threads. I kept answering based on what I thought would be a good design for such a library, and he asked questions about thread counts and safe numbers. Upon doing some research afterward, I found the problem was similar to a mobile system design exercise. Despite my extensive preparation in backend system design, this mobile-focused problem caught me off guard. I was ultimately rejected, and I believe my performance in this round was the primary reason for the outcome. I was fairly disappointed as I had prepared extensively for backend system design.

Questions asked (8)

  1. 01

    LRU Cache

    Data Structures & Algorithms · Medium

    I was given the LRU Cache problem during the phone screen. I knew this question before and was able to solve it with the optimal solution.

    Open the problem
  2. 02

    Daily Temperatures (Similar)

    Data Structures & Algorithms · Medium

    I was asked another question very similar to Daily Temperatures. The interviewer told me to explain the solution without needing to code it.

    Open the problem
  3. 03

    Moving Average in a Window

    Data Structures & Algorithms · Easy

    In the first onsite coding round, I was asked a fairly simple question: given a window size, get the moving average within that window and output it. For example, if the input is [1,2,3,4,5,6,7] and k = 3, the output should be [2, 3, 4, 5, 6].

  4. 04

    Word Ladder

    Data Structures & Algorithms · Hard

    During the first onsite coding round, I was asked the Word Ladder graph problem. I was familiar with the question and coded the solution smoothly.

    Open the problem
  5. 05

    Valid Word Abbreviation (Similar)

    Data Structures & Algorithms · Medium

    In the second onsite coding round, I solved a question similar to Valid Word Abbreviation. It was very simple, and I completed the code and walkthrough in about 5 minutes.

    Open the problem
  6. 06

    Binary Tree Right Side View (Similar)

    Data Structures & Algorithms · Medium

    I was asked a problem similar to Binary Tree Right Side View, which was also simple. I completed the code and walkthrough very quickly.

  7. 07

    Behavioral Interview

    Behavioral

    This was one of my best rounds. The interviewer was very kind and friendly. We discussed some of my complex projects and how I solved problems within them.

  8. 08

    Design a Mobile File Downloader Library

    System Design

    I was asked to design a library that, given a URL, downloads files from outside. The interviewer provided a function definition func($url, ?= parameters) and guided me to focus on the client-side, seemingly assessing my JavaScript abilities, specifically around promises and threads. I was asked questions about the number of threads to use and what constitutes a safe number. I later found that the problem was similar to a mobile system design exercise.

    Open the problem

How they prepared

My preparation for system design primarily focused on backend concepts. I studied Alex Xu's System Design books (Volume 1 and 2) and completed 'Grokking the System Design Interview.' I also watched some random videos, but my main focus was on these books.

My advice to everyone is to make sure you prepare for mobile system design as well, in addition to regular backend system design. If you have no clue what mobile system design looks like, the struggle can be natural. Also, make sure to revise your JavaScript concepts, as that might or might not help, but hopefully, it will be useful.

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Meta recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

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