Preparing for an interview? Check out Cracking the Coding Interview
Published on

Meta | E4 | London | July 2024 [Offer]

Author
  • Shared Anonymously

Current Position: SDE2 at Amazon (India)
Years of Experience: 3.5

I applied on Meta's career portal in January 2024 and received a response from HR in the last week of January. They decided to schedule the first "Recruiter Screening" round, which was a ~40-minute telephonic conversation.

  • Recruiter Screening: 40 mins - Discussion about your past work experience, tech stack, current projects, deliveries, impact, etc. Be prepared with whatever you have mentioned in your resume.

After this conversation, they decided to proceed with the "Technical Screening" round. I took 1 month to prepare and scheduled it for the last week of February.

I was able to complete the optimized solution, dry run, test cases, time complexity, and space complexity for both questions within the time.

I received an email after 1 week stating that I qualified for the onsite rounds. I scheduled all onsite rounds for the last week of March.

I got slightly stuck in explaining the mathematical proof of the traversal technique used in the first question. Apart from this, everything went well.

Verdict: Hire

  • Coding 2: 45 mins (5 mins introduction + 35 mins coding + 5 mins Q/A)
    1. [Not from Leetcode] Given an array of integers, return the index of one of the largest elements, chosen uniformly at random.
    2. [Not from Leetcode] Plan a round trip between two cities with minimum flight cost.
      From the departure city to the destination city, the fees are stored in array D[].
      From the destination city to the departure city, the fees are stored in array R[].
      Both arrays should have equal length, and the index corresponds to dates.
      D: [10, 8, 9, 11, 7]
      R: [8, 8, 10, 7, 9]
      The minimum cost will be D[1] + R[3] = 15

I was able to cover brute force, optimized solution, dry run, test cases, time complexity, and space complexity for both questions within the time.

Verdict: Strong Hire

  • System Design: (5 mins introduction + 35 mins design + 5 mins Q/A)
    Design a component in the Facebook app to show the top k trending hashtags of the last 12 hours. This data will be refreshed every hour. Hashtags from posts, likes, and comments will have different weightage.

I covered functional requirements, non-functional requirements, estimates, APIs, data model, high-level design diagram, and follow-up questions. I wasn't able to cover the low-level details of components, data aggregation logic, or component interaction.

Verdict: Mixed Signal

  • Behavioral: 45 mins
    Standard behavioral questions, answered using the STAR format.

    Verdict: Strong Hire

Follow up round

I received an email in mid-April stating that they wanted to conduct an additional system design round due to the mixed signal received.

I scheduled the follow-up system design round for mid-May.

  • Design a multiplayer game like chess that can scale up to 1B concurrent players. Public matching is not allowed, only matching with friends. There should be a matching algorithm for matching two friends. Also, update the ranking board immediately after a win/loss in a match.

I was able to cover functional requirements, non-functional requirements, estimates, APIs, data model, high-level design diagram, trade-offs between NoSQL and SQL, real-time and non-real-time ranking boards, deep dive into Apache stream processing, MapReduce job, and scalability.

Verdict: Strong Hire

I received an email in the first week of June with an offer approved for the E4 role. It took 2 weeks for team matching and 2 weeks for negotiation. I received the final offer letter in the first week of July.

ReportMark as Helpful