meta logo

Meta Interviews

165 experiences4,398 reads754 questions11% success rate
Meta Online Assessment CodeSignal
meta logo
Meta
Ongoing
December 19, 202528 reads

Summary

I recently went through an online assessment for Meta on CodeSignal. The assessment involved implementing a task management system with multiple levels of functionality. The first level focused on basic task operations, while subsequent levels added more complexity, such as user management and task assignment. The final level had some unclear requirements, but the overall experience was challenging and provided a good understanding of system design concepts.

Full Experience

I participated in the Meta online assessment on CodeSignal. The assessment was divided into multiple levels, each adding more complexity to the task management system. Level 1 involved basic operations like adding, updating, and retrieving tasks. Level 2 introduced search and list functionalities with specific sorting rules. Level 3 added user management with quotas and task assignment. Level 4 had some unclear requirements, but it was a comprehensive exercise that tested both data structures and system design skills. The entire process was quite intense and required careful planning and attention to detail.

Interview Questions (1)

Q1
Task Management System Implementation
System DesignHard

Implement a task management system with multiple levels of functionality. The first level involves basic operations like adding, updating, and retrieving tasks. The second level adds search and list functionalities with specific sorting rules. The third level introduces user management with quotas and task assignment. The fourth level has some unclear requirements but is part of a comprehensive system design exercise.

Meta Onsite E5 Infra
meta logo
Meta
no offer
December 17, 202522 reads

Summary

Had a Meta onsite E5 interview which included coding, AI, and system design rounds. The AI round was particularly challenging and had a negative impact on the overall experience.

Full Experience

Started with a coding round where I was asked to merge three sorted arrays and then solve the Binary Tree Right Side View problem. The interviewer was very supportive, asking me to explain my code and how I would test it.

In the AI round, I was given a problem where I had to find a subset of words that uses as many characters as possible without repeating any letters. The hint suggested using DFS, but the interviewer wasn't helpful, leading me to focus on passing unit tests. I managed to solve the first two but struggled with the third and fourth, and the interviewer's guidance was unclear.

The system design round involved designing Instagram with posts, images, and friends, and the interviewer asked about consistent hashing and handling high read traffic for the feed service.

The behavioral round covered conflicts with coworkers, negative feedback from managers, and handling ambiguous requirements. The AI round was a significant setback, affecting the overall outcome.

Interview Questions (4)

Q1
Merge 3 Sorted Arrays
Data Structures & Algorithms

Given three sorted arrays, merge them into a single sorted array.

Q2
Binary Tree Right Side View
Data Structures & Algorithms

Given a binary tree, return the values of the nodes visible when viewed from the right side of the tree.

Q3
Subset of Words with Maximum Characters
AI & Algorithms

Given a list of words, find a subset that uses as many characters as possible without repeating any letter. The solution should use DFS and pass all unit tests.

Q4
Design Instagram Feed Service
System Design

Design a system for Instagram that handles posts, images, and friends. The interviewer asked about consistent hashing and strategies for handling high read traffic for the feed service.

Meta 𝗦𝗗𝗘-𝟮 𝗽𝗵𝗼𝗻𝗲𝘀𝗰𝗿𝗲𝗲𝗻 𝗶𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗲𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲
meta logo
Meta
SDE-2Ongoing
December 2, 202590 reads

Summary

I recently had a 45-minute phone screen interview with Meta for an SDE-2 role, which involved solving two Data Structures and Algorithms problems. I was selected for onsites.

Full Experience

I recently completed my phone screen interview for an SDE-2 role at Meta. The interview lasted 45 minutes and consisted of two challenging Data Structures and Algorithms problems, leaving very little time for overthinking.

I successfully navigated both problems and am pleased to share that I have been selected to proceed to the onsite rounds. I look forward to sharing my onsite experience soon.

Interview Questions (2)

Q1
Sliding Window Duplicate Check
Data Structures & AlgorithmsMedium

Given an array of numbers nums and an integer K, determine if any subarray of exact length K contains duplicate elements.

Example:
nums = [1, 2, 3, 4, 2, 5, 6], K = 4
Answer: true (subarray [2, 3, 4, 2] contains duplicates)
If K = 3
Answer: false

Q2
Binary Tree Custom Views
Data Structures & AlgorithmsHard

Given a binary tree, implement two specific view traversals:
1. Left View (Bottom-Up): Imagine standing on the left side of the tree and recording all visible nodes from the bottom up.
2. Right View (Top-Down): Imagine standing on the right side of the tree and recording all visible nodes from the top down.

The interviewer emphasized clarifying edge cases early on.

Preparation Tips

I found it crucial to use meaningful variable names, break down logic into small helper functions, and keep concerns separated (input parsing / core logic / output). Walking through test cases, including edge cases, was also important to demonstrate thoroughness.

Meta E6 ML-SWE / Downlevel
meta logo
Meta
E6 ML-SWEWithdrew
November 26, 202592 reads

Summary

I interviewed for an E6 ML-SWE role at Meta, encompassing multiple coding, system design, and behavioral rounds. Although I received a downleveled offer for E5, I ultimately declined it due to other compelling opportunities.

Full Experience

Coding Round 1

This round focused on algorithmic problem-solving. I was asked:

  1. The "K Closest Points to Origin" problem. I had to find the K points closest to the origin (0,0) from a given set of points.
  2. A variant of the "Subarray Sum Equals K" problem. Beyond just finding if a sum exists, I also had to return the length of the largest sub-sequence that sums to K.

Coding Round 2

The second coding round also tested my data structure and algorithm skills:

  1. The "Kth Largest Element in an Array" problem, with a variant where I needed to return the index of the element instead of the element's value itself.
  2. A unique, non-LeetCode problem. I was tasked with designing a system to issue tokens from a 16-bit integer space. The core constraint was that once a token is returned, the smallest available token should be re-issued next. I also needed to consider and handle various edge cases.

System Design Round

This round involved two significant system design challenges:

  1. Designing the entire end-to-end system for Instagram's video feed.
  2. Designing the feed ranking system for Facebook, with a specific emphasis on the second-stage ranker component.

Behavioral Round

The behavioral interview covered common topics such as conflict resolution, handling situations requiring pivoting, and other leadership principles.

Outcome

After completing all rounds, I received feedback that I was downleveled to an E5 offer. However, as I had other strong opportunities in both tech and finance, I decided to pass on the offer from Meta.

Interview Questions (6)

Q1
K Closest Points to Origin
Data Structures & AlgorithmsMedium

Given an array of points and an integer K, return the K closest points to the origin (0, 0).

Q2
Subarray Sum Equals K Variants
Data Structures & AlgorithmsMedium

Given an array of integers and an integer K, I was asked to determine if a subarray exists whose sum equals K. Additionally, I needed to find the length of the largest subsequence that sums to K.

Q3
Kth Largest Element in an Array (Index Variant)
Data Structures & AlgorithmsMedium

Given an integer array nums and an integer k, return the index of the k-th largest element in the array.

Q4
Token Issuance System
Data Structures & Algorithms

Given a 16-bit integer, I had to design a system to issue a token. The constraint was that once a token is returned, the smallest available token should be issued the next time. I also had to handle various edge cases.

Q5
Design Instagram Video Feed
System DesignHard

Design an end-to-end system for Instagram's video feed.

Q6
Design Facebook Feed Ranking (Second Stage)
System DesignHard

Design the feed ranking system for Facebook, with a specific focus on the second-stage ranker.

Meta E4 Interview Experince Bangalore
meta logo
Meta
Software Engineer E4BangaloreNo Offer
November 21, 2025230 reads

Summary

I interviewed for an E4 Software Engineer role at Meta in Bangalore. After successfully clearing the screening rounds, I progressed to the main interview phase which included coding, an AI-assisted coding challenge, a behavioral assessment, and a product design round. Regrettably, I did not receive an offer.

Full Experience

Screening Rounds

The recruitment process for Meta began after a recruiter reached out to me via LinkedIn. I'm currently employed as an SDE-2 at a MAANG company. The initial screening involved an online assessment (OA) where I tackled a problem that evolved across 4-5 stages, with new conditions added progressively. I managed to solve all but the final stage. The core of the problem was about designing a cache for a database, necessitating a strong understanding of maps and LRU implementation.

Following the OA, I participated in a 45-minute coding interview with a Meta engineer, during which I was asked two specific problems. I successfully solved both, though the first problem was unfamiliar to me, causing me to spend a significant amount of time on it. I later received feedback from the recruiter that I had marginally passed the screening, primarily because my OA score wasn't perfect and my coding performance was considered 'OK' rather than a 'strong' signal.

Main Interview Rounds

The main interview consisted of four distinct rounds: one dedicated to coding, another to AI-assisted coding, a behavioral assessment, and a product design challenge. While initially scheduled over four separate days, it was consolidated into two rounds per day, approximately 14-15 days after I cleared the screening.

1. Coding (45 min)

This round was quite similar to my second screening interview. I was presented with two problems and had 45 minutes to solve them. I managed to complete the first question within just 10 minutes, which afforded me ample time to tackle the second problem and explore various approaches. I felt I delivered a strong positive signal in this round.

2. AI Assisted Coding (60 min)

This round mirrored the first screening OA, but with the added element of a 'weak AI' to provide assistance. The interviewer had a pronounced accent, making communication somewhat challenging, and after about 30 minutes, they ceased direct communication entirely, instructing me to direct any questions to the AI. The simplified problem involved being given 16 random cards and needing to select 3 that summed to 15 (with Ace=1, Jack=10, Queen=11, King=12). Once a set of 3 was chosen, those cards would be replaced from the deck. The ultimate goal was to successfully perform this 12 times until all cards were dealt. I was tasked with writing a program to achieve this. The interview started with debugging a failing unit test, which I successfully completed. However, I was unable to solve the primary problem. I perceived this round as a strong negative signal.

3. Behavior Round (45 min)

This round comprised standard behavioral questions, with a notable emphasis on scenarios involving challenges or negative outcomes at Meta. For instance, I was asked about resolving conflicts with managers, convincing team members to support my initiatives, my proudest project, dealing with difficult co-workers, instances of changing direction mid-execution, my biggest weakness, and a time I introduced a bug into production and what I learned from it. Overall, I felt this round went quite well and constituted a positive signal.

4. Product Design (45 min)

I was tasked with designing a food delivery website. I approached the problem using conventional methods often discussed in interview preparation videos. The discussion delved deeply into specific areas such as geospatial indexing for location-based restaurant searches, utilizing Elasticsearch for text-based search functionalities, and implementing cron jobs for managing real-time delivery notifications. While I personally felt the round progressed effectively, the interviewer did not appear entirely satisfied, though they did not explicitly articulate any specific concerns despite my attempts to engage them. I rated this round as an 'Ok to positive' signal.

Outcome

Three days following the interviews, I received notification that I had not been selected for the role. The only feedback provided by the recruiter was that one of my rounds had received a negative rating, which I strongly suspect was the AI-assisted coding round. Despite my repeated requests, no direct feedback was provided for the other rounds.

Interview Questions (14)

Q1
LRU Cache Design
Data Structures & AlgorithmsMedium

The online assessment problem was centered around building a cache for a database system. It required an understanding of how to use maps and implement the Least Recently Used (LRU) eviction policy efficiently.

Q2
Diagonal Traverse II
Data Structures & AlgorithmsMedium

Given a list of lists of integers nums, return all elements of nums in a diagonal order.

Q3
Next Permutation
Data Structures & AlgorithmsMedium

Implement the next permutation algorithm, which rearranges numbers into the lexicographically next greater permutation of numbers. If such an arrangement is not possible, it must rearrange it to the lowest possible order (i.e., sorted in ascending order). The replacement must be in place and use only constant extra memory.

Q4
Sum Root to Leaf Numbers
Data Structures & AlgorithmsMedium

Given a root of a binary tree containing digits from 0-9 only, where each root-to-leaf path represents a number. Return the total sum of all root-to-leaf numbers. A leaf is a node with no children.

Q5
Find Median from Data Stream (Sliding Window K)
Data Structures & AlgorithmsHard

The second coding problem involved stream processing where operations needed to be performed based on the last 'k' elements. The most challenging operation was finding the median of these 'k' elements, similar to the well-known LeetCode problem 'Find Median from Data Stream' but with a sliding window constraint.

Q6
Card Game: Find 3 Cards Summing to 15 (Repeatedly)
Data Structures & AlgorithmsMedium

In the AI-assisted coding round, the simplified problem was as follows: I was given 16 random cards (Ace is 1, Jack is 10, Queen is 11, King is 12, other cards use their face value). I needed to pick 3 cards that sum to 15. Once these 3 cards were chosen, they would be removed from the deck and replaced. The objective was to successfully perform this selection 12 times, effectively dealing out all cards from the deck. I had to write a program to accomplish this.

Q7
Resolving Conflict with Manager/Higher-ups
Behavioral

How do you resolve conflict with your manager or higher-ups?

Q8
Convincing Team for Initiatives
Behavioral

How do you convince others in your team to complete a task or initiative you are leading?

Q9
Project You Are Proud Of
Behavioral

Tell me about a project you are proud of.

Q10
Dealing with Difficult Co-worker
Behavioral

How do you deal with a difficult co-worker?

Q11
Changing Direction Mid-execution
Behavioral

Tell me about an instance where you had to change direction mid-execution on a project.

Q12
Biggest Weakness
Behavioral

What is your biggest weakness?

Q13
Learning from Production Bug/Mistake
Behavioral

Tell me about a time you pushed a bug to production or something went wrong because of you. What did you learn from that experience?

Q14
Design a Food Delivery Website
System DesignHard

I was asked to design a food delivery website. The discussion involved deep dives into geospatial indexing for location-based restaurant searches, utilizing Elasticsearch for word-based search functionalities, and implementing cron jobs for managing notifications related to deliveries.

Preparation Tips

My preparation involved general practice of data structures and algorithms, likely through platforms like LeetCode. For the product design round, I specifically adhered to the standard problem-solving approaches demonstrated in videos from 'Hello interview'.

My Full Meta Interview Experience (Sept–Oct 2025) — Rejected
meta logo
Meta
2.5 yearsRejected
November 18, 2025227 reads

Summary

I recently completed my full interview loop with Meta for a full-stack role but was unfortunately rejected. Despite what I felt was a strong performance across coding, system design, and a new AI-enabled round, I did not receive an offer.

Full Experience

Hey everyone, I recently finished my full interview loop with Meta and unfortunately got rejected at the end. Still, I wanted to share my full experience since posts like these really helped me during preparation.

My background includes an education from IIT Kanpur, working at a product-based startup, with 2.5+ years of full-time experience, plus 6 months + 2 months of internships.

Recruiter Reach-out (25th Sept)

A recruiter contacted me via LinkedIn, and we had a detailed conversation where she explained the role and expectations, the full hiring process, the elimination stage, timeline, interview structure, and prep tips.

The elimination stage consisted of three parts:

  1. Live DSA Elimination Interview (Zoom): This was 45 minutes. I received two DSA questions and managed to solve both within ~20 minutes. These were Ocean View Buildings (a standard LeetCode problem) and a Pattern–Target Matching problem where repeated characters can be removed to match the pattern. The interviewer was nice.
  2. Hard DSA Online Assessment: This one was genuinely tough. There were 4 questions, and I barely managed to finish them in time.
  3. Behavioral Assessment: This had situational questions like “In this scenario, what would you do?” which I answered using a Likert scale (Strongly Agree / Agree / Neutral / Disagree / Strongly Disagree). I found it simple overall, but I'd highly recommend understanding Meta’s values beforehand, as it helps align your responses.

Two days later, I was told I cleared the elimination stage and could schedule the full loop. I booked my interviews from 27th–31st October 2025.

Full Interview Loop (4 Rounds)

Every round was 45 minutes, except the AI-enabled round which was 60 minutes. Each round also included 5 minutes for an intro and 5 minutes at the end to ask questions.

1️⃣ Round 1 — Behavioral (45 minutes)

This round consisted of standard Meta behavioral questions, including topics like a project I’m proud of, a conflict with a teammate, a time I disagreed with someone, a time I had to follow someone else’s opinion, and ownership and failures. The interviewer asked rapid follow-up questions, which made it harder to strictly follow the STAR framework, but overall, I felt I handled it fine. My self-verdict: Hire.

2️⃣ Round 2 — Product Architecture (45 minutes)

Since the role was full-stack, I got a Product Architecture round instead of classical System Design. The prompt was to Design an Online Food Delivery App. I followed my complete framework: clarifications, high-level architecture, entities, services, API design, functional + non-functional requirements, scalability + edge cases, and follow-up questions. This felt like my strongest round, and the interviewer seemed impressed. My self-verdict: Hire → Strong Hire.

3️⃣ Round 3 — AI-Enabled Coding Round (60 minutes)

This is a new Meta format, introduced around October 2025. I received a partially built game scenario and had to understand the existing codebase, fill in missing logic, and optimize a final strategy. The interviewer was very friendly and helpful. Since this format was new, I didn’t have much prior information, but I still felt I did well. My self-verdict: Leaning Hire → Hire.

4️⃣ Round 4 — Pure DSA (45 minutes)

This round had two coding problems: LRU Cache and a String manipulation problem to check if a string can be made palindrome after deleting certain characters. For both, I explained the brute force approach, then an optimized approach, wrote clean code, and covered edge cases. My self-verdict: Hire → Strong Hire.

Final Result ❌

I was honestly expecting a positive result based on how the interviews went… but after 10–12 days, I received the rejection email. They did not share any specific feedback, which would have been really great. It stung, because I felt I performed well in most rounds — but that’s how interviews go sometimes.

Let me know if you have any questions!

Interview Questions (5)

Q1
Ocean View Buildings
Data Structures & Algorithms

Given an array of building heights, return a list of buildings that have an ocean view. A building has an ocean view if all the buildings to its right are shorter. This is a standard LeetCode problem.

Q2
Pattern–Target Matching with Character Removal
Data Structures & Algorithms

Given a pattern and a target string, determine if the target string can be matched to the pattern by removing repeated characters from the target string.

Q3
Design an Online Food Delivery App
System Design

Design an online food delivery application. The design should cover various aspects including clarifications, high-level architecture, identifying key entities, defining services, designing APIs, considering functional and non-functional requirements, scalability, and handling edge cases.

Q4
LRU Cache Implementation
Data Structures & Algorithms

Implement a Least Recently Used (LRU) Cache, which is a common data structure challenge.

Q5
Palindrome After Deleting Characters
Data Structures & Algorithms

Given a string, determine if it can be made into a palindrome by deleting certain characters.

Preparation Tips

For behavioral rounds, I focused on understanding Meta's values to align my responses, which I highly recommend. For system design, I utilized a comprehensive framework covering architecture, entities, APIs, and requirements. I also found that reviewing interview experiences shared by others was beneficial for my overall preparation.

Meta E4 Interview Experience
meta logo
Meta
ProductOngoing
November 16, 2025116 reads

Summary

I recently interviewed with Meta for an E4 Product role, navigating through a phone screen and multiple onsite rounds, where I successfully tackled various coding, system design, and behavioral challenges.

Full Experience

My Meta E4 Interview Experience

I recently interviewed with Meta for their Product role at the E4 level and wanted to share my experience across the phone screen and onsite rounds.

Before the phone interview, I completed two assessments:

  • A coding assessment with 4 stages
  • A work-style assessment

Phone Screen

  1. Count number of 1s in a given subarray in a large array of 1s and 0s. I was given indices for the start and end of the subarray. I started with a simple linear approach, then optimized it to a prefix-sum solution: prefix[end] - prefix[start - 1]. Follow-ups included questions on handling digits 0–9 instead of binary, and how to handle cases like start > end.
  2. Find Lowest Common Ancestor of a Binary Tree. I implemented the standard recursive LCA algorithm and walked through examples. I missed one edge case where p and q have the same value, and needed a small hint for the scenario where both references point to the same node.

Overall Phone Screen Feedback was positive: strong coding, clear communication, and fast implementation. Improvements were suggested in clarifying questions and edge-case coverage.

Onsite Rounds

Round 1

  1. Find first 1 in a sorted binary matrix. I solved this problem cleanly.
  2. Trapping Rain Water. I solved this problem cleanly.

Round 2 (Design Round)

I was asked to design a concert ticket booking service for a small scale (one venue, many concerts). I discussed requirements, user flows, API design, data model, and bottlenecks. I drove the conversation end-to-end, providing detailed but clear explanations, and moved quickly through the design choices. I also pushed back when needed to clarify assumptions.

Round 3

  1. Valid Palindrome II.
  2. Valid Word Abbreviation.

I solved both of these problems without any issues.

Round 4 (Behavioral)

This was a standard behavioral round with questions focused on handling ambiguity, conflict resolution, and using data to drive decisions. It was a straightforward conversation centered around my past experiences, demonstrating ownership, and highlighting collaborative efforts.

Interview Questions (8)

Q1
Count Ones in Subarray
Data Structures & AlgorithmsMedium

Given a large array of 1s and 0s, and indices for the start and end of a subarray, count the number of 1s within that subarray. Follow-ups included handling digits 0-9 instead of binary, and cases like start > end.

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Find the Lowest Common Ancestor (LCA) of two given nodes in a binary tree.

Q3
Find First One in Sorted Binary Matrix
Data Structures & AlgorithmsMedium

Find the position of the first '1' in a matrix where each row is sorted and contains only 0s and 1s.

Q4
Trapping Rain Water
Data Structures & AlgorithmsHard

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.

Q5
Design a Concert Ticket Booking Service
System DesignHard

Design a concert ticket booking service, specifically for a small scale scenario with one venue and multiple concerts. The discussion covered requirements, user flows, API design, data modeling, and identifying bottlenecks.

Q6
Valid Palindrome II
Data Structures & AlgorithmsEasy

Given a string s, return true if the s can be palindrome after deleting at most one character from it.

Q7
Valid Word Abbreviation
Data Structures & AlgorithmsMedium

Given a word and an abbreviation, check if the word matches the abbreviation. For example, 'internationalization' can be abbreviated as 'i12n' or 'i5s4n'.

Q8
Behavioral Interview
Behavioral

This round involved standard behavioral questions, with a focus on topics such as handling ambiguity, resolving conflicts, and using data to inform decisions. The conversation revolved around past experiences, ownership, and collaboration.

[USA] Meta Onsite Non-AI Coding
meta logo
Meta
SWE ProductUSANo Offer
November 8, 202589 reads

Summary

I interviewed for a SWE Product role at Meta in the USA, facing two coding problems: a binary tree column traversal and a complex problem involving friend request logic for centaurs. I couldn't fully solve the second problem but explained my approach.

Full Experience

I recently had an onsite coding interview at Meta for the SWE Product role in the USA. The interview session included two non-AI coding challenges. The first question was a standard binary tree column traversal problem, which I found quite straightforward. The second problem was more involved: designing friend request logic for mythical creatures called centaurs, based on several age-related rules. I struggled a bit with this one and wasn't able to code up a fully working solution covering all the rules within the given time. However, I made sure to clearly communicate my thought process and approach to the interviewer, detailing how I would tackle the problem. I later revisited the problem myself and realized it's manageable if framed correctly.

Interview Questions (2)

Q1
Binary Tree Column Traversal
Data Structures & AlgorithmsMedium

Given a binary tree (NOT BST), print the column traversal from leftmost column to rightmost column. If two nodes are in the "same column", the top most node in that column should appear before the bottom most node.

Q2
Centaurs Friend Request Logic
Data Structures & AlgorithmsHard

We are building facebook for mythical creatures called centaurs. Centaurs live much longer than humans and we want to understand the number of friend requests when we launch the app. Here's how centaur friendships work (you will be expected to gather some requirements though b/c the interviewer explained the problem in a confusing way):

  • Centaurs younger than 100 can friend other Centaurs younger than 100
  • Centaurs older than 100 can friend centaurs that are strictly older, but not younger than 100
  • Centaurs older than 100 can friend Centaurs older than x/2 + 7
At least one of the above rules must be satisfied for a centaur friend request to be valid.
Given a list of ages, return the number of friend requests. Friend requests for centaurs are directional (eg: just because I friend request you doesn't mean you automatically reciprocate the same)

[USA] Meta AI Coding Round
meta logo
Meta
SWE ProductMenlo ParkNo Offer
November 8, 2025481 reads

Summary

I interviewed for a SWE Product role at Meta, participating in an AI coding round. This unique experience involved debugging existing utility functions and implementing a solution for an NP-Complete problem involving word subsets, which I solved but struggled to optimize.

Full Experience

My onsite interview process at Meta for a SWE Product role included an AI coding round, a non-AI coding round, a system design interview, and a behavioral interview. For the AI coding round, I was presented with a coderpad equipped with 'AI Assist' mode, offering lightweight foundation models. I chose Claude Haiku 3.5 and was given a codebase consisting of main.py, test.py, solve.py, utils.py, and a data/ directory.

My first task was to fix two failing unit tests in utils.py, which involved minor logic errors and debugging with print statements. The second task was to implement solve.py, a stubbed function designed to take a list of words and identify a subset meeting a specific property. I leveraged AI Assist to craft a good prompt, which helped me generate working code that passed the provided unit tests. However, my solution for this part was exponential time. When asked to optimize, I struggled to find a more efficient approach, later discovering from the interviewer that it was an NP-Complete problem. This was quite an unforgettable experience, highlighting the practicality of such rounds despite the challenging time complexity question.

Interview Questions (2)

Q1
Fix Failing Unit Tests in Utility Functions
Data Structures & AlgorithmsMedium

I was given a utils.py file with utility functions, where 2 out of 4 unit tests were failing. The task was to fix these minor logic errors. The coderpad provided 'run code' and 'run tests' buttons for debugging, so no manual tracing was required.

Q2
Identify Word Subset with Specific Property (NP-Complete)
Data Structures & AlgorithmsHard

The problem involved implementing a stubbed function in solve.py. This function needed to take a list of words and identify a subset of these words that met a certain, unspecified property. This was later revealed to be an NP-Complete problem.

Preparation Tips

To prepare for the AI coding round, I learned to set aside traditional LeetCode grinding, as it wouldn't be as helpful. Instead, I focused on understanding how to effectively use AI Assist with lightweight foundation models like Claude Haiku, practicing careful prompt crafting. A significant part of my preparation involved working with medium-sized codebases across several files (e.g., main.py, test.py, utility modules), similar to the sample codebase Meta provides. The key was to demonstrate responsible AI usage rather than relying on it as a crutch.

Meta | Facebook | Technical (Phone) Screen | Mid level Software Engineer (Java)
meta logo
Meta
Mid level Software Engineer (Java)Ongoing
November 5, 202565 reads

Summary

I recently completed my first technical phone screen at Meta for a Mid-level Software Engineer role, where I was tested on two data structure and algorithm problems.

Full Experience

I just got done with my first technical screen in Meta for a Mid-level Software Engineer position, specifically targeting Java roles. The interview involved two distinct data structure and algorithm questions. I felt prepared for both, and I'm looking forward to the next steps.

Interview Questions (2)

Q1
Minimum Element in Each Level of Binary Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, find the minimum element present in each level. This problem is similar to a standard level-order traversal, but the objective is to track and return only the minimum value found within each level. A follow-up question was posed: how would one achieve this solution with an O(log n) space complexity?

Q2
Sorted List Iterator for K Sorted Lists
Data Structures & AlgorithmsHard

Implement a `Sorted List Iterator` that operates on a collection of `k` sorted lists (given as a `List>`). The iterator should expose two primary functions:

  • public boolean hasNext(): Returns true if there are more elements to iterate, false otherwise.
  • public int next(): Returns the next minimum element across all `k` sorted lists.

This problem combines concepts from 'Merge K Sorted Lists' and an iterator design, specifically referencing an Airbnb interview question.

Meta screening
meta logo
Meta
Senior Security EngineerLondonOngoing
November 1, 202564 reads

Summary

Applied for the Senior Security Engineer role at Meta in London. The screening process included a few questions related to IAM concepts and a coding problem. The outcome of the interview is pending.

Full Experience

Company: Meta
Location: London
Position : Senior Security Engineer

1. Few Questions related to IAM - RBAC, ABAC
2. Check if a number is strobogrammatic

Interview Questions (2)

Q1
IAM Concepts - RBAC and ABAC
Data Structures & Algorithms

Questions related to IAM concepts, specifically focusing on RBAC (Role-Based Access Control) and ABAC (Attribute-Based Access Control). These questions likely covered the principles, use cases, and differences between the two models.

Q2
Check if a Number is Strobogrammatic
Data Structures & AlgorithmsMedium

Determine whether a given number is strobogrammatic. A strobogrammatic number is one that appears the same when rotated 180 degrees. Valid digits after rotation are 0, 1, 8, and the pairs 6 and 9, 9 and 6.

Meta | Software Engineer | Bengaluru | Phone Screen | Rejected
meta logo
Meta
Software EngineerBengaluru, Karnataka, India4 yearsRejected
October 27, 202569 reads

Summary

I interviewed for a Software Engineer position at Meta in Bengaluru and was rejected after the phone screen, despite solving both technical questions asked.

Full Experience

I was recently approached by an HR from Meta for a Software Engineer role. During the phone screen round, the interviewer asked me two coding questions. I believe I solved both of them correctly with proper code and logic. Despite my efforts, I unfortunately received a rejection for the Software Engineer role.

Interview Questions (2)

Q1
Sort Array By Parity
Data Structures & Algorithms

Given an integer array nums, move all the even integers at the beginning of the array followed by all the odd integers. The relative order of the odd numbers and even numbers does not matter.

Q2
Making A Large Island
Data Structures & Algorithms

You are given an n x n binary matrix grid. You are allowed to change at most one 0 to 1. Return the size of the largest island in grid after applying this operation.

Meta interview
meta logo
Meta
Rejected
October 25, 202586 reads

Summary

I interviewed with Meta, navigating through a phone screen and two onsite coding rounds, including a custom BFS problem, and culminating in a system design discussion about an online chess game.

Full Experience

My interview journey with Meta began with a phone screen, where I was presented with LC 408 (Valid Word Abbreviation) and LC 791 (Custom Sort String). The onsite rounds followed. In Coding Round 1, I tackled LC 1650 (Lowest Common Ancestor of a Binary Tree III), where the interviewer specifically delved into the rationale behind the optimal space-efficient solution, and LC 1249 (Minimum Remove to Make Valid Parentheses). Coding Round 2 involved a variation of LC 8 (String to Integer (atoi)) and a challenging custom problem: '0-1-2 BFS on a Grid' to find the minimum cost path. I initially approached it with BFS and a heap, but the interviewer pressed for a solution without a heap, which I couldn't provide within the time limit. The final round was a System Design interview, where I was asked to design a 1v1 online chess game along with a leaderboard.

Interview Questions (7)

Q1
Valid Word Abbreviation
Data Structures & AlgorithmsMedium

I was asked to solve LeetCode 408: Valid Word Abbreviation.

Q2
Custom Sort String
Data Structures & AlgorithmsMedium

I was asked to solve LeetCode 791: Custom Sort String.

Q3
Lowest Common Ancestor of a Binary Tree III
Data Structures & AlgorithmsMedium

I was asked to solve LeetCode 1650: Lowest Common Ancestor of a Binary Tree III. The interviewer specifically wanted to understand why the optimal solution, which uses no extra space, works.

Q4
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

I was asked to solve LeetCode 1249: Minimum Remove to Make Valid Parentheses.

Q5
String to Integer (atoi) - Variation
Data Structures & AlgorithmsMedium

I encountered a variation of LeetCode 8: String to Integer (atoi).

Q6
Minimum Cost Path in 0-1-2 Grid
Data Structures & Algorithms

You are given an m × n grid. Each cell contains an integer value from {0, 1, 2} representing the cost to enter that cell. You can move up, down, left, or right. Your task is to find the minimum cost required to move from the top-left cell (0, 0) to the bottom-right cell (m-1, n-1). [this is not min of total sum of path]

Example 1:

grid = [
  [0, 0, 2],
  [0, 1, 1],
  [1, 2, 1]
]

Output: 1

Example 2:

grid = [
  [0, 0, 2],
  [0, 2, 2],
  [2, 2, 0]
]

Output: 2

Q7
Design Online Chess Game with Leaderboard
System Design

Design an online 1 vs 1 chess game along with a leaderboard system.

Meta E5 || London
meta logo
Meta
E5London
October 23, 202550 reads

Summary

I recently interviewed for an E5 role at Meta in London, which consisted of a comprehensive loop including a screening round, two data structures and algorithms rounds, a behavioral round, and a system design round. I encountered a variety of challenging problems ranging from merging sorted arrays to designing a messaging service like WhatsApp.

Full Experience

Screening Round

My interview process began with a screening round, which featured two questions that I would classify as easy to medium difficulty.

Full Loop Interviews

Following the screening, I moved on to the full loop, which was structured as follows:

1. Behavioral Round

This round focused on my past experiences and how I handled various situations, typical of a behavioral interview.

2. DSA Round 1

In the first data structures and algorithms round, I was presented with two problems:

  • One involved determining if a matrix represented as an array was a Toeplitz matrix.
  • The other was a problem similar to finding the maximum consecutive ones with some allowed flips.

3. DSA Round 2

The second DSA round also had two questions:

  • The first asked me to remove extra parentheses to make a string valid.
  • The second was about finding the shortest path in a 1-0 matrix from the top-left to the bottom-right corner.

4. Design Round

The final round was a system design interview where I was asked to design WhatsApp, specifically emphasizing the use of API calls instead of websockets for communication.

Interview Questions (6)

Q1
Random Pick with Weight
Data Structures & AlgorithmsMedium

You are given an array of positive integers w, where w[i] describes the weight of the ith index. Implement the function pickIndex() which randomly picks an index in proportion to its weight.

Q2
Toeplitz Matrix Check (Array Form)
Data Structures & AlgorithmsEasy

Given an array, determine if it represents a Toeplitz matrix. A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same elements.

Q3
Max Consecutive Ones with Flips (Similar)
Data Structures & AlgorithmsMedium

A problem similar to finding the maximum number of consecutive ones in a binary array, potentially allowing a certain number of zero flips.

Q4
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(' , ')' and lowercase English characters, remove the minimum number of parentheses ( '(' or ')') so that the resulting parentheses string is valid. Return any valid string.

Q5
Shortest Path in Binary Matrix
Data Structures & AlgorithmsMedium

Given an n x n binary matrix grid, return the length of the shortest clear path in the matrix. A clear path is a path from the top-left cell (0, 0) to the bottom-right cell (n - 1, n - 1) such that all visited cells are 0 and all adjacent cells in the path are 8-directionally connected.

Q6
Design WhatsApp (API calls only)
System DesignHard

Design a system similar to WhatsApp, focusing on using API calls for communication rather than websockets.

Meta Tech Screen
meta logo
Meta
Ongoing
October 21, 202553 reads

Summary

I had a tech screen at Meta where the interviewer guided me through two coding problems. While I initially struggled with the problems, I was able to suggest the correct approach for the first one. I'm currently unsure about the outcome due to the significant help I received.

Full Experience

My recent tech screen at Meta was quite an experience. The interviewer was incredibly supportive, guiding me throughout the session. Even though I had prepared extensively with the top 70-75 LeetCode questions, the problems presented were distinct. I initially explored a few approaches that didn't quite work out, but for the first question, I eventually proposed the correct strategy, which involved using prefix sums. The second question was also unique, not following the typical patterns of problems like 2sum or 3sum. Overall, I received a fair bit of assistance from the interviewer, leaving me uncertain about the final outcome, as I understand that naive solutions are generally not sufficient.

Interview Questions (2)

Q1
Array Equilibrium Index
Data Structures & AlgorithmsMedium

Given an array, return an index for which the sum of the elements to its left is equal to the sum of the elements to its right. For example, in [2,3,4,5], the index 2 is the answer because arr[0]+arr[1] (which is 2+3=5) equals arr[3] (which is 5).

Q2
Maximum of Two Non-Adjacent Numbers
Data Structures & AlgorithmsMedium

Given an array, find the maximum of two numbers in the array such that these two numbers are not adjacent.

Preparation Tips

I prepared for the interview by studying the top 70-75 LeetCode questions.

Meta onsite experience, blr india
meta logo
Meta
Bangalore, India
October 14, 2025118 reads

Summary

My Meta onsite interview experience in Bangalore, India, involved four rounds: AI-enabled coding, DSA, behavioral, and product architecture design. A key takeaway was the importance of clarifying ambiguous problem statements throughout the process.

Full Experience

I went through a comprehensive onsite interview experience at Meta in Bangalore, India, which consisted of four rounds. The order of these rounds was flexible and depended entirely on panel availability.

Round 1: AI-Enabled Coding Interview (60 minutes) This round was quite unique. I was given an existing codebase, complete with .h and .cpp files, along with test files. The goal was to assess my problem-solving, code development and understanding, verification and debugging, and technical communication skills. It wasn't about using AI as a crutch, but rather as a tool to demonstrate my coding proficiency more efficiently and in a job-relevant manner. I had to run and execute code using existing data files and/or codebases to work through a coding problem. It felt very different from the standard coding interview format.

Round 2: DSA Round (45 minutes) This round presented two problems. The first problem involved determining if two given rectangles, specified by their coordinates, intersect. If they did, I was asked to return all points of intersection. This problem seemed straightforward initially, but I ended up wasting a significant amount of time on it. The second problem was quite vague and related to graph DFS. The interviewer initially asked me to implement two functions, but after I pressed for a lot of clarifying questions, he revealed that those functions were already implemented, and I only needed to implement a third function. By this point, only 7-8 minutes were left. He asked me to code whatever solution I could, and I managed to code the entire solution to his satisfaction. I realized how crucial it is in Meta interviews to proactively clarify the problem statement myself.

Round 3: Behavioral Round In this round, the interviewer focused on understanding how my skills and experience would benefit Meta and how I approach unfamiliar problems. Key areas of discussion included resolving conflict and embracing ambiguity. No specific coding or design problems were posed here.

Round 4: Product Architecture Round This round, which shouldn't be confused with a typical system design interview, challenged me to design privacy level settings for a user within the Facebook app. The settings included options like "Me," "Public," "Friends," and "Friends of Friends." I had to ask numerous clarifying questions to fully grasp the problem statement. I'm uncertain about my performance in this round, but I attempted to list all functional and non-functional requirements, sketch a high-level architecture diagram, identify key entities, and discuss API aspects. The interviewer rigorously questioned me on the database schema and entity relationships, particularly focusing on the "Friends of Friends" case and potential optimization techniques.

Overall, I found that the questions across all interview rounds were often presented in a very vague and open-ended manner, and candidates are clearly expected to proactively clarify them.

Interview Questions (2)

Q1
Rectangle Intersection and Points
Data Structures & AlgorithmsMedium

Given the coordinates of two rectangles, determine if they intersect. If they do, return all the points of intersection.

Q2
Design Privacy Settings for Facebook App
System DesignHard

Design privacy level settings for a particular user for the Facebook app, covering options like 'Me', 'Public', 'Friends', and 'Friends of Friends'.

[USA] Meta SWE II (E4), Product First Round
meta logo
Meta
SWE II (E4), ProductUSAOngoing
October 13, 202556 reads

Summary

I had my first round interview for a SWE II, Product role at Meta, which was a 45-minute session involving two coding problems. I managed to achieve an optimal solution for the first question and a working solution for the second, and I'm currently awaiting feedback.

Full Experience

I recently completed my first round for a SWE II, Product role at Meta, for a US-based position. The interview itself was 45 minutes long, and I was expected to solve two problems. My interviewer was quite chill, and I had a good 5-10 minutes at the end to ask them about their experience working on the Brand Ads Team within Monetization. I felt good about my performance on the first question, as I achieved an optimal solution. However, for the second question, I only managed a working solution. I couldn't come up with a more optimal time or space complexity for the second problem, and I'm hoping my working solution is enough to move me forward in the process.

Interview Questions (2)

Q1
Shuffle String Based on Ordering
Data Structures & Algorithms

Given a string and an ordering (presumably a mapping or an array of indices), shuffle the characters of the string such that the specified ordering is met. I discussed a few edge cases with the interviewer, but the implementation was really straightforward.

Q2
Shortest Path in Binary Matrix
Data Structures & Algorithms

You are given an M x N grid where '0' represents safe cells and '1' represents walls. You need to determine the shortest path from the top-left cell (0,0) to the bottom-right cell (M-1, N-1). The shortest path is determined by the least number of steps.

Meta E6/E5 Experience
meta logo
Meta
Software Engineer (E5)9 yearsOffer
October 8, 202583 reads

Summary

I recently interviewed with Meta for an E6/E5 role. After a successful phone screen and strong performance in most onsite rounds, I received a downlevel offer for an E5 position and am currently in the team matching phase.

Full Experience

My interview journey with Meta started with a phone screen, which included both a coding and a behavioral segment. For coding, I tackled Merge Two Sorted Arrays and a variant of Time Based Key-Value Store. The interviewer for the latter asked me to implement a treemap from scratch, and I managed to build all core functionalities, excluding tree balancing due to time limits. The behavioral part focused on conflict resolution, with several follow-up questions.

The onsite interviews for the E6 level were quite comprehensive. I had two system design rounds: one for Designing a Price Tracking and Alerting System and another for Designing a Create and Search System for Posts. Unfortunately, I couldn't deep dive into the second system design problem as much as I would have liked.

My coding rounds were intense. In the first coding session, I worked on Count Nodes Equal to Average of Subtree and a variant of Minimum Window Substring, each with a couple of follow-up questions. The second coding round presented Nested List Weight Sum and Find Kth Smallest Element Amongst N Sorted Arrays. I struggled to get to the follow-up for the second problem due to time.

Finally, I had a behavioral interview with 7-8 questions covering aspects like scope, impact, and how I handle conflicts. Overall, I felt that most of my interviews went almost perfectly.

The outcome was a downlevel to E5, and I am now in the team matching phase.

Interview Questions (10)

Q1
Merge Two Sorted Arrays
Data Structures & AlgorithmsEasy

Merge two given sorted arrays into a single sorted array.

Q2
Time Based Key-Value Store (Variant)
Data Structures & AlgorithmsMedium

A variant of the Time Based Key-Value Store problem. I was asked to implement a treemap data structure from scratch, including its core functionalities, excluding the tree balancing part.

Q3
Conflict Resolution
Behavioral

Behavioral question focused on how I resolve conflicts, followed by several follow-up questions.

Q4
Design a Price Tracking and Alerting System
System DesignHard

Design a system capable of tracking product prices and sending alerts when prices change or meet certain criteria.

Q5
Design a Create and Search System for Posts
System DesignHard

Design a system that allows users to create posts and search for existing posts efficiently.

Q6
Count Nodes Equal to Average of Subtree
Data Structures & AlgorithmsMedium

Count the number of nodes in a binary tree where the node's value is equal to the average of the values in its subtree (including the node itself).

Q7
Minimum Window Substring (Variant)
Data Structures & AlgorithmsHard

A variant of the Minimum Window Substring problem, followed by 1-2 follow-up questions.

Q8
Nested List Weight Sum
Data Structures & AlgorithmsMedium

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer or a list -- whose elements may also be integers or other lists.

Q9
Find Kth Smallest Element Amongst N Sorted Arrays
Data Structures & AlgorithmsHard

Find the kth smallest element among N given sorted arrays, followed by follow-up questions.

Q10
General Behavioral Questions
Behavioral

A session with 7-8 behavioral questions covering topics such as scope, impact, and conflict resolution.

Meta E5 what are my chances ?
meta logo
Meta
Ongoing
October 5, 202549 reads

Summary

I recently completed my Meta E5 interview, which included a screening round, two coding rounds, a system design round focused on infrastructure, and a behavioral round. Despite solving most problems and thoroughly discussing the system design, I have a mixed feeling about the overall outcome.

Full Experience

I recently finished my Meta E5 interview process.

Screening

The screening round consisted of two coding problems:

  1. Minimum Remove to Make Valid Parentheses
  2. Valid Palindrome II

Both were straightforward string problems, and my focus was on clean implementation and handling all edge cases effectively.

Onsite Rounds

Coding Round 1

In the first coding round, I tackled two problems:

  1. Dot Product of Two Large Sparse Vectors: I discussed all possible approaches, including hash map and binary search. Due to time constraints, I implemented the hash map approach.
  2. Left View and Right View of a Binary Tree: I successfully solved this problem using a Breadth-First Search (BFS) approach.

Although I managed to solve both problems within the allotted time, clearly explained the time and space complexity, and performed complete dry runs, I still have a weird feeling about this particular round.

Coding Round 2

The second coding round also had two problems:

  1. Move all even numbers to the left (in-place): I used a two-pointer approach for this, as the order of elements didn't matter.
  2. Basic Calculator II: I walked through both stack-based and an optimized single-pass solution. For the actual implementation, I opted for the without-stack approach for better clarity.

System Design (Infra-focused)

For the system design round, the prompt was to design LeetCode for 50,000 users. I took the lead throughout the discussion, clearly defining the functional and non-functional requirements, sketching out APIs, and detailing the architecture (API Gateway → Queue → Worker → Sandbox → Storage). We delved into aspects like async job handling, container orchestration, and fault recovery.

Cross-questions were also posed, such as "Why DynamoDB over SQL?" and "What happens if a container or worker node fails?" I thoroughly explained retry semantics using SQS and the node re-spawn behavior in detail.

Behavioral

The behavioral round consisted mostly of standard questions. While one of my answers didn’t come out as structured as I had intended, overall I felt this round went acceptably.

Interview Questions (7)

Q1
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms

This was a straightforward string problem, focusing on clean implementation and handling edge cases.

Q2
Valid Palindrome II
Data Structures & Algorithms

This was a straightforward string problem, focusing on clean implementation and handling edge cases.

Q3
Dot Product of Two Large Sparse Vectors
Data Structures & Algorithms

I explained all possible approaches (hash map vs. binary search) and ended up implementing the hash map approach due to time constraints.

Q4
Left View and Right View of a Binary Tree
Data Structures & Algorithms

I was able to solve it using BFS.

Q5
Move All Even Numbers to Left (In-place)
Data Structures & Algorithms

I solved this problem using a two-pointer approach, noting that the order of numbers didn’t matter.

Q6
Basic Calculator II
Data Structures & Algorithms

I walked through both stack-based and optimized single-pass solutions, and implemented the optimized version without a stack for clarity.

Q7
Design LeetCode for 50K Users
System Design

I led the conversation end-to-end, clearly defining functional and non-functional requirements, APIs, and the architecture (API Gateway → Queue → Worker → Sandbox → Storage). We also discussed async job handling, container orchestration, and fault recovery.

Meta Onsite
meta logo
Meta
Ongoing
October 5, 202555 reads

Summary

I recently interviewed onsite at Meta for an unspecified role, going through four rounds covering data structures, algorithms, system design, and behavioral questions. I believe I performed well, coding and dry running all problems, and am now awaiting the results.

Full Experience

I had my onsite interview at Meta, which consisted of four challenging rounds.

  • Round 1 focused on data structures and algorithms. I was asked to implement the left and right view of a binary tree, and then to merge three sorted arrays while also removing any duplicate elements.
  • Round 2 was a behavioral round where I answered questions about my past experiences and how I handle various situations.
  • Round 3 was a system design interview where I had to design a system for ad recommendations.
  • Round 4 involved more coding, specifically implementing a basic calculator that handles only addition and multiplication, and then designing a data structure that supports insert, delete, update, and getRandom operations all in O(1) time.

I was able to code everything and dry-run several examples for each problem. I'm currently waiting for the final results.

Interview Questions (5)

Q1
Left View and Right View of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, I had to implement algorithms to find its left view and its right view. The left view includes the nodes seen when looking from the left side, and the right view includes nodes seen when looking from the right side, typically the first node at each level.

Q2
Merge K Sorted Arrays with Duplicate Removal (K=3)
Data Structures & AlgorithmsMedium

I was given three already sorted arrays and tasked with merging them into a single sorted array. An important constraint was to remove any duplicate elements in the final merged array.

Q3
Design Ad Recommendation System
System DesignHard

I was asked to design a system that can provide relevant ad recommendations to users. This involved discussing various components like data collection, user profiling, ad selection algorithms, ranking, serving infrastructure, and considerations for scalability and latency.

Q4
Basic Calculator (Addition and Multiplication Only)
Data Structures & AlgorithmsMedium

I needed to implement a basic calculator that could evaluate an expression string involving non-negative integers, addition ('+'), and multiplication ('*') operators. The key was to correctly handle operator precedence (multiplication before addition).

Q5
Design Data Structure with O(1) Insert, Delete, Update, GetRandom
Data Structures & AlgorithmsHard

The task was to design a data structure that supports four operations—inserting an element, deleting an element, updating an existing element, and retrieving a random element—all with an average time complexity of O(1).

Disappointed in Myself After My Meta Interview
meta logo
Meta
Software EngineerRejected
September 30, 202545 reads

Summary

I recently interviewed with Meta for a Software Engineer position. Despite successfully solving two coding problems during the technical screen, I later realized a critical error in one of my solutions, which ultimately led to a rejection.

Full Experience

I've been preparing on and off for over a year, constantly trying to get calls from leading companies. Finally, I received an interview invitation from Meta for a Software Engineer role, which felt like a significant breakthrough as it was the first FAANG company to reach out to me after numerous applications. I asked for three weeks to prepare and dedicated that time to solving around 150 Meta-tagged problems.

On the interview day, I faced two coding challenges. The first was 'Missing Elements in Sorted Array'. I managed to solve it, although I felt I struggled a bit with explaining my thought process. The second question was 'All Nodes Distance K in Binary Tree'. I was genuinely happy to see this problem as I was quite familiar with it. I almost made a mistake but caught it during my dry run and corrected it. I left the interview feeling confident that I had performed well and would advance to the next round.

However, a few hours later, a crushing realization hit me: I had completely forgotten to implement a visited set in my BFS approach for the second problem. This oversight rendered my entire solution incorrect. The very next day, I received a rejection email. A small part of me had hoped for a different outcome, but it wasn't meant to be. This experience has left me feeling quite disheartened, especially after dedicating three weeks to intense preparation that now feels wasted. I also acknowledge my weaknesses in LLD/HLD, which have been factors in previous interview failures, and this latest rejection just adds to a streak of disappointments.

Interview Questions (2)

Q1
Missing Elements in Sorted Array
Data Structures & Algorithms

The first coding problem I encountered was titled 'Missing Elements in Sorted Array'. I was tasked with identifying elements that were absent from a given sorted array.

Q2
All Nodes Distance K in Binary Tree
Data Structures & Algorithms

The second problem was 'All Nodes Distance K in Binary Tree'. This involved finding all nodes in a binary tree that are exactly 'K' distance away from a given target node.

Preparation Tips

My preparation involved consistent effort over a year. Specifically for this Meta interview, I dedicated three intensive weeks to solve approximately 150 problems tagged for Meta on LeetCode.

Meta | E5 (Prod) Onsite | U.S. | Rejected
meta logo
Meta
E5 (Prod) EngineerU.S.Rejected
September 25, 202547 reads

Summary

I interviewed for an E5 (Prod) Engineer role at Meta in the U.S. After navigating through both phone and onsite rounds, I unfortunately received a rejection, which left me feeling quite exhausted.

Full Experience

My interview process for the E5 (Prod) Engineer position at Meta in the U.S. involved two main stages: a phone screen and an onsite loop.

The phone screen included two coding problems:

  • Binary Tree Vertical Order Traversal
  • Minimum Window Substring

The onsite interviews were quite intensive, covering a range of topics:
  • Coding Round 1: Buildings With an Ocean View, with a follow-up on handling views from two sides.
  • Coding Round 2: A modified version of Insert Delete GetRandom O(1) - Duplicates allowed, where the remove() function wouldn't take a value, and the value to be removed had to be random.
  • Coding Round 3: Power(x,n)
  • Coding Round 4: Minimum Remove to Make Valid Parentheses
  • System Design: Design Netflix
  • Behavioral: A standard behavioral questions round.

I heard back after about a week. Despite my efforts, I was rejected. The process took a lot of my time and energy, and honestly, I'm feeling quite exhausted and low on motivation now. Good luck to others going through it.

Interview Questions (7)

Q1
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column).

Q2
Minimum Window Substring
Data Structures & Algorithms

Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such substring, return the empty string "".

Q3
Buildings With an Ocean View
Data Structures & Algorithms

You are given an integer array heights of size n representing the heights of n buildings located from left to right. Return an array of the indices of the buildings that have an ocean view. A building has an ocean view if all the buildings to its right are strictly shorter than it. Follow up: Consider the scenario where you can view from two sides (left and right).

Q4
Insert Delete GetRandom O(1) - Duplicates allowed (Custom Remove)
Data Structures & Algorithms

Design a data structure that supports insert, remove, and getRandom operations in average O(1) time, allowing duplicates. The custom constraint for remove() is that it does not take a value; instead, the value to be removed has to be random.

Q5
Power(x,n)
Data Structures & Algorithms

Implement pow(x, n), which calculates x raised to the power n (x^n).

Q6
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms

Given a string s of '(' , ')' and lowercase English characters, remove the minimum number of parentheses to make s valid. Return the string after removing the minimum number of invalid parentheses.

Q7
Design Netflix
System Design

Design a system similar to Netflix.

Meta Production Engineer Phone Screen
meta logo
Meta
Production EngineerRejected
September 22, 202567 reads

Summary

I recently interviewed for a Production Engineer role at Meta, encountering both a coding challenge involving file processing and a system troubleshooting scenario. Despite my efforts, I was ultimately rejected.

Full Experience

I recently had a phone screen for the Production Engineer role at Meta. The interview consisted of two main rounds. The coding round involved two questions. One was a difficult 'Battleship board variant' that I don't recall the exact details of, but it was beyond what I had practiced, requiring strong DFS/BFS skills. The second coding question asked me to write a program to read multiple files and identify common words, along with the files they appeared in. The troubleshooting round presented an open-ended scenario: given standard system metrics (I/O, disk, CPU), what additional information would I gather for a frequently crashing site? I felt I performed around 8/10 in coding and 10/10 in troubleshooting. However, the recruiter informed me that my performance wasn't satisfactory in either, which felt disheartening, as if they had already decided not to move forward.

Interview Questions (2)

Q1
Common Word Across Files
Data Structures & Algorithms

Multiple files were given, and I had to write a program to read those files and print the common word(s) along with the file(s) they belong to.

Q2
System Troubleshooting Metrics
System Design

If all the standard metrics (I/O, disk, CPU, etc.) are already provided, what additional information would you gather from the system for a site that frequently goes down?

Preparation Tips

My preparation involved thorough practice of DFS and BFS algorithms. However, I found that relying solely on LeetCode's 'Meta' tagged questions was insufficient, as the problems I faced, particularly the file-handling ones, were quite unique and unpredictable. My advice for others would be to expand beyond common tagged questions and focus on a deeper understanding of fundamentals and diverse problem types.

[Meta E4] Technical Screen Exp
meta logo
Meta
4 yearsOngoing
September 19, 202559 reads

Summary

I successfully cleared the technical screen at Meta for an E4 level position after progressing through an online assessment. The interview primarily focused on two data structures and algorithms problems, and I'm now scheduled for the full onsite loop.

Full Experience

I was initially approached by a recruiter and had a phone screen. Following that, I completed an online assessment which was cloud-based. I managed to progress through all four stages of the OA; although I didn't ace every hidden test in the final stage, my score was sufficient to move forward to the next round. The technical screen for the E4 level was my next step, which I successfully cleared. The interview revolved around two specific coding questions. I have a full onsite loop scheduled in the coming weeks.

Interview Questions (2)

Q1
Minimum Time to Collect All Apples in a Tree
Data Structures & Algorithms

Please refer to the provided LeetCode link for the full problem description.

Q2
Kth Largest Element in an Array
Data Structures & Algorithms

Please refer to the provided LeetCode link for the full problem description.

Meta Interview Experience
meta logo
Meta
E4londonOngoing
September 13, 202555 reads

Summary

I interviewed for an E4 position at Meta in London, completing a behavioral round and two coding rounds. My system design interview is scheduled for next week. I felt demotivated after the first coding round due to a challenging question I didn't fully solve optimally.

Full Experience

My interview journey for an E4 role at Meta in London started with a behavioral round where I tackled standard questions, ensuring my answers were backed by real-life examples and could handle follow-up questions effectively.

The first coding round presented two problems. First, I was asked to find the Closest BST Value. After discussing BST properties, I provided and coded an optimal solution. The second question, Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit, was unexpected. I proposed a two-pointer approach, coded it, and dry-ran it. The interviewer seemed satisfied, but post-interview, I discovered the optimal solution involves two deques, which left me feeling a bit disheartened.

In the second coding round, the first problem was to find the Kth Largest Element in an Array. I initially described a brute-force solution and then optimized it using a min-heap. A follow-up explored how the approach would change with many reads and memory constraints. The second problem was Peak Element. I started with a brute-force approach and struggled slightly with explaining the binary search solution before coding the optimal one. A minor bug in my conditions was subtly hinted at by the interviewer during a follow-up.

My System Design round is scheduled for next week, and I will update once it's completed. Overall, the unexpected difficulty in the first coding round's second question has left me quite demotivated given Meta's expectations.

Interview Questions (3)

Q1
Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
Data Structures & Algorithms

Find the longest continuous subarray where the absolute difference between any two elements is less than or equal to a given limit. I initially proposed a two-pointer approach, which I explained and coded, and then dry-ran. Although the interviewer seemed satisfied, I later realized the optimal solution requires two deques.

Q2
Kth Largest Element in an Array
Data Structures & Algorithms

Find the Kth largest element in an unsorted array. I initially gave a brute-force approach, and when asked for optimization, I suggested the min-heap approach. There was a follow-up about how the approach would change if there were many reads and the array could fit in memory.

Q3
Find Peak Element
Data Structures & Algorithms

Find a peak element in an array. A peak element is an element that is strictly greater than its neighbors. I first described a brute-force method. I struggled a bit while explaining the binary search approach. I coded the optimal solution, and the interviewer gave a hint about a minor bug in my conditions through a follow-up question.

Meta E4 London Interview Experience
meta logo
Meta
londonOngoing
September 12, 202562 reads

Summary

I recently completed my Meta E4 interview in London, which included a behavioral round and two coding rounds, with a system design round pending. I felt somewhat discouraged after encountering an unfamiliar problem in the first coding round, despite performing well in other areas.

Full Experience

I had my E4 interview at Meta in London. The process started with a behavioral round, where I answered standard questions with follow-ups, ensuring to provide real-life examples.

My first coding round featured two problems. The first was on 'Closest BST Value'. I discussed various questions related to BSTs, then presented an optimal approach for this specific problem and successfully coded it. The second question, 'Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit', was completely unexpected. I hadn't seen it before, and it wasn't among the top 100 tagged problems. I proposed a two-pointer approach, explained it thoroughly, wrote the code, and dry-ran it. I even asked the interviewer twice if they were satisfied, and they confirmed yes. However, after the interview, I realized the optimal solution involves two deques, making me question why the interviewer didn't guide me, especially since we finished 5 minutes early. This particular question left me feeling quite discouraged, given Meta's high expectations.

The second coding round also had two questions. For 'Kth Largest Element', I initially presented a brute-force approach and then optimized it using a min-heap. The interviewer then asked a follow-up on how the approach would change for frequent reads with an in-memory array. The second question was 'Peak Element'. I started with a brute-force idea and then moved to the binary search approach, struggling a bit with the explanation. I coded the optimal solution, but there was a minor bug in my conditions, which the interviewer subtly hinted at during a follow-up.

My System Design round is scheduled for next week, so the overall process is still ongoing. The challenge with the second question in the first coding round has certainly made me reflect.

Interview Questions (4)

Q1
Closest BST Value
Data Structures & Algorithms

I was asked a few questions on Binary Search Trees, then specifically this problem. I provided an optimal approach and then coded it up.

Q2
Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
Data Structures & Algorithms

This question caught me off guard as I hadn't seen it before. It's not among the top 100 tagged problems. I proposed a two-pointer approach, explained it, wrote the code, and dry-ran it. The interviewer confirmed satisfaction with my solution, but later I realized the optimal solution involves two deques, which I missed.

Q3
Kth Largest Element
Data Structures & Algorithms

I initially gave a brute-force approach. When asked for optimization, I suggested using a min-heap. The interviewer followed up on how the approach would change if there were many reads and the array could fit in memory.

Q4
Peak Element
Data Structures & Algorithms

I first explained a brute-force approach and then tried to explain the binary search approach, which I struggled with a bit. I coded the optimal solution, and the interviewer hinted at a minor bug in my conditions during a follow-up question.

Preparation Tips

My preparation involved practicing various LeetCode problems. However, encountering a question like 'Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit' that wasn't among commonly tagged problems highlighted the need for more comprehensive preparation beyond just popular questions.

META full loop
meta logo
Meta
bangaloreOngoing
September 7, 202591 reads

Summary

I recently completed the full interview loop with Meta, which included a technical screening, two coding rounds, a system design discussion on Netflix API, and behavioral questions. My preparation involved focusing on Meta's top 100 questions.

Full Experience

I recently went through the complete interview process for Meta. It began with an HR call, followed by an Online Assessment that covered both technical and behavioral aspects.

The technical screening involved a coding problem described as a 1D Candy Crush variation, for which a link to Max Consecutive Ones III was provided.

The full loop consisted of two intensive coding rounds. In the first coding round, I tackled 'Closest Value to Target in a BST' and Next Permutation. The second coding round presented Sum Root to Leaf Numbers and Simplify Path.

Following the coding rounds, I had a Product Design round where I was challenged to design the Netflix API. Finally, the Behavioral Round covered topics like my proudest project, a situation where I faced pushback, and my approach to unknown technical problems.

Interview Questions (9)

Q1
Max Consecutive Ones III (1D Candy Crush variation)
Data Structures & Algorithms

This coding question was described as a 1D Candy Crush variation. A link to Max Consecutive Ones III was provided, suggesting the problem involves finding the longest subarray of 1s in a binary array with the ability to flip at most K zeros.

Q2
Closest Value to Target in a BST
Data Structures & Algorithms

I was asked to find the closest value to a given target in a Binary Search Tree (BST).

Q3
Next Permutation
Data Structures & Algorithms

The problem involved implementing the algorithm to find the next lexicographically greater permutation of numbers. A link to the LeetCode problem Next Permutation was provided.

Q4
Sum Root to Leaf Numbers
Data Structures & Algorithms

I had to calculate the sum of all numbers formed by traversing root-to-leaf paths in a binary tree, where each path represents a number. A link to the LeetCode problem Sum Root to Leaf Numbers was provided.

Q5
Simplify Path
Data Structures & Algorithms

The task was to simplify a given Unix-style absolute path. A link to the LeetCode problem Simplify Path was provided.

Q6
Netflix API Design
System Design

In the Product Design round, I was tasked with designing the API for Netflix, which involved considering system architecture, scalability, and various functional requirements.

Q7
Proudest Project
Behavioral

I was asked to discuss my proudest project that I had worked on.

Q8
Facing Pushback
Behavioral

I had to describe a situation where I faced pushback and how I addressed it.

Q9
Approaching Unknown Technical Problems
Behavioral

I was asked about my approach when encountering unknown technical problems.

Preparation Tips

My preparation primarily focused on solving the top 100 Meta questions.

Meta E5 | Pass
meta logo
Meta
software engineer e5indiaOffer
September 6, 202556 reads

Summary

I recently interviewed at Meta for an E5 Software Engineer position and, despite some initial doubts, I successfully passed all rounds and received an offer for an IC5 role.

Full Experience

Phone Screen

My initial phone screen included two coding problems: 'Find local minima' and a 'Valid Palindrome variant.' I made a minor error on the first question, leading to an incorrect answer. Despite this, the interviewer was very gracious and passed me through, which I consider extremely lucky and humbling.

Coding 1

This was my weakest round. I was asked about 'insert-into-a-sorted-circular-linked-list' and 'vertical-order-traversal-of-a-binary-tree.' For the second problem, I had to correct a bug after the interviewer pointed it out. However, I managed to complete both problems within the allotted time. I felt this round was, at best, a 'Lean Hire.'

Coding 2

This was my strongest performance. I tackled 'nested-list-weight-sum' and a 'basic-calculator variant.' I demonstrated great communication, delivered an optimized solution, and had bug-free code. I felt confident this was a 'Strong Hire' round.

System Design

The main problem was designing 'Top K heavy hitters.' I addressed all aspects, but we ran out of time before I could dive deeper into one specific question. I also felt the interviewer might have veered off-topic, and I had to guide the discussion back. Overall, I thought this round was a 'Hire' or 'Lean Hire' for E5.

Behavioral

This round focused on Meta's standard Leadership Principles. The questions were very pointed, and I answered over 25 questions, including follow-ups, in 40 minutes. My examples were all relevant to E5/E6 scope and based on genuine experiences, which helped with the follow-up questions. I strongly believe in being honest in this round as interviewers can discern authenticity.

Overall, I initially expected a reject for E5 or a downlevel to E4 due to my performance in Coding-1 and my mixed feelings about System Design. However, the recruiter contacted me the very next day to confirm an IC5 offer and the next steps for team matching.

Interview Questions (8)

Q1
Find Local Minima
Data Structures & Algorithms

Find a local minimum in an array or matrix.

Q2
Valid Palindrome Variant
Data Structures & Algorithms

A variation of the Valid Palindrome problem.

Q3
Insert into a Sorted Circular Linked List
Data Structures & AlgorithmsMedium

Given a node in a circularly sorted linked list, insert a new element into the list such that the list remains sorted.

Q4
Vertical Order Traversal of a Binary Tree
Data Structures & AlgorithmsHard

Given the root of a binary tree, return the vertical order traversal of its nodes' values (i.e., from top to bottom, column by column).

Q5
Nested List Weight Sum
Data Structures & AlgorithmsMedium

Given a nested list of integers, return the sum of all integers in the list weighted by their depth.

Q6
Basic Calculator Variant
Data Structures & Algorithms

A variation of the Basic Calculator problem series (e.g., I, II, III, IV).

Q7
Top K Heavy Hitters
System DesignHard

Design a system to find the Top K most frequent items (heavy hitters) from a stream of data.

Q8
Meta Leadership Principles
Behavioral

Behavioral questions centered around Meta's specific Leadership Principles, including targeted follow-ups.

Meta Phone Screen
meta logo
Meta
Ongoing
September 6, 202541 reads

Summary

I successfully passed my phone screen at Meta, solving two LeetCode problems: Minimum Remove to Make Valid Parentheses and Range Sum of BST, even though I had a brief moment of struggle on the second question.

Full Experience

I recently had my phone screen at Meta and passed last week. I'm really glad to share my experience. My interviewer was incredibly nice and chill, which I believe really helped me out, especially when I fumbled a bit in places I shouldn't have. He didn't ask for many follow-ups or questions during my implementation, besides having me run through another example for each problem. I think I was able to pass mainly because my interviewer was cool and understanding.

Interview Questions (2)

Q1
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

For the first question, I was given Minimum Remove to Make Valid Parentheses. I finished this one pretty quickly. I discussed using a stack-based approach but then mentioned I could also achieve an O(1) space solution. I was provided example inputs and outputs, and I did dry runs for a couple of them.

Q2
Range Sum of BST
Data Structures & AlgorithmsEasy

The second question I faced was Range Sum of BST. I almost blanked on this one but thankfully managed to pull myself together. The code I wrote was a bit clunky, but I checked it later, and it passed on LeetCode. I did a dry run of a provided example, getting a bit mixed up in the middle but quickly getting myself back on track.

Meta E5 Screening Round USA
meta logo
Meta
usaOngoing
September 6, 202539 reads

Summary

I had a screening round at Meta for an E5 position in the USA, where I tackled two coding problems. Despite a slight delay at the start, I was able to discuss my solutions and correct a mistake with a hint from the interviewer.

Full Experience

I recently completed my PS screening round at Meta. The interviewer, a bit stern about my setup, asked me to remove my background blur and close all other applications. This initial hiccup unfortunately consumed the first five minutes of the interview. However, he quickly transitioned, providing his introduction and explaining the interview's structure before diving into the coding challenges.

The first problem involved balancing parentheses in a string. I began by verbally outlining my solution, touching upon a stack-based approach, and then proceeded to code it. I made sure to test with my own example and explain how I'd handle various corner cases. During a dry run, I spotted an error, which the interviewer kindly hinted at, allowing me to correct my solution effectively.

Next, I faced a vertical order traversal problem. Again, I started by verbally explaining my approach, even performing a mental traversal, before coding. My only minor misstep was including a sort that's often needed in LeetCode for same-row/column sorting but wasn't strictly required for their specific test case, which the interviewer gently corrected. I am now awaiting the outcome, expecting to hear back on Monday.

Interview Questions (2)

Q1
Minimum Removals/Additions to Balance Parentheses
Data Structures & AlgorithmsMedium

Given a string containing parentheses (e.g., '))((' or '(())'), determine the minimum number of removals or additions required to make the string balanced.

Q2
Vertical Order Traversal of a Binary Tree
Data Structures & AlgorithmsMedium

Implement the vertical order traversal of a binary tree.

Meta IC4 London
meta logo
Meta
londonOngoing
September 2, 202549 reads

Summary

I recently interviewed at Meta for an IC4 position in London and successfully advanced to the team matching phase after completing a phone screen, two coding rounds, system design, and a behavioral interview.

Full Experience

I had a recent interview experience at Meta for an IC4 position in London. The interview process consisted of a phone screen, followed by two coding rounds, a system design interview, and a behavioral interview. I am glad to share that I have received a mail today indicating that they are moving me to the team matching phase. It's a positive step forward, and I'm hopeful for the next stage.

Interview Questions (6)

Q1
Insert Delete GetRandom O(1) - Small Variation
Data Structures & Algorithms

This was a small variation of the classic LeetCode problem 'Insert Delete GetRandom O(1)'.

Q2
Count Distinct Elements in Very Large Sorted Array
Data Structures & Algorithms

Given a very large sorted array (length > 1010), the task was to count the distinct elements.
Input: arr[] = {1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 5, 5, 7, 7, 8, 8, 9, 9, 10, 11, 12}
Output: 10
Explanation: The 10 unique elements are: 1, 2, 3, 5, 7, 8, 9, 10, 11, 12

Q3
Nested List Weight Sum
Data Structures & Algorithms

The problem involved calculating the nested list weight sum as described in the LeetCode problem.

Q4
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms

I was asked to solve the 'Minimum Remove to Make Valid Parentheses' problem.

Q5
Minimum Window Substring (No Duplicates in T)
Data Structures & Algorithms

This was a version of the 'Minimum Window Substring' problem, with the simplification that there were no duplicate characters in string 't'.

Q6
Binary Tree Side Views with Twist and Leaves
Data Structures & Algorithms

I was asked to implement the right side view of a binary tree, but from leaf to root, and the left side view from root to leaf. After successfully completing this, the interviewer then asked me to also return all the leaf nodes as part of the solution.

Meta Screening Round Experience - Two Questions Asked
meta logo
Meta
August 28, 202521 reads

Summary

I recently completed a screening round interview at Meta, which included two coding challenges: Range Sum of BST and Expression Add Operators. It was an interesting experience covering different algorithm types.

Full Experience

My screening round with Meta involved tackling two distinct coding problems. The first one was 'Range Sum of BST', which felt like an easy-to-medium problem primarily focusing on binary search tree traversal. The second challenge was 'Expression Add Operators', a hard problem that required me to think about backtracking and string manipulation techniques. The problem statement for the second question was clearly articulated, asking to find all possible ways to insert binary operators (+, -) between digits in a string to reach a given target value.

Interview Questions (2)

Q1
Range Sum of BST
Data Structures & AlgorithmsMedium

Given the root of a binary search tree and two integers low and high, return the sum of all nodes' values that are in the inclusive range [low, high].

Q2
Expression Add Operators
Data Structures & AlgorithmsHard

Given a string of digits and a target value, return all possible ways to add binary operators (+, -) between the digits so they evaluate to the target value.

E5 Meta Phone screen
meta logo
Meta
e5us
August 25, 202521 reads

Summary

I had a phone screen interview for an E5 role at Meta in the US, where I was tested on two specific LeetCode problems: Lowest Common Ancestor of a Binary Tree III and Group Shifted Strings.

Full Experience

I recently interviewed with Meta for an E5 position, participating in a phone screen located in the US. During the interview, I was presented with two coding challenges. The first problem involved finding the Lowest Common Ancestor in a binary tree (LCA III), and the second task was to group strings that are "shifted" versions of each other. I focused on discussing my approaches and implementing efficient solutions for both.

Interview Questions (2)

Q1
Lowest Common Ancestor of a Binary Tree III
Data Structures & Algorithms

The problem asks to find the lowest common ancestor of two given nodes in a binary tree. Full description is available via the provided LeetCode link.

Q2
Group Shifted Strings
Data Structures & Algorithms

The task is to group strings into lists where each group contains strings that can be obtained from one another by shifting letters. Full description is available via the provided LeetCode link.

Meta E6 London - Software Engineer (Product) - Full Loop
meta logo
Meta
software engineer (product)londonno offer
August 23, 202522 reads

Summary

Successfully navigated the Meta E6 interview process in London, but received mixed feedback on system design. Focused on coding for 3 weeks and minimal system design prep, leading to a potentially negative feedback outcome.

Full Experience

I recently completed the full-loop interview with Meta for the E6 level and wanted to share my experience with the LC community.

Screening Round
1. Subtree of Another Tree — Solved it correctly.
2. Insert intervals variant — Shared the algorithm to solve it, but couldn’t complete the full solution due to time limits. The interviewer seemed somewhat satisfied with my approach.

Coding Round 1
1. Variant of Basic Calculator II — Solved it using a stack and covered all edge cases. It could be solved using string split as well, but the stack solution looked cleaner to me.
2. Minimum Add to Make Parentheses Valid — I started with a stack-based solution, wrote the complete code, and covered edge cases. The interviewer asked me to optimize it, but I couldn’t think of the two-pointers greedy approach within the time limit.

Coding Round 2
1. Closest Binary Search Tree Value — Solved well with proper dry run and edge cases.
2. Variant of Random Pick with Weight — Took a few hints from the interviewer for this question and finally solved it with proper edge cases.

Behavioral Round
1. Tell me about a high-impact project with an aggressive deadline.
2. Have you ever had a conflict with a colleague?
3. Tell me about a time you influenced without formal authority.
4. Describe a time you took ownership beyond your scope.
5. Did you ever fail? What did you learn from it?
6. Did you receive any feedback from your manager, and how did you act on it?
7. Did you face any challenges handling cross-team requirements?
8. How have you helped your peers or juniors grow?
9. How did you convince your leads/managers to optimize a specific flow/process?
10. Additional follow-ups on these questions.

I felt I did well in this round, answering using the STAR pattern.

Product Architecture 1
1. Design Spotify —
I feel I could have done better here. I didn’t handle the deep dives and follow-ups well. I had a hectic day at the office, but that’s just an excuse.

Product Architecture 2
1. Design Dropbox —
I think I nailed this one. The interviewer was excellent.

Result
All the interviewers were really good, and I had a great learning experience. I prepared for only 3 weeks, focusing mostly on coding. For system design, I only prepared for a single day, which wasn’t sufficient. I heard from my recruiter that the feedback wasn’t positive, at least not for the level they were hiring for. I’ll be receiving detailed feedback next week.

I’ll work on the gaps, improve, and come back stronger.

Interview Questions (5)

Q1
Subtree of Another Tree
data structures & algorithms

Given two root nodes of binary trees, determine if the first tree is a subtree of the second tree.

Q2
Basic Calculator II
data structures & algorithms

Implement a basic calculator to evaluate a string expression containing +, -, *, / operators.

Q3
Minimum Add to Make Parentheses Valid
data structures & algorithms

Given a string containing only parentheses, find the minimum number of additions required to make the string valid.

Q4
Closest Binary Search Tree Value
data structures & algorithms

Given a binary search tree and a target value, find the value in the tree that is closest to the target.

Q5
Random Pick with Weight
data structures & algorithms

Given a list of weights, implement a method to randomly pick an index based on its weight.

Preparation Tips

Prepared for 3 weeks, focusing mostly on coding. For system design, only prepared for a single day, which wasn’t sufficient.

Meta E4 Interview Experience
meta logo
Meta
Ongoing
August 20, 202513 reads

Summary

Interviewed at Meta for E4 role. Passed coding rounds and system design, but outcome not specified.

Full Experience

Applied for an E4 position at Meta. The interview process had three rounds. The first round was coding, where I faced two questions: finding the longest palindromic substring and implementing array flattening. The second round was a system design question about creating an Instagram news feed, which required considering read/write patterns and data storage. The third round was behavioral, focusing on past accomplishments and learning experiences. The interviewer emphasized aligning answers with Meta's values like leadership and teamwork.

Interview Questions (1)

Q1
Find the Longest Palindromic Substring
Data Structures & Algorithmseasy

Find the longest palindromic substring (easy). For a substring, if it is a palindrome and its length is greater than 2, then after removing the first and, the interviewer nodded in agreement throughout.

Meta India E5 Comp
meta logo
Meta
e5indiaOffer
August 19, 202519 reads

Summary

I cleared the E5 interview at Meta in India. The interview process was challenging, with a mix of coding and design questions. I received an offer after a successful interview experience.

Full Experience

Hey folks, I just cleared the E5 interview with Meta. The process was intense but rewarding. I was given a series of coding and design challenges that tested my problem-solving skills and system design knowledge. The coding questions were a mix of algorithms and data structures, while the design questions required me to think about scalability and user experience. I felt confident in my answers and was happy to receive the offer.

Interview Questions (6)

Q1
Robot Room Cleaner
Data Structures & AlgorithmsHard

Implement a solution for a robot to clean a room. The robot can move in four directions and clean a cell. The challenge is to ensure the robot covers all cells efficiently.

Q2
Rolling Window Average of Array
Data Structures & AlgorithmsMedium

Calculate the rolling window average of an array. For each window of size k, compute the average and return the result as an array.

Q3
Spiral Printing of Matrix
Data Structures & AlgorithmsMedium

Print the elements of a matrix in spiral order. The challenge is to traverse the matrix in a spiral pattern, starting from the top-left corner and moving clockwise.

Q4
Merge Intervals
Data Structures & AlgorithmsMedium

Given two lists of intervals, merge them into a non-overlapping list of intervals. The intervals are represented as pairs of start and end times.

Q5
Design a Ticket Booking System for a Popular Concert
System DesignHard

Design a system for booking tickets for a very popular concert. The system must handle a large number of users and ensure that tickets are allocated efficiently and without errors.

Q6
Design a Service for Likes on Instagram
System DesignHard

Design a service that handles likes for Instagram posts. The service must efficiently manage a large number of likes and provide real-time updates to users.

Meta - Screening Round (Application Engineer Role)
meta logo
Meta
Application EngineerOngoing
August 17, 202512 reads

Summary

Recently completed the Meta Screening round for the Application Engineer role. The 45-minute interview included 25 minutes of Role specialization questions followed by a DSA problem, LeetCode 443: String Compression.

Full Experience

Hi Everyone, I recently gave the Meta Screening round for the Application Engineer role. It was a 45 mins interview which started with 25 mins of Role specialization questions, followed by the DSA question, Leetcode 443, String Compression.

Interview Questions (1)

Q1
String Compression
Data Structures & AlgorithmsMedium

Given an input string, compress it such that consecutive repeating characters are replaced by the character followed by the number of times it repeats. If a character repeats once, it should be shown once. For example, "aaabbc" should be compressed to "a3b2c".

Meta IC5 Interview Experiences
meta logo
Meta
IC5Mountain View4 yearsOffer
August 15, 20255 reads

Summary

Successfully navigated through Meta's IC5 interview process, covering coding challenges, system design, and behavioral rounds. Demonstrated strong problem-solving skills and technical knowledge, with positive feedback from the interviewer.

Full Experience

Round 1: Coding started with a Meeting Scheduler problem involving two-way pointers and arrays. Initially, I struggled to understand the problem but eventually sorted the input and considered boundary conditions, using merge sort and quick sort. The second question was Find the Duplicate Number, which I solved using the fast pointer method similar to linked-list cycle detection. I explained the approach and provided the optimal solution within 10 minutes.

Round 2: System Design focused on designing a Movie Review Aggregator. Since it related to my current work, I outlined the business and ML objectives, discussed feature engineering, and proposed a high-level design. The interviewer emphasized machine learning aspects, and I elaborated on model selection, loss functions, and evaluation metrics.

Round 3: Coding included Next Permutation and Binary Tree Vertical Order Traversal. For the first, I traversed backward to find the first node smaller than subsequent nodes, then swapped and reversed the subarray. For the second, I used BFS with a hash map to track column positions.

Round 4: Behavioral questions covered managing priorities, resolving conflicts, and receiving feedback. I used the STAR method, focusing on team building and leadership. The interviewer was satisfied but asked about my preferred machine learning area.

Interview Questions (4)

Q1
Meeting Scheduler
Data Structures & AlgorithmsHard

This question involves two-way pointers and uses two arrays, with many boundary conditions. At first, I didn't understand it clearly. It is actually similar to a linked list problem. First, I sorted to cover all cases, then drew a diagram while considering the boundary conditions, which was more comprehensive. I mainly used merge sort and quick sort. When the interviewer asked for test cases, I identified several overlooked boundary conditions and made corrections.

Q2
Find the Duplicate Number
Data Structures & AlgorithmsMedium

I used the fast pointer method, similar to the linked-list cycle detection method. It is essentially a generic algorithm for checking linked-list cycles and is not particularly complex. I explained the solution approach and provided the optimal solution within 10 minutes. I recorded the time and space complexity, but due to time constraints, I only ran a few test cases verbally.

Q3
Next Permutation
Data Structures & AlgorithmsMedium

My approach here was to traverse backward from the end, finding the first node smaller than subsequent nodes. I then traversed from the tail, found the node larger than the one found, and swapped it with the smallest value in the subarray. Finally, I reversed the subarray to obtain the answer. Note that the subsequent subarray is monotonically decreasing.

Q4
Binary Tree Vertical Order Traversal
Data Structures & AlgorithmsHard

I used BFS. I used a hash map to store the node values at all column positions and recorded the maximum and minimum column values.

Preparation Tips

Prepared for the interview by focusing on problem-solving techniques, including sorting algorithms and data structure concepts. For the system design round, I reviewed machine learning objectives and design patterns related to my current work. For behavioral rounds, I practiced STAR method examples related to team building and leadership.

Meta Phonescreen
meta logo
Meta
August 13, 20255 reads

Summary

I had a phone interview at Meta where I successfully solved two data structure and algorithm problems, and I am currently awaiting a reply.

Full Experience

Had a phone interview 1.https://leetcode.com/problems/swap-nodes-in-pairs/description/ 2.https://leetcode.com/problems/insert-delete-getrandom-o1/

I was able to solve both questions awaiting for reply

Hope this helps for other users

Interview Questions (2)

Q1
Swap Nodes in Pairs
Data Structures & AlgorithmsMedium

Given a head of a linked list, swap every two adjacent nodes and return its head. I must solve the problem without modifying the values in the list's nodes (i.e., only nodes themselves may be changed).

Q2
Insert Delete GetRandom O(1)
Data Structures & AlgorithmsMedium

Implement the RandomizedSet class:

  • RandomizedSet() Initializes the RandomizedSet object.
  • bool insert(int val) Inserts an item val into the set if not present. Returns true if the item was not present, false otherwise.
  • bool remove(int val) Removes an item val from the set if present. Returns true if the item was present, false otherwise.
  • int getRandom() Returns a random element from the current set of elements (at least one element must exist when this method is called). Each element must have the same probability of being returned. I must implement the functions of the class such that each function works in average O(1) time complexity.
Meta Variant for Count Nodes Equal to Average of Subtree (LC2265)
meta logo
Meta
Ongoing
August 12, 20252 reads

Summary

Shared a solution for a Meta-related problem, LeetCode 2265, and discussed a variant where the task is to determine if every node in a binary tree is the average of its subtree. The problem involves understanding postorder traversal and optimizing it within a short time frame.

Full Experience

Hey y’all! Got another solution for another tagged Meta problem, LeetCode 2265 Count Nodes Equal to Average of Subtree, as well as its variant.

This one’s been asked quite a bit more lately and it’s tripped up a bunch of candidates, and understandably so: deducing postorder traversal and knowing how to manipulate it for optimization in 20 minutes is tricky.

The variant is this: what if you had to return a boolean whether every node in the binary tree is the average of its subtree?

Fyi I've not seen this asked a lot in phone screens but this is speculation from what I've been seeing.

Wishing everyone good luck on their interviews!

Interview Questions (2)

Q1
Count Nodes Equal to Average of Subtree
Data Structures & AlgorithmsHard

Given a binary tree, the task is to count the number of nodes whose value is equal to the average of the values in their subtree. The solution involves postorder traversal and optimizing the computation of subtree averages efficiently.

Q2
Check if All Nodes are Average of Subtree
Data Structures & AlgorithmsHard

Variant of the previous problem: determine if every node in the binary tree is the average of its subtree. This requires checking each node's value against the average of its subtree and returning a boolean result.

Preparation Tips

The candidate focused on understanding postorder traversal and optimizing algorithms for binary tree problems, particularly those involving subtree calculations. They likely practiced problems related to tree traversals and subtree properties to handle such questions efficiently during interviews.

Meta Phone Screening
meta logo
Meta
E4LondonOngoing
August 12, 20254 reads

Summary

Meta Phone Screening Interview Experience

Full Experience

Position: E4
Location: London

Round Summary
Got 2 coding questions in my interview:

1. Valid Word Abbreviation
- Spent most of the time (~30 mins) on this one.
- Interviewer asked me to list all possible test cases — I gave several, but missed the case with a 0 in the abbreviation. He pointed it out, and I updated my code to handle it.
- Not sure if missing it initially will count against me.

2. Pow(x, n)
- This was given when very little time was left, so I was a bit nervous.
- I first explained the brute force approach, then moved on to the O(log n) optimized approach.
- Got slightly confused while discussing space complexity.

Interview Questions (2)

Q1
Valid Word Abbreviation
Data Structures & AlgorithmsMedium

Check if a string is a valid abbreviation of another string.

Q2
Pow(x, n)
Data Structures & AlgorithmsMedium

Implement pow(x, n) which computes x raised to the power of n.

Meta E5 Full-loop interview
meta logo
Meta
E5
August 5, 20255 reads

Summary

I interviewed for an E5 role at Meta, going through a full loop that included two coding rounds, a product architecture round, and a behavioral round.

Full Experience

Coding Round 1

  • Binary tree question on the lines of getting Left side view + right side view of the tree
  • 2 pointer problem on strings called Internationalization(Meta tagged)

Coding Round 2

  • Get path from entry 0,0 to exit gate 2-d array traversal problem
  • View ocean array problem (Meta tagged)

Product Architecutre

  • Online coding competition platform

Behavioural

  • General/usual kind of questions

Interview Questions (5)

Q1
Left and Right Side View of Binary Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, imagine myself standing on the left side of it and return the values of the nodes I can see, ordered from top to bottom. Do the same for the right side view. The question was on the lines of combining these two concepts.

Q2
Internationalization (2-Pointer String Problem)
Data Structures & Algorithms

A 2-pointer problem focused on strings, specifically named 'Internationalization' and described as 'Meta tagged'.

Q3
Path in 2D Array from (0,0) to Exit Gate
Data Structures & Algorithms

Given a 2D array, find a path from the entry point at coordinates (0,0) to an exit gate.

Q4
View Ocean Array Problem
Data Structures & Algorithms

A problem specifically referred to as 'View ocean array problem' and tagged by Meta.

Q5
Design an Online Coding Competition Platform
System DesignHard

Design a system for an online coding competition platform.

Meta | E5 | Phone Screen | US (Passed)
meta logo
Meta
E5US
July 31, 20253 reads

Summary

I passed the phone screen interview at Meta for the E5 role in the US, where I was asked two LeetCode problems for which I provided optimal solutions.

Full Experience

Updated: Passed.

1. https://leetcode.com/problems/shortest-path-in-binary-matrix/description/
2. https://leetcode.com/problems/minimum-window-substring

Self-eval:
1. Gave the optimal solution and dry-run perfectly
2. Gave the optimal solution but only dry-run half of an example due to time constraint (Crazy to think that I was targeted for this question & just had 15 mins)

Verdict: 50-50 game.

Interview Questions (2)

Q1
Shortest Path in Binary Matrix
Data Structures & Algorithms

Please refer to the LeetCode link for the full problem description.

Q2
Minimum Window Substring
Data Structures & Algorithms

Please refer to the LeetCode link for the full problem description.

Meta OA
meta logo
Meta
July 28, 20253 reads

Summary

I participated in a Meta Online Assessment which featured a complex system design problem to implement a banking system with various functionalities including account management, transactions, and a cashback mechanism.

Full Experience

Banking System // Meta-style Banking System Implementation with Cashback and Prioritized Processing

interface Transaction { timestamp: number; amount: number; }

class Account { id: string; balance: number; history: Transaction[]; cashback: Map<string, { amount: number; processedAt: number, status:"complete"|"in progress" }> = new Map();

constructor(id: string) { this.id = id; this.balance = 0; this.history = []; this.cashback=new Map(); } }

class BankingSystem { private accounts: Map<string, Account> = new Map(); private transactionId = 1;

createAccount(id: string): void { if (this.accounts.has(id)) throw new Error("Account already exists"); this.accounts.set(id, new Account(id)); }

deposit(id: string, amount: number, timestamp: number): void { this.processCashbacks(); const acc = this.getAccount(id); acc.balance += amount; acc.history.push({ timestamp, amount: acc.balance }); }

pay(fromId: string, toId: string, amount: number, timestamp: number): void { this.processCashbacks(fromId, timestamp); this.processCashbacks(toId, timestamp); const from = this.getAccount(fromId); const to = this.getAccount(toId); if (from.balance < amount) throw new Error("Insufficient funds");

const txId = "payment" + this.transactionId++;

from.balance -= amount;
to.balance += amount;

from.history.push({ timestamp, amount:from.balance });
to.history.push({ timestamp, amount: to.balance });

const cashbackAmount = Math.floor((amount * 0.02));
from.cashback.set(txId, { amount: cashbackAmount, processedAt: timestamp + 86400000, status:"IN progress" });

}

transfer(fromId: string, toId: string, amount: number, timestamp: number): void { this.pay(fromId, toId, amount, timestamp); }

getBalanceAt(id: string, timestamp: number, timeAt): number { this.processCashbacks(); const acc = this.getAccount(id); let balance = 0; for (const tx of acc.history) { //return balance of account } return tx.balance; }

paymentStatus(id: string, paymentId: number): 'pending' | 'complete' | 'none' { this.processCashbacks(); //return cashback status }

mergeAccounts(fromId: string, toId: string): void { this.processCashbacks(); const from = this.getAccount(fromId); const to = this.getAccount(toId);

to.balance += from.balance;
to.history.push(...from.history);

//move cashbacks too this.accounts.delete(fromId); }

topSpenders(n: number): string[] { this.processCashbacks(); const spendMap: Map<string, number> = new Map(); for (const [id, acc] of this.accounts) { let total = 0; for (const tx of acc.history) { if (tx.type === 'payment') total += tx.amount; } spendMap.set(id, total); } return Array.from(spendMap.entries()) .sort((a, b) => b[1] - a[1]) .slice(0, n) .map(([id]) => id); }

private getAccount(id: string): Account { const acc = this.accounts.get(id); if (!acc) throw new Error("Account not found"); return acc; }

private processCashbacks(accountId: string, timestamp: number): void {

const acc = this.getAccount(accountId);
for (const [txId, entry] of acc.cashback.entries()) {
  if (entry.processedAt <= timestamp) {
    acc.balance += entry.amount;
    acc.history.push({
      timestamp: timestamp,
      amount: acc.balance,
    });
  }
}

} }

Interview Questions (1)

Q1
Banking System Implementation with Cashback and Prioritized Processing
System DesignHard

Implement a banking system with the following interfaces and classes:

interface Transaction { timestamp: number; amount: number; }

class Account { id: string; balance: number; history: Transaction[]; cashback: Map<string, { amount: number; processedAt: number, status:"complete"|"in progress" }> = new Map();

constructor(id: string) { this.id = id; this.balance = 0; this.history = []; this.cashback=new Map(); } }

class BankingSystem { private accounts: Map<string, Account> = new Map(); private transactionId = 1;

createAccount(id: string): void { if (this.accounts.has(id)) throw new Error("Account already exists"); this.accounts.set(id, new Account(id)); }

deposit(id: string, amount: number, timestamp: number): void { this.processCashbacks(); const acc = this.getAccount(id); acc.balance += amount; acc.history.push({ timestamp, amount: acc.balance }); }

pay(fromId: string, toId: string, amount: number, timestamp: number): void { this.processCashbacks(fromId, timestamp); this.processCashbacks(toId, timestamp); const from = this.getAccount(fromId); const to = this.getAccount(toId); if (from.balance < amount) throw new Error("Insufficient funds");

const txId = "payment" + this.transactionId++;

from.balance -= amount;
to.balance += amount;

from.history.push({ timestamp, amount:from.balance });
to.history.push({ timestamp, amount: to.balance });

const cashbackAmount = Math.floor((amount * 0.02));
from.cashback.set(txId, { amount: cashbackAmount, processedAt: timestamp + 86400000, status:"IN progress" });

}

transfer(fromId: string, toId: string, amount: number, timestamp: number): void { this.pay(fromId, toId, amount, timestamp); }

getBalanceAt(id: string, timestamp: number, timeAt): number { this.processCashbacks(); const acc = this.getAccount(id); let balance = 0; for (const tx of acc.history) { //return balance of account } return tx.balance; }

paymentStatus(id: string, paymentId: number): 'pending' | 'complete' | 'none' { this.processCashbacks(); //return cashback status }

mergeAccounts(fromId: string, toId: string): void { this.processCashbacks(); const from = this.getAccount(fromId); const to = this.getAccount(toId);

to.balance += from.balance;
to.history.push(...from.history);

//move cashbacks too this.accounts.delete(fromId); }

topSpenders(n: number): string[] { this.processCashbacks(); const spendMap: Map<string, number> = new Map(); for (const [id, acc] of this.accounts) { let total = 0; for (const tx of acc.history) { if (tx.type === 'payment') total += tx.amount; } spendMap.set(id, total); } return Array.from(spendMap.entries()) .sort((a, b) => b[1] - a[1]) .slice(0, n) .map(([id]) => id); }

private getAccount(id: string): Account { const acc = this.accounts.get(id); if (!acc) throw new Error("Account not found"); return acc; }

private processCashbacks(accountId: string, timestamp: number): void {

const acc = this.getAccount(accountId);
for (const [txId, entry] of acc.cashback.entries()) {
  if (entry.processedAt <= timestamp) {
    acc.balance += entry.amount;
    acc.history.push({
      timestamp: timestamp,
      amount: acc.balance,
    });
  }
}

} }

Meta | Phone Screen | Passed
meta logo
Meta
July 25, 20254 reads

Summary

I am sharing an anonymous phone screen interview experience with Meta, where three specific LeetCode variant problems were discussed. The candidate passed the interview and heard back after 6 business days.

Full Experience

Hey y'all, sharing a recent interview experience on behalf of anonymous. This ain't me but I hope these data points help. OP was asked the variants, not the OG - so, I linked the variant posts below.

Q1: LC199 Right Side View
Variant: what if you had to return both views, the left- and right side views? It was noted you can combine the two lists into one, rather than just using a singular list. So, there was no need to overly optimize here.

Q2: LC56 Merge Intervals
Variant: What if you had to merge two interval lists? The interviewer copied and pasted text that mentioned each interval list "containing intervals in ascending order. Merge them."
The interviewer had followed up with testcases for the candidate to go through.
...I can only imagine it was due to a lack of communication from the candidate's end. Or a lack of dry-running. Or if there were bug(s).

Q3: LC103 Binary Tree Zigzag Level Order Traversal
Variant: What if you had to return the order from right to left for the first level, then left to right, etc? It's the opposite than the OG problem.
There was time left so Q3 was given. Code was required.

---

I don't know information beyond this, other than the fact that the person heard back after 6 business days.

Good luck with your studies!

Interview Questions (3)

Q1
Binary Tree Right and Left Side View
Data Structures & AlgorithmsMedium

Variant: what if you had to return both views, the left- and right side views? It was noted you can combine the two lists into one, rather than just using a singular list. So, there was no need to overly optimize here.

Q2
Merge Two Sorted Interval Lists
Data Structures & AlgorithmsMedium

Variant: What if you had to merge two interval lists? The interviewer copied and pasted text that mentioned each interval list "containing intervals in ascending order. Merge them."
The interviewer had followed up with testcases for the candidate to go through.
...I can only imagine it was due to a lack of communication from the candidate's end. Or a lack of dry-running. Or if there were bug(s).

Q3
Binary Tree Zigzag Level Order Traversal (Reverse Start)
Data Structures & AlgorithmsMedium

Variant: What if you had to return the order from right to left for the first level, then left to right, etc? It's the opposite than the OG problem.
There was time left so Q3 was given. Code was required.

Meta Interview Experience | E4 | London
meta logo
Meta
E4London
July 23, 20253 reads

Summary

I had an interview experience for an E4 role at Meta in London, covering multiple coding rounds and a system design interview. I am currently awaiting the results.

Full Experience

Screening Q1 given word 1 and word 2 return output baseball base : 4 landlord load : 0 hangover hanng : 4

Q2 minimum remove to make valid parenthesis

Full Loop:

Coding interview 1:

  1. course schedule
  2. given root, target k, print all nodes at kth distance from target node

Coding interview 2:

  1. given matrix, do diagonal traversal
  2. in sorted array find occurence of given word

System Design: Design auction in instagram.

Awaiting for res....

Interview Questions (7)

Q1
Word Similarity Score
Data Structures & Algorithms

Given word 1 and word 2, return an output based on the examples provided: baseball base : 4 landlord load : 0 hangover hanng : 4

Q2
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms

Given a string s of '(', ')', and lowercase English characters. Your task is to remove the minimum number of parentheses ('(' or ')') so that the resulting parentheses string is valid and return any valid string.

Q3
Course Schedule
Data Structures & Algorithms

Given the total number of courses you have to take, numCourses, and a list of prerequisite pairs, prerequisites, determine if you can finish all courses. (Implicitly, if it's possible to take all courses without circular dependencies, or to return a valid course order).

Q4
All Nodes Distance K in Binary Tree
Data Structures & Algorithms

Given a binary tree root, a target node, and an integer k, print all nodes at kth distance from the target node.

Q5
Matrix Diagonal Traversal
Data Structures & Algorithms

Given a matrix, perform a diagonal traversal of its elements.

Q6
Find Occurrences of Element in Sorted Array
Data Structures & Algorithms

Given a sorted array, find the occurrence count of a given element (word/number).

Q7
Design Instagram Auction System
System Design

Design an auction system integrated within Instagram.

Meta E5(Infra)- Reject
meta logo
Meta
e5 infrastructure engineerRejected
July 23, 202543 reads

Summary

I interviewed for an E5 Infrastructure Engineer role at Meta and regrettably received a rejection. The interview process spanned a screening round and a full onsite loop, assessing my skills in coding, system design, and behavioral aspects.

Full Experience

My interview journey at Meta for the E5 Infrastructure Engineer position began with a screening round. In this round, I encountered two coding problems. The first was a variant of 'Merge Sorted Arrays,' where the input sizes 'm' and 'n' were not explicitly provided, which I believe caused me to lose some points. The second coding question was a 'Random pointer' problem, which I handled as a standard instance.

Following the screening, I proceeded to the onsite loop. The System Design round focused on designing a system similar to Dropbox. I felt I could have elaborated more effectively on the file synchronization mechanism post-upload. Additionally, there was a discussion around 'Top K Heavy Hitters.'

My first Coding Interview session included two problems. One was a variant of 'Random Pick with Weight,' which I felt confident about, aligning with similar problems I'd practiced from @codingwithminmer's playlist. The second problem asked me to find the 'Highest Sum in a Subtree,' which could also contain negative values. I later realized I might have missed a detail regarding whether it was specifically a Binary Search Tree (BST).

The second Coding Interview also featured two questions. The first was another variant from the 'Best Time to Buy and Sell Stock' series, again something I had practiced. The second question, 'Counting nodes equal to average,' presented a true/false variant, which was a bit ambiguous.

Finally, the Behavioral round covered standard top K behavioral questions commonly found in other posts. Despite my efforts, I ultimately received a rejection for the role.

Interview Questions (6)

Q1
Merge Sorted Arrays (Variant)
Data Structures & AlgorithmsEasy

Merge two sorted arrays. The problem included small enhancements where the sizes 'm' and 'n' of the arrays were not explicitly provided, requiring me to infer them or handle edge cases related to their absence.

Q2
Design Dropbox
System DesignHard

Design a system like Dropbox. The interviewer particularly emphasized the file synchronization mechanism once files are uploaded, which I felt I could have explained more thoroughly.

Q3
Top K Heavy Hitters
System DesignHard

Design a system or algorithm to find the Top K Heavy Hitters.

Q4
Random Pick with Weight (Variant)
Data Structures & AlgorithmsMedium

Implement pickIndex method to randomly pick an index based on given weights. The problem was a variant of the standard 'Random Pick with Weight' problem.

Q5
Highest Sum in a Subtree
Data Structures & AlgorithmsMedium

Find the subtree with the highest sum, where nodes can have negative values. I noted that the problem might have specified a Binary Search Tree (BST), a detail I might have overlooked during the interview.

Q6
Best Time to Buy and Sell Stock (Variant)
Data Structures & AlgorithmsMedium

A variant of the 'Best Time to Buy and Sell Stock' problem series, requiring an optimal strategy to maximize profit.

Preparation Tips

My preparation primarily involved practicing the top 150 LeetCode problems. I found @codingwithminmer's playlist particularly helpful for tackling various coding challenges and their common variants.

Meta Full loop interview E5
meta logo
Meta
E5
July 22, 20253 reads

Summary

I completed coding, system design, and behavioral rounds for an E5 position at Meta.

Full Experience

Coding round 1: Array problems (one is from leetcode meta tagged) Coding round 2: tree problem(leetcode meta tagged with variant), binary search prbolem(leetcode meta tagged) System Design: Auction System Behavioral: as ususal questions

Interview Questions (1)

Q1
Design an Auction System
System Design

Design an auction system.

Meta screening. US/ MLE L5.
meta logo
Meta
MLE L5US
July 22, 202515 reads

Summary

I had a Meta screening for an MLE L5 role in the US. The interview included two coding questions: one specifically linked to a LeetCode problem, and another involving merging two sorted lists of intervals. Although I didn't fully complete the second problem, my focus on communication and the interviewer's guidance helped me advance to the full-loop interview.

Full Experience

Questions from Meta screening:

a) https://leetcode.com/problems/buildings-with-an-ocean-view/description/
b) Merge two lists having intervals. Lists are sorted by the first element of interval.

I did (a) well but wasn't able to fully code (b). I focussed on communicating my thought process well and the interviewer helped me in bringing back on track in (b).

Surprisingly, I got moved to the full-loop; though I am aware I need to step up my game like anything.

Interview Questions (2)

Q1
Buildings With an Ocean View
Data Structures & AlgorithmsMedium

You are given an integer array heights where heights[i] represents the height of a building at index i. You are looking for buildings that have an ocean view. A building has an ocean view if all the buildings to its right are strictly shorter. Return a list of the indices of buildings that have an ocean view, sorted in increasing order.

Q2
Merge Two Sorted Interval Lists
Data Structures & Algorithms

Merge two lists having intervals. Lists are sorted by the first element of interval.

Meta E5 product system design interview experience
meta logo
Meta
Senior Product Engineer (E5)
July 22, 20252 reads

Summary

I shared my recent system design interview experience at Meta for a Senior Product Engineer (E5) role, detailing two rounds that tested for E5 and E4 levels. The interviews included a complex combined design problem and a more straightforward one.

Full Experience

Hey everyone,

I wanted to share my recent experience from the system design loop at Meta for a Senior Product Engineer (E5) role. I hope this helps others prepare, and it's my way of giving back to this amazing community that has helped me so much.

A special thanks to "hellointerview" for their amazing content, which was instrumental in helping me prepare.

First, I want to share a key observation from my interviews. This is just my take, so feel free to share your own experiences in the comments.

Observation: The Two-Round Interview for Leveling

I had two system design rounds, which seems to be a common practice when Meta is trying to level a candidate between two roles (e.g., Mid-level E4 vs. Senior E5). My theory is that candidates whose leveling is clear beforehand may only get one round. For senior roles, however, it seems they need more data points to make a decision.

My reasoning comes from the significant difference in difficulty and ambiguity between the two problems I was given.

  • Round 1 (The E5 Test): This question was not a standard, standalone problem. It was a direct combination of two complex designs.
  • Round 2 (The E4 Test): This was a more straightforward, medium-difficulty question: "Design LeetCode Competitions."

It felt strongly like the first interview was designed to test me at the E5 level, while the second established a baseline at the E4 level. This gives the hiring committee flexibility to down-level a candidate but still extend an offer if they don't meet all the senior-level criteria.

The Combined-Problem Question

The prompt for my senior-level interview was:
"Design a system like Instagram that also features a real-time 'Trending Hashtags' leaderboard. This leaderboard should show the top 10 hashtags being used globally in the last hour, ranked by frequency."

This problem combines news-feed generation (with its fan-out complexities) and real-time stream processing for Top K aggregation. The expectation was to cover the full design process (FRs, NFRs, Schema, APIs, HLD) and then deep-dive into the trade-offs at the integration points between the two systems.

I managed to get through most of the required steps and did deep dives on the biggest bottlenecks I identified. It wasn't possible to cover every detail, but the recruiter's feedback was positive. My take is that the interviewers know it's a hard problem and adjust their expectations; they seemed satisfied that I addressed the highest-priority NFRs and challenges.

Interview Questions (2)

Q1
Design Instagram with Real-time Trending Hashtags Leaderboard
System DesignHard

The prompt for my senior-level interview was:
"Design a system like Instagram that also features a real-time 'Trending Hashtags' leaderboard. This leaderboard should show the top 10 hashtags being used globally in the last hour, ranked by frequency."

This problem combines news-feed generation (with its fan-out complexities) and real-time stream processing for Top K aggregation. The expectation was to cover the full design process (FRs, NFRs, Schema, APIs, HLD) and then deep-dive into the trade-offs at the integration points between the two systems.

Q2
Design LeetCode Competitions
System DesignMedium

This was a more straightforward, medium-difficulty question: "Design LeetCode Competitions."

Preparation Tips

For anyone interviewing for E5+ roles, my advice is to prepare for these curveballs. Here’s a structured approach:

  1. Master the Fundamentals: First, get comfortable with core concepts and how to resolve common system bottlenecks (scaling, latency, availability).
  2. Practice Individual Problems: Work through the standard design problems (like Ticketmaster, TinyURL, etc.) in isolation to build a strong foundation.
  3. Practice Combining Problems: This is the key step. Start thinking about how different systems could be merged. If you find it hard to come up with scenarios, use AI to help. You can give an LLM a list of individual problems and ask it to generate plausible combinations.

I was curious myself and used a prompt to see what other combos could exist, and the results were eye-opening. If anyone needs help with a prompt for that, just let me know!

Wishing you all the best in your interviews!

Meta E5 Interview Experience
meta logo
Meta
E56 years
July 19, 20254 reads

Summary

I interviewed for an E5 position at Meta, completing multiple rounds of DSA, System Design, and Behavioral questions. Unfortunately, I was rejected, partly due to not leaving enough time for the system design deep dive.

Full Experience

Hello everyone,

Current TC : 57 LPA
YOE : ~6

Sharing my full loop interview experience at Meta.

Round 1 (DSA)

: Able to code both within 40 minutes.

Round 2 (DSA)

: Able to code both within 40 minutes.

Round 3 (System Design)
Design a food delivery service like Uber Eats,

The interviewer was interested in the below functional requirements:
  • Users should be able to create an order for the food of their choice
  • Users should be able to view the order details.
  • The restaurant should be notified about the order and should be able to accept or reject it.
  • Users should receive a notification upon order confirmation.
  • After the order is confirmed, the system should notify delivery personnel and obtain acceptance from one of them.
  • Users should be able to track the delivery person in real time.
DAU: 100M

: While I completed the design within the allotted time(40 minutes), I didn't leave sufficient time for the interviewer to explore it in depth.

Round 4 (Behavioral)
- Standard Questions of Meta

Verdict - Rejected.

Interview Questions (6)

Q1
Best Time to Buy and Sell Stock
Data Structures & Algorithms
Q2
Group Shifted Strings
Data Structures & Algorithms
Q3
Valid Palindrome II
Data Structures & Algorithms
Q4
Vertical Order Traversal of a Binary Tree
Data Structures & Algorithms
Q5
Design a Food Delivery Service like Uber Eats
System Design

Design a food delivery service like Uber Eats,

The interviewer was interested in the below functional requirements:

  • Users should be able to create an order for the food of their choice
  • Users should be able to view the order details.
  • The restaurant should be notified about the order and should be able to accept or reject it.
  • Users should receive a notification upon order confirmation.
  • After the order is confirmed, the system should notify delivery personnel and obtain acceptance from one of them.
  • Users should be able to track the delivery person in real time.
DAU: 100M
Q6
Standard Meta Behavioral Questions
Behavioral

Standard Questions of Meta

Meta Software Engineer - Machine Learning
meta logo
Meta
Software Engineer - Machine Learning
July 17, 20251 reads

Summary

This post details a Meta Software Engineer - Machine Learning interview experience, focusing on two specific algorithm questions.

Full Experience

Q1) Find the buildings that have an ocean view. A building has an ocean view if any part of the building can see the ocean without being obstructed by another building.

Input = Array of numbers that represent the height of buildings.

Output = Return the indexes of the buildings that have ocean view

Example Input: [4, 3, 2, 3, 1] Output: [0, 3, 4]


Q2) Given a 2D array, print out its elements in diagonal order as shown in the below image. https://imgur.com/Ib0VUPO Example Input:

1, 2, 3 4, 5, 6 7, 8, 9

Interview Questions (2)

Q1
Buildings With an Ocean View
Data Structures & Algorithms

Find the buildings that have an ocean view. A building has an ocean view if any part of the building can see the ocean without being obstructed by another building.

Input = Array of numbers that represent the height of buildings.

Output = Return the indexes of the buildings that have ocean view

Example Input: [4, 3, 2, 3, 1] Output: [0, 3, 4]

Q2
Diagonal Traverse of 2D Array
Data Structures & Algorithms

Given a 2D array, print out its elements in diagonal order as shown in the below image. https://imgur.com/Ib0VUPO Example Input:

1, 2, 3 4, 5, 6 7, 8, 9

Interview experience
meta logo
Meta
July 13, 20255 reads

Summary

My interview with Meta approximately two weeks ago resulted in not being selected, covering coding and network topics.

Full Experience

My interview was around 2 weeks ago with Meta.

result: not selected

phone screen:

coding- battleship with returning coordinates

network- osi, tcp deep dive, bgp overview & basic troubleshooting of day to day issues

Interview Questions (2)

Q1
Battleship with Returning Coordinates
Data Structures & Algorithms

I was asked to implement a coding solution for the game Battleship, focusing on returning coordinates.

Q2
OSI, TCP Deep Dive, BGP, and Network Troubleshooting
System Design

I was tested on my knowledge of the OSI model, a deep dive into TCP, an overview of BGP, and basic troubleshooting for day-to-day network issues.

Meta E5 Full Loop
meta logo
Meta
E5
July 9, 20253 reads

Summary

I went through a full-loop interview at Meta for an E5 role. Despite some preparation, I felt it was insufficient due to personal commitments, leading to a difficult experience where I struggled with several coding problems and ultimately do not expect an offer.

Full Experience

Initial Call

I got the initial screening call and was asked to schedule my phone screen ASAP. I scheduled it a month out from when I got the initial call, thinking I'd have enough time to get well practiced. Other things took priority so, as I've documented below, I only spent about ~21 hours of proper practicing over those intiial four weeks.

Phone Screen

Prep time: ~21 hours total

https://leetcode.com/problems/diameter-of-binary-tree
- Solved pretty quick, no issues. Got asked about the space complexity and I probably got it wrong.

https://leetcode.com/problems/the-maze
- Explained solution, did not have time to code it out (expected to fail at this point)

Surprise, two days later I got the email that I was invited to the full loop. Again, I booked this loop out as far as possible (about four weeks) to try and get more time to study. I spent ~40 hours grinding LC over these four weeks but it was just not enough.

Full Loop

Prep time: ~40 hours total

Product Architecture

Design Online Judge (Like Leetcode)
- Think I did well here, followed helloInterview's process and was able to get into two deep-dives once the initial implementation was designed.

Coding Challenges

https://leetcode.com/problems/range-sum-of-bst
- I hadn't seen this problem before but understand tree traversal well so was a non-issue. Solved this one pretty fast, no problem. I gave $$O(N)$$ complexity considering the worst case, but I got asked about the best case, which I couldn't remember off the top of my head for binary trees- it's $$O(logN)$$ btw

And a variant of:
https://leetcode.com/problems/merge-intervals
- Somehow despite all the prep I've done, haven't seen this problem or variants and didn't prep for it, so basically froze trying to think of an implementation. Nerves always get to me in these interviews. Found the problem on LC, and looked at the solution and am kicking myself at how striaghtforward it is.

I pretty much gave up after this- stopped prep, stopped practicing, stopped reviewing anything, and just figured the rest of my loop will be a good practice interview set.

For scheduling reasons, I had a full week between my Day 1 and 2 interviews. I could have spent this time sharpening up but I was discouraged and so I just essentially gave up.

Day 2

Behavioral

Most folks skip over these but I thought they might be valuable. I think I did okay on them but my morale was super low so my responses were pretty low effort.
- Tell me about a result you achieved for your team that you are most proud of.
- Can you tell me about the most difficult working relationship that you’ve had?
- Can you tell me about a time where you faced pushback regarding your approach on a project?
- Can you tell me about a time where you needed to act quickly on something but didn’t have a clear idea of how to proceed?
- Can you tell me about a time where you faced a significant setback that forced you to re-prioritize your work?
- Can you tell me about a time a peer or manager gave you specific, actionable feedback for improvement?
- Can you tell me about feedback you’ve given to a more junior engineer or peer?

Coding

https://leetcode.com/problems/valid-palindrome-ii/
- Forgot the recursive solution and just fumbled around something super messy until the interviewer stopped me for the next problem.

https://leetcode.com/problems/valid-word-abbreviation/
- Managed to get a solution written and started testing it, after the interview I found a few bugs in my code. Seriously ready to just kms at this point.

Product Architecture

Design CamelCameCamel
- Again, probably did okay here, got through the initial design and into a couple of deep dives. Honestly I was just ready for the whole thing to be over at this point.


In summary, I'm glad it's finally over. I definitely didn't invest enough time in prep, and I knew that going into the loop, so set myself up to fail. I've got a newborn, a full-time job, and I'm in the middle of getting my Masters degree, so there was really no way I could devote enough time to this. Not feeling too bad about it, definitely not expecting an offer.

Good luck out there, see you in about a year when I get my yearly callback.

Interview Questions (15)

Q1
Diameter of Binary Tree
Data Structures & Algorithms
Q2
The Maze
Data Structures & Algorithms
Q3
Design Online Judge (Like Leetcode)
System Design

Design Online Judge (Like Leetcode)

Q4
Range Sum of BST
Data Structures & Algorithms
Q5
Merge Intervals (Variant)
Data Structures & Algorithms

A variant of Merge Intervals.

Q6
Result Achieved
Behavioral

Tell me about a result you achieved for your team that you are most proud of.

Q7
Difficult Working Relationship
Behavioral

Can you tell me about the most difficult working relationship that you’ve had?

Q8
Faced Pushback on Project Approach
Behavioral

Can you tell me about a time where you faced pushback regarding your approach on a project?

Q9
Act Quickly Without Clear Idea
Behavioral

Can you tell me about a time where you needed to act quickly on something but didn’t have a clear idea of how to proceed?

Q10
Significant Setback and Reprioritization
Behavioral

Can you tell me about a time where you faced a significant setback that forced you to re-prioritize your work?

Q11
Received Actionable Feedback
Behavioral

Can you tell me about a time a peer or manager gave you specific, actionable feedback for improvement?

Q12
Given Feedback to Junior Engineer/Peer
Behavioral

Can you tell me about feedback you’ve given to a more junior engineer or peer?

Q13
Valid Palindrome II
Data Structures & Algorithms
Q14
Valid Word Abbreviation
Data Structures & Algorithms
Q15
Design CamelCameCamel
System Design

Design CamelCameCamel

Preparation Tips

I spent approximately 21 hours practicing for the phone screen and an additional 40 hours grinding LeetCode for the full loop, following helloInterview's process for product architecture. However, due to personal commitments like a newborn, a full-time job, and a Masters degree, I felt my preparation was insufficient and I gave up practicing between interview days.

Meta E5 MLE - full round
meta logo
Meta
MLE
July 9, 20253 reads

Summary

I interviewed for an E6 MLE position at Meta, which was later downgraded to E5. The interview process included a phone screen, two data structures and algorithms rounds, a behavioral round, and a system design round focused on Instagram reel recommendations. My third round, involving a Merge K Sorted Lists variant, did not go well.

Full Experience

Phone round:

  • Custom Sort String
  • Find peak element
  • 15 mins behavioral (as I was interviewing for E6) The downgraded to E5 after this.

Round 1:

  • Remove 1 character to find palindrome
  • Shortest path in binary matrix

Round 2:

  • A project that didnt go well
  • A project that went well
  • How do you deal with difficult co-worker
  • A feedback was given and you took action on it

Round 3: Interviewer had a quality assurance person with him who was off-camera.

  • Merge k sorted lists (LC hard)
  • Variant of merge intervals; Detect most overlapping numbers

This one didnt go well. They conducted in a different way and wanted me to come up with the optimized solution for LC hard. Didnt let me write the code at all for the first one, while asking for Time, space complexity on every possible solution suggestion.

Round 4: Instragram reel recommendation

Interview Questions (12)

Q1
Custom Sort String
Data Structures & Algorithms

Custom Sort String

Q2
Find Peak Element
Data Structures & Algorithms

Find peak element

Q3
Behavioral Questions for E6
Behavioral

15 minutes of behavioral questions were asked, as I was interviewing for an E6 role.

Q4
Remove One Character to Form Palindrome
Data Structures & Algorithms

Given a string, determine if it can be a palindrome by removing at most one character.

Q5
Shortest Path in Binary Matrix
Data Structures & Algorithms

Shortest path in binary matrix

Q6
Project That Didn't Go Well
Behavioral

Describe a project that didn't go well.

Q7
Project That Went Well
Behavioral

Describe a project that went well.

Q8
Dealing with Difficult Co-workers
Behavioral

How do you deal with difficult co-workers?

Q9
Acting on Feedback
Behavioral

Describe a situation where you were given feedback and took action on it.

Q10
Merge K Sorted Lists
Data Structures & AlgorithmsHard

Merge k sorted lists.

Q11
Variant of Merge Intervals: Detect Most Overlapping Numbers
Data Structures & Algorithms

A variant of the merge intervals problem, focused on detecting the most overlapping numbers.

Q12
Instagram Reel Recommendation System Design
System Design

Design a system for Instagram reel recommendation.

Meta | Phone Screen | Passed Next Day
meta logo
Meta
July 8, 20255 reads

Summary

This post details an anonymous candidate's phone screen experience at Meta, where they successfully passed after solving two variant LeetCode problems.

Full Experience

Hey y'all, sharing a recent interview experience on behalf of anonymous. This ain't me but I hope these data points help. OP was asked the variants, not the OG - so, I linked the variant posts below.


I don't know information beyond this, but if you have pressing questions, I can ask anonymous.

Good luck with your studies!

Interview Questions (2)

Q1
Binary Tree Left and Right Side Views
Data Structures & AlgorithmsMedium

What if you had to return the left and right side views of a binary tree?

Q2
Kth Missing Positive Number Variant (Leftmost)
Data Structures & AlgorithmsEasy

What if you had to return the missing number from the leftmost element?

Meta E5 interview experience (Rejected)
meta logo
Meta
E5
July 8, 20253 reads

Summary

I recently went through the full Meta interview loop for an E5 role, which included a screening round, two coding interviews, a product architecture system design round, and a behavioral interview. Despite performing well on some technical aspects, I was ultimately rejected with feedback to strengthen technical skills across the board.

Full Experience

Hey everyone,

I recently went through the full Meta interview loop and got rejected in the end, wanted to share my experience for anyone preparing, especially if you’re grinding LeetCode from scratch like I did.

Screening:

LC408 — Valid Word Abbreviation (with a follow-up: “What if there are two abbreviations over one word?”)

LC528 — Random Pick with Weight

Onsite / Full Loop:
Product Architecture:

I got a Dropbox-style system design. Went well, similar to the classic hello-interview Dropbox question.

Coding Interview 1:

LC227 — Basic Calculator II: I knew the optimal solution and explained it, but got stuck validating my code during the interview. The interviewer helped a bit. I missed an edge case in an if but fixed it immediately.

LC670 — Maximum Swap: Said the optimal approach, coded it with a few minor bugs but nothing major, I validated & fixed on the go. I used a map to store digit indices and looped from 9→0 to find swaps. The interviewer pushed me to optimize further. I think he wanted an early exit once no bigger digit exists. Eventually did it, went fine.

Coding Interview 2:

LC88 — Merge Two Sorted Arrays: Explained optimal, wrote code. The interviewer asked “did you miss anything?” in a confusing way — it threw me off, I added unnecessary code, then removed it when I realized. Overall okay.

LC138 — Copy List with Random Pointer: Said the 2-pass hash map approach. The interviewer pushed me to optimize. I didn’t understand at first, but he wanted the in-place single-pass version where you interleave new nodes into the original list. Eventually got it.

Behavioral:

Project I’m proud of

Dealing with ambiguity

Growth mindset

A boss I had issues with (or something similar)
Felt fine here.

Product Architecture (final):
Surprised me — it was about a catalog with items and images. There’s an external blackbox to validate items aren’t weapons/illegal. I gave a high-level API design, explained image uploads with presigned URLs, but didn’t reach non-functionals due to time.

Result:
Rejected. No detailed feedback — just “strengthen technical skills across the board.”

Interview Questions (9)

Q1
Valid Word Abbreviation
Data Structures & Algorithms

LC408 — Valid Word Abbreviation (with a follow-up: “What if there are two abbreviations over one word?”)

Q2
Random Pick with Weight
Data Structures & Algorithms

LC528 — Random Pick with Weight

Q3
Dropbox-style System Design
System Design

I got a Dropbox-style system design. Went well, similar to the classic hello-interview Dropbox question.

Q4
Basic Calculator II
Data Structures & Algorithms

LC227 — Basic Calculator II

Q5
Maximum Swap
Data Structures & Algorithms

LC670 — Maximum Swap

Q6
Merge Two Sorted Arrays
Data Structures & Algorithms

LC88 — Merge Two Sorted Arrays

Q7
Copy List with Random Pointer
Data Structures & Algorithms

LC138 — Copy List with Random Pointer

Q8
Behavioral Questions
Behavioral

Project I’m proud of
Dealing with ambiguity
Growth mindset
A boss I had issues with (or something similar)
Felt fine here.

Q9
Catalog System Design with External Validation
System Design

Surprised me — it was about a catalog with items and images. There’s an external blackbox to validate items aren’t weapons/illegal. I gave a high-level API design, explained image uploads with presigned URLs, but didn’t reach non-functionals due to time.

Preparation Tips

What I learned:
Studying 1.5 months from scratch works — but you NEED to push for edge-case handling & optimizations.
ChatGPT helps a lot, but doesn’t always push for the top-level optimal version interviewers expect. Same with YouTube (NeetCode is great for base solutions but maybe not for deeper optimizations).
System design: Don’t expect only standard designs.
Coding: It’s not just about solving — it’s about clean code, validating on the fly, and actively searching for better space/time trade-offs, even if the base solution “works.”

My prep guide:
💻 DSA:

I did NeetCode 150 (skipped DP and advanced graphs like Dijkstra).

For Meta-specific questions, I used this amazing list — highly recommend: Meta Variant Compilation
https://leetcode.com/discuss/post/6615244/meta-variant-compilation-by-codingwithmi-0pm7/

🛠️ System Design:

I used helloInterview.com, bought the premium version. Their guided practice (LLM) was really solid and helped me practice frameworks for structured answers.

🗣️ Behavioral:

I used helloInterview’s story builder — made 6 stories and practiced reusing them. One thing: it didn’t cover the “boss you didn’t like” question, so prep that separately.

Final tip:
Go deeper than “accepted” — always ask how to make it more optimal. That’s what Meta really pushes for.

Good luck to everyone!

Meta Unknown Leetcode || Stickers to Create Poster
meta logo
Meta
July 6, 20258 reads

Summary

This post describes a variant of LeetCode 691, 'Stickers to Spell Word,' often encountered in Meta interviews. The specific twist involves using only a single sticker to recreate a target poster, which the author notes simplifies the original problem.

Full Experience

Hey y’all, got a solution for a variant of LC691 Stickers to Spell Word. Now, Meta will never ask you the OG problem but rather, this prompt: what if you only had one sticker? How many stickers do you minimally need to recreate the poster?

Although there are a few edge cases, this actually simplifies the original problem. Wishing everyone good luck on their interviews!

Check it out (or not!):

Unknown Leetcode, Stickers to Create Poster (Link)

PROBLEM_2.png


Reference to all of the Meta Variants, Playlists & Unknowns: https://leetcode.com/discuss/post/6615244/meta-variant-compilation-by-codingwithmi-0pm7/

Interview Questions (1)

Q1
Stickers to Spell Word (Single Sticker Variant)
Data Structures & Algorithms

This problem is a variant of LeetCode 691, 'Stickers to Spell Word'. The specific prompt is: Given a target string target and a single sticker string sticker, determine the minimum number of times this one sticker needs to be used to recreate the target string. The post implies this simplifies the original problem. An illustrative image is also provided: PROBLEM_2.png

Meta Variants for LC76 & LC317 (Minimum Substring Window & Shortest Distance from All Buildings)
meta logo
Meta
July 1, 20254 reads

Summary

I conducted a mock phone screen interview covering Meta variants of LeetCode Hard problems LC76 (Minimum Window Substring) and LC317 (Shortest Distance From All Buildings).

Full Experience

Hey y’all, Summer and I did another mock phone screen interview, this time going over two Leetcode Hards: LC76 Minimum Window Substring and LC317 Shortest Distance From All Buildings. IMO an interview format was the most efficient way to cover these two problems, both of which will be rephrased in your actual interview:

As you’ll see, LC76’s input will be the following:

Input:
sentence = ['is', 'one', 'ok', 'you', 'the', 'frog', 'ok', 'one', 'the', 'you', 'is', 'not', 'frog']
words = ['is', 'you', 'frog']

Output: "you is not frog"

For LC317, it’ll be reworded where you’re trying to place the optimal well in a 2D matrix where a T represents a tree and an H represents a house.

Check it out (or not!):

Leetcode 76 & Leetcode 317 (Link)

Meta_Coding_Interview.jpg

As always, good luck on your interviews!!


Reference to all of the Meta Variants, Playlists & Unknowns: https://leetcode.com/discuss/post/6615244/meta-variant-compilation-by-codingwithmi-0pm7/

Please note the coderpad.io settings and tools utilized in the video is exactly what you should expect in a Meta interview.

And yes, being asked 2 Hard LC in a phone screen is unlikely but possible - another combo I see is LC987 and LC317. Or others with LC827, or LC282 (but rarely).

Interview Questions (2)

Q1
Minimum Window Substring - Words in Sentence
Data Structures & AlgorithmsHard

Given a sentence as an array of words and a target array of words, find the minimum window substring (contiguous words) in the sentence that contains all words from the target array, maintaining order of words in the sentence. Original LC76's input will be rephrased: Input:

sentence = ['is', 'one', 'ok', 'you', 'the', 'frog', 'ok', 'one', 'the', 'you', 'is', 'not', 'frog']
words = ['is', 'you', 'frog']

Output: "you is not frog"

Q2
Shortest Distance from All Buildings - Optimal Well Placement
Data Structures & AlgorithmsHard

Reworded problem where you're trying to place the optimal well in a 2D matrix. A 'T' represents a tree and an 'H' represents a house. Goal is to find a location to place a 'well' (implied, where the distance from all houses is minimized, avoiding trees), similar to Leetcode 317 Shortest Distance From All Buildings.

Preparation Tips

I referenced the Meta Variants, Playlists & Unknowns compilation: https://leetcode.com/discuss/post/6615244/meta-variant-compilation-by-codingwithmi-0pm7/. I also noted that the coderpad.io settings and tools utilized in the video are exactly what to expect in a Meta interview. I learned that being asked two Hard LeetCode problems in a phone screen is unlikely but possible, with other common combinations being LC987 and LC317, or LC827, or LC282.

Meta Interview Experience (London E5 Infra)
meta logo
Meta
E5 InfraLondon
June 30, 20254 reads

Summary

I shared my Meta E5 Infra interview experience in London, detailing phone screen, DSA, System Design, and Behavioral rounds, ultimately receiving an E4 offer.

Full Experience

Giving back to the community where I got all the resources from

Phone Screen
1) Diagonal Traversal of matrix (LC 498) :
Similar to LC 498, but didn't need to flip the direction of traversal for each diagonal (so easier version of leetcode question).
2) LC 408 variant.(was asked the leetcode question first and after the approach was provided, he went with the followup which was varaiant)
both word and abbr can be patterns.

Solved first question and gave approach to the follow up for second but didnt have time to finish the question.

Got selected for the onsite rounds

DSA1
1) vertical order traversal (LC 314)
2) K Closest points to origin LC 973

Solved both the questions

DSA2
1) Some max K question (classic miHeap type question, dont remmeber exactly)
2) a variant of two sum

Solved both the questions

System Design
1) Adclick aggregator

Behavioural
Dont remember the questions but the usual behavioural questions.

Got offered E4 (downlevelled) position. Team matching pending but can take time.

Interview Questions (7)

Q1
Diagonal Traversal of Matrix (Easier Variant of LC 498)
Data Structures & AlgorithmsMedium

Similar to LC 498, but didn't need to flip the direction of traversal for each diagonal (so easier version of leetcode question).

Q2
Word Abbreviation Variant (LC 408 - Both Word and Abbr Patterns)
Data Structures & AlgorithmsEasy

LC 408 variant. both word and abbr can be patterns.

Q3
Vertical Order Traversal of a Binary Tree (LC 314)
Data Structures & AlgorithmsMedium

vertical order traversal (LC 314)

Q4
K Closest Points to Origin (LC 973)
Data Structures & AlgorithmsMedium

K Closest points to origin LC 973

Q5
Max K Problem (MinHeap Type)
Data Structures & AlgorithmsMedium

Some max K question (classic miHeap type question, dont remmeber exactly)

Q6
Two Sum Variant
Data Structures & AlgorithmsEasy

a variant of two sum

Q7
Adclick Aggregator System Design
System Design

Adclick aggregator

Preparation Tips

You will defintely only have 35mins no matter the round, so make sure you prepare for it that way. You need to solve both questions in the most efficient approach for onside DSA's.
DSA:

DSA questions are repeated by meta, so definitely look into meta's recently asked questions and meta tagged leetcode questions.

Special shout out to codingwithminmer. May god bless you for all the effort you are doing to help out people with your youtube channel and clearing doubts over all the meta tagged posts.

Definitely go over codingwithminmer's playlist of meta questions and variants. If you aren't doing this you are definitely not giving your 100% for your preparation.

System Design
Hello Interview.
I have taken premium , I did like the Guided Practice section of the premium. It does help in simulating kind of an interview experience and gave me pretty good confidence. Even if you dont take the premium, hello interview is still the goto.

Meta Full-loop questions
meta logo
Meta
June 29, 20254 reads

Summary

I am sharing the full-loop interview questions I encountered at Meta, covering system design, behavioral, and two coding rounds.

Full Experience

Hi, I am giving back to the community by sharing full loop questions.

System Desgin: desgin place recommender near user

Behavioral interview: normal questions; examples of success, what you learn from them ..etc

  • coding interview 1 (mid, hard):

    • weighted sum of nested list LC339
    • minimum flood level to remove all paths: similar to LC778
  • coding interview 2 (mid, mid):

    • departure and return flights , given two arrays find the cheapest round flight
    • merge intervals LC986

Interview Questions (6)

Q1
Design Place Recommender Near User
System Design

Design a system for recommending places near a user.

Q2
Behavioral Questions: Success and Learning
Behavioral

Standard behavioral questions, specifically focusing on examples of success and lessons learned from experiences.

Q3
Nested List Weight Sum
Data Structures & Algorithms

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer or a list (whose elements may also be integers or other lists). (Problem similar to LeetCode 339)

Q4
Swim in Rising Water (Minimum Flood Level)
Data Structures & Algorithms

Find the minimum flood level such that you can swim from the top-left to the bottom-right of a grid. (Problem similar to LeetCode 778)

Q5
Cheapest Round Flight
Data Structures & Algorithms

Given two arrays representing departure flights and return flights, find the cheapest round trip flight.

Q6
Interval List Intersections
Data Structures & Algorithms

Given two lists of closed intervals, each list of intervals is pairwise disjoint and in sorted order. Return the intersection of these two interval lists. (Problem similar to LeetCode 986)

Meta | Onsite | Awaiting Results
meta logo
Meta
June 23, 20255 reads

Summary

I shared a recent interview experience at Meta on behalf of an anonymous candidate, covering multiple LeetCode problems, behavioral questions, and a system design problem.

Full Experience

Hey y'all, sharing a recent interview experience on behalf of anonymous. This ain't me but I hope these data points help!

Q1: LC199 Binary Tree Right Side View
Variant: what if you had to return the left and right side views?
It was noted that BFS was used and accepted.

Q2: LC1047 Remove All Adjacent Duplicates
Variant: 1D Candy Crush.

Q3: LC346 Moving Average from a Data Stream
Variant: The input is given upfront so use a rolling window.
I could be misinterpreting here and the candidate could've been asked the OG (in which a queue is the solution) but I've almost never seen the latter asked.

Q4: LC23 Merge K Sorted Lists
Variant: It's a list of integers. A heap was used instead of the divide-and-conquer, and it was acceptable.

Behavioral: It was questions around handling conflict, demonstrating leadership, mentorship experiences and "What project are you most proud of?"

System Design: Design Proximity Server


I don't know information beyond this, but if you have pressing questions, I can ask anonymous!

Good luck with your studies!

Interview Questions (6)

Q1
Binary Tree Right Side View with Left/Right Variant
Data Structures & Algorithms

LC199 Binary Tree Right Side View
Variant: what if you had to return the left and right side views?

Q2
Remove All Adjacent Duplicates (1D Candy Crush Variant)
Data Structures & Algorithms
Q3
Moving Average from a Data Stream (Rolling Window Variant)
Data Structures & Algorithms

LC346 Moving Average from a Data Stream
Variant: The input is given upfront so use a rolling window.
I could be misinterpreting here and the candidate could've been asked the OG (in which a queue is the solution) but I've almost never seen the latter asked.

Q4
Merge K Sorted Lists (List of Integers Variant)
Data Structures & Algorithms

LC23 Merge K Sorted Lists
Variant: It's a list of integers.

Q5
Behavioral Questions
Behavioral

Questions around handling conflict, demonstrating leadership, mentorship experiences and "What project are you most proud of?"

Q6
Design Proximity Server
System Design

Design Proximity Server

Meta Phone Interview
meta logo
Meta
London
June 20, 20253 reads

Summary

I had a phone interview with Meta in London where I was asked two questions. I successfully solved the first question but ran out of time for the second, and unfortunately, did not advance to the next round.

Full Experience

Location : London

Got 2 questions :

1.Minimum flight cost.

2.Given a mouse with 2 APIs in a maze. Design an algorithm to find a cheese in the maze using only the 2 given APIs shown below :

hasCheese()

move()


I was able to solve the 1st question completely.

Ran out of time for 2nd question.


Unfortunately, could not make it to next round.

Would like give a shout out to Mimner for his work in explaining all the different Meta variants.

Interview Questions (1)

Q1
Mouse in a Maze with APIs
Data Structures & Algorithms

Given a mouse with 2 APIs in a maze. Design an algorithm to find a cheese in the maze using only the 2 given APIs shown below :

hasCheese()

move()

Meta interview experience: E4/E5
meta logo
Meta
E4/E57 years
June 20, 20255 reads

Summary

I recently completed my full loop interview rounds with Meta for an E4/E5 role. Despite positive feedback on my system design and behavioral rounds, I was rejected primarily due to my performance in the coding rounds.

Full Experience

Hello everyone,

I recently completed my full loop interview rounds with Meta. I have not heard from the recruiter yet. My first coding round very nice -- told the optimised solutions for both of the questions asked but for the second coding round in second question, I was able to code up the brute force solution but could not tell the optimized solution despite of hints given.

For system design interview, I was able to answer all the cross questions asked but I feel, I could not cover a lot of deep dives I had thought of covering in 40 minutes.

Behaviorial round went pretty good.

Recruiter has not yet informed about the level. I am seven years of experience total. The level should be either E4/E5.

What could be my chances of getting through?

Update:
It was a reject :( majorly due to coding rounds. The feedback for system and behavoirial rounds was a HIRE call.

Sharing the questions here:

Phone Screen:
Q1) Return T/F if a given string is a number.
Example: "123", "123.", ".123", "1.2.3"
Q2) Find the valley in a given array -- Return the index which is strictly less than its neighbours

Coding1:
Q1) https://stackoverflow.com/questions/69995292/algorithm-question-finding-the-cheapest-flight
Q2) https://leetcode.com/problems/mice-and-cheese/

Coding2:
Q1) http://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree-iii/description/
Q2) https://leetcode.com/problems/shortest-path-in-binary-matrix/description/ (Expected tc: O(n^2))

System Design:
Design a system similar to Leetcode

All the best everyone!

Interview Questions (7)

Q1
Validate If String Is Number
Data Structures & Algorithms

Return T/F if a given string is a number. Example: "123", "123.", ".123", "1.2.3"

Q2
Find Valley in Array
Data Structures & Algorithms

Find the valley in a given array -- Return the index which is strictly less than its neighbours

Q3
Finding the Cheapest Flight
Data Structures & Algorithms

See linked StackOverflow question for details.

Q4
Mice and Cheese
Data Structures & Algorithms

See linked LeetCode problem for details.

Q5
Lowest Common Ancestor of a Binary Tree III
Data Structures & Algorithms

See linked LeetCode problem for details.

Q6
Shortest Path in Binary Matrix
Data Structures & Algorithms

See linked LeetCode problem for details. Expected time complexity: O(n^2)

Q7
Design LeetCode
System Design

Design a system similar to Leetcode.

Meta Phone Interview
meta logo
Meta
US
June 16, 20252 reads

Summary

I had a phone interview with Meta, where I was asked two medium-difficulty questions: Diameter of Binary Tree and a problem similar to Kth Smallest Element in a Sorted Matrix. I moved to the onsite round.

Full Experience

Location: US

Got two questions.

Q1. Diameter of Binary Tree. [medium]
Q2. Non Tagged question but similar to Kth Smallest Element in a Sorted Matrix [medium]

Verdict: Moved to Onsite

Hope it is useful. All the best!

Interview Questions (2)

Q1
Diameter of Binary Tree
Data Structures & AlgorithmsMedium

The problem asked for the Diameter of Binary Tree.

Q2
Problem Similar to Kth Smallest Element in a Sorted Matrix
Data Structures & AlgorithmsMedium

The problem was similar to Kth Smallest Element in a Sorted Matrix.

Meta Phone screening ML/AI London
meta logo
Meta
ML/AILondon
June 15, 20253 reads

Summary

I had a phone screening with Meta for an ML/AI role in London. The interview included two Data Structures & Algorithms questions: one on making parentheses valid by removing minimum characters, and another on finding the Lowest Common Ancestor of two nodes in a binary tree, perceived as similar to finding an intersection of linked lists due to the input format. I successfully moved to the full loop after this interview.

Full Experience

Meta Phone screening

1- count all paranthese you need to remove to make a valid parenthese. I solved with loop and counting open and closed parentheses.

2- LC236 find lowest common ancestor of two nodes in binary tree. I solved it with map - TC O(N) SC O(N) ).

update -- in fact the question I got was similar to LC160 because they gave the nodes as input. --

as a follow up I discussed the optimal solution with O(1) SC

the idea being to determine the depth of the nodes and then move pointers accordingly. the interviewer did not ask me to code it.

feedback:

  • I was nervous so I named the functions to solve the problems func .. feedback told me the naming was bad
  • in problem 2 interviewer asked me if i want to do a dry run and if everything ok, I said yeah it is ok, then he mentioned an edge case and asked me what would be the output then I realized that i had a bug in the condition

I moved to full loop

Interview Questions (2)

Q1
Minimum Parentheses to Make Valid
Data Structures & Algorithms

count all paranthese you need to remove to make a valid parenthese.

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & Algorithms

Find lowest common ancestor of two nodes in a binary tree. The question was similar to LeetCode 160 (Intersection of Two Linked Lists) because only the two nodes were given as input.
As a follow up, the optimal solution with O(1) SC was discussed, which involves determining the depth of the nodes and then move pointers accordingly.

Meta Phone Screen
meta logo
Meta
June 15, 20251 reads

Summary

I successfully cleared my phone screen interview at Meta, answering two specific LeetCode problems and their follow-ups, and have been selected for on-site.

Full Experience

Q1: https://leetcode.com/problems/merge-sorted-array/description/
Follow-up: Can you merge starting from the beginning of each array instead of from the end? Yes/no - explain with examples.
Also, the size of the arrays were not given.

Q2: https://leetcode.com/problems/group-shifted-strings/description/?envType=company&envId=facebook&favoriteSlug=facebook-thirty-days
No time for follow-ups

Verdict: Selected for on-site.

Interview Questions (2)

Q1
Merge Sorted Array
Data Structures & Algorithms

Merge Sorted Array. Follow-up: Can you merge starting from the beginning of each array instead of from the end? Yes/no - explain with examples. Also, the size of the arrays were not given.

Q2
Group Shifted Strings
Data Structures & Algorithms

Group Shifted Strings. No time for follow-ups.

Preparation Tips

  • Eat and breath the top 150 Meta tagged questions.
  • Make sure to handle all the edge cases - even the trivial ones. E.g., what will happen if the size of the array is 0, 1 etc.
  • Always trace your code with the examples given. Then try to come up with some your own test cases if possible.
  • Explain your code line-by-line while writing and explain why you are doing it. For example, if I use a defaultdict instead of normal dicttionary, just explain why you are doing that and how it will help. You can do this while writing the code itself.
  • Time management is the key. And to manage time, you should practice the questions really well. I had submitted the above two problems at least 5 times in the last week.
Meta E5 London Interview Details
meta logo
Meta
London
June 12, 20253 reads

Summary

I interviewed for an E5 role at Meta in London and was assessed on Data Structures & Algorithms, System Design, and Behavioral aspects through various rounds.

Interview Questions (9)

Q1
Average of Subarrays of Length K
Data Structures & Algorithms

Given an array, find the average of all contiguous subarrays of a specific length K.

Q2
Copy List with Random Pointer
Data Structures & Algorithms
Q3
Valid Palindrome
Data Structures & Algorithms
Q4
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms
Q5
Binary Tree Vertical Order Traversal
Data Structures & Algorithms
Q6
Merge Intervals
Data Structures & Algorithms
Q7
Diameter of Binary Tree
Data Structures & Algorithms
Q8
Basic Calculator II
Data Structures & Algorithms
Q9
Design a Video Streaming Service (Netflix-like)
System Design

Design a video streaming service similar to Netflix, capable of viewing videos, resuming playback from where users left off, and recommending movies based on user interests.

Preparation Tips

Thanks to Hello Interview for System Design Preparations!

Meta E4 SWE Experience - US [Offer / Accepted]
meta logo
Meta
E4 SWEUS5 years
June 12, 20253 reads

Summary

I successfully interviewed for an E4 SWE role at Meta in the US, securing an offer after completing a phone screen and a 5-round onsite, which included coding, system design, and behavioral questions.

Full Experience

I was reached out to by a recruiter a few months back to apply for E4. We had a call to review my resume, then I was moved to the phone screen stage. I elected for a month to prepare for the phone screen. I was already prepping using Neetcode 150 for about two months prior at this point.

Phone Screen Two questions:

  • palindrome/anagram grouping with follow ups ( can't quite remember now )
  • [med] variant of i18n / valid abbreviation - input is two Strings, check if it's a valid abbreviation. both inputs can have numbers.

I got feedback within a few days that I was accepted for onsite. I requested a few more weeks to prepare. My prep split at this point was ~40% LC (felt pretty cracked in LC at this point), 55% system design (super weak here), and rest in behavioral (1-2 day of prep).

I had 5 rounds - 2 system design (1 practice), 2 coding, 1 behavioral

Onsite

  • Round 1 [Coding] [med] given an integer, find the smallest integer you can make by swapping at most 2 digits [hard] exp add ops

  • Round 2 [Coding] [med] - insert into circular LL [med] diameter n-ary tree

  • Round 3 [Behavioral] standard - conflicts, prioritization, sell yourself on biggest project

  • Round 4 [System design] heavy hitters / Top K. Follow up - what if instantaneous results weren't in scope. how would you change the design

  • Round 5 [System design] Design ticket booking system, emphasis on atomic operations, etc.

Result About 2 weeks after, I was given the green light that I was moved to team matching.

Interview Questions (9)

Q1
Palindrome/Anagram Grouping
Data Structures & Algorithms

Group palindromes and anagrams, with follow-up questions.

Q2
Valid Abbreviation Check
Data Structures & AlgorithmsMedium

Given two strings, check if one is a valid abbreviation of the other. Both input strings can contain numbers.

Q3
Smallest Integer by Swapping At Most 2 Digits
Data Structures & AlgorithmsMedium

Given an integer, find the smallest integer you can make by swapping at most 2 digits.

Q4
Expression Add Operators
Data Structures & AlgorithmsHard

Problem related to expression add operators.

Q5
Insert into Circular Linked List
Data Structures & AlgorithmsMedium

Insert a node into a circular linked list.

Q6
Diameter of N-ary Tree
Data Structures & AlgorithmsMedium

Find the diameter of an N-ary tree.

Q7
Behavioral Questions (Conflicts, Prioritization, Biggest Project)
Behavioral

Standard behavioral questions covering topics like handling conflicts, prioritization, and describing your biggest project.

Q8
System Design: Heavy Hitters / Top K
System Design

Design a system for identifying heavy hitters or Top K elements. Follow-up question: How would the design change if instantaneous results were not in scope?

Q9
System Design: Ticket Booking System
System Design

Design a ticket booking system with an emphasis on atomic operations.

Preparation Tips

Reflection

  • If you're doing Meta, tagged tagged tagged. Get to at the VERY least 75 problems last 30d/3mo/6mo, and know the top 50 by heart. I was at a state where given the title, I could immediately code the most optimal solution and talk through it end to end. I got to about 80 where I could do end to end easily and didn't feel comfortable tbh- I got super lucky with my q's. I'd go to at minimum 100 to feel at least somewhat okay.

  • Communication is key - you can breeze through impl but if you're a mime then you won't pass. There were some slip ups I had, where I fumbled a bit on answering follow-ups, etc. but I think my communication was quite good during the impl which helped a lot at least.

  • Don't skip behavioral - I felt pretty okay talking through behavioral as I have pretty good stories from my experience. Bucketize your stories based on all the big behavioral (conflict, priority, etc). I'd practice at least 3-5 days worth.

  • System design - Hello interview + Jordan has no life. In hindsight, I would've paid for HI, but I was too ego lol. But it's not necessary imo. Biggest thing is, being able to talk about tradeoffs and don't pigeonhole immediately on the 'most optimal' solution just because some material you watched said that it's the most optimal. You have to be fluid here.

  • Check out LeetCode Discuss for variants + Minmers YT channel.

  • I'm 2/2 on FAANG interviews, but I will definitely chalk it up to luck of interviewers being SUPER nice and collaborative, as well as questions not being super cracked / ones I've seen. This whole thing is a game, and you may get unlucky, and that's just the heart of the cards. Don't be discouraged or think you can't do it because you failed once. .

I will answer as many questions as I'm able to.

Hope this helps / motivates someone. I’m a complete average joe, not a CS prodigy from birth and don’t live and breathe LeetCode, but just worked super hard. I estimate about 300-400 hrs total studied. It was tough doing it along with work + life - definitely began to burn out towards the onsite. But with a bit of luck, I believe anyone could do it.

Good luck to everyone prepping!!! YOU GOT IT!

Meta E5 Phone Screen
meta logo
Meta
E5
June 12, 20252 reads

Summary

I completed a phone screen with Meta, where I was given two LeetCode questions. I fumbled on the first one due to an off-by-one error in my binary search logic, but performed well on the second, only needing an edge case and a minor optimization pointed out. I am hoping for a 3/4 score to advance to the next round.

Full Experience

Gonna give back to the community, got the two following qs for my phone screen https://leetcode.com/problems/random-pick-with-weight https://leetcode.com/problems/valid-word-abbreviation/

The first one I fumbled on; I found some edge cases, got buy-in, explained my thought process, etc. In retrospect (after the interview) I realized I updated my binary search variables incorrectly which resulted in an off by one error, just not for any of the test cases I wrote.

The second one was pretty good, I did the most optimal solution, but needed an edge case pointed out to me + a slight optimization I could make.

I'm hoping for a 3/4 score, which means I could go to the next round, but we shall see. I'm nervous about my off by one fumble and the optimization miss. We shall see.

Interview Questions (2)

Q1
Random Pick with Weight
Data Structures & Algorithms

I fumbled on this problem. I found some edge cases, got buy-in, and explained my thought process. In retrospect, I realized I updated my binary search variables incorrectly, resulting in an off-by-one error that was not caught by the test cases I wrote.

Q2
Valid Word Abbreviation
Data Structures & Algorithms

This question went pretty well. I implemented the most optimal solution, but needed an edge case pointed out to me and a slight optimization suggested.

Preparation Tips

My prep:

Mimer 50 and Meta Top 50 tagged, made sure I could do all of them in under 5 mins. Did the top 85 on LC for Meta tagged as well. Took me maybe two months, if I get to the next round I will do some more!

Meta (Facebook) : Infrastructure Engineer / DevOps Engineer (L5) : USA : Meta Full loop interview
meta logo
Meta
Infrastructure Engineer / DevOps Engineer (L5)USA
June 10, 20252 reads

Summary

I completed a full-loop interview for an L5 Infrastructure Engineer / DevOps Engineer role at Meta (Facebook) in USA in April 2025, which consisted of 4 rounds focusing on DSA, Behavioral, and System Design.

Full Experience

Interview Date: April 2025 Status: Completed All Rounds

Interview Format & Round Breakdown

Meta’s interview process was structured, fast-paced, and focused heavily on system-level problem solving and communication. There were a total of 4 rounds over 2 days, broken into:

Day 1 – Technical Coding Rounds (Live CoderPad)

🔹 Round 1 – Data Structures & Algorithms (45 mins)

1.	Merge Sorted Arrays In-Place
2.	Level Order Traversal with Custom Sorting?

🔹 Round 2 – Data Structures & Algorithms (45 mins)

1.	Tree BFS Level-wise Optimization: Variants on level-order traversal and memory-efficient implementation using deque, avoiding sorting inside BFS.

Day 2 – Behavioral & System Design

🔹 Round 3 – Behavioral Interview (45 mins)

•	Tell me about a time you led a high-impact DevOps initiative
•	Describe a time you failed — what did you learn?
•	Talk about a conflict across teams and how you resolved it
•	How do you drive alignment without authority?
•	What’s the most innovative solution you implemented recently?

🔹 Round 4 – System Design Interview (45 mins)

• Design an Advertisement Delivery System – similar to how Meta (Facebook) delivers personalized ads to users in near real-time.

Interview Questions (9)

Q1
Merge Sorted Arrays In-Place
Data Structures & Algorithms

Given two sorted arrays, merge them in-place.

Q2
Level Order Traversal with Custom Sorting
Data Structures & Algorithms

Implement Level Order Traversal with custom sorting.

Q3
Tree BFS Level-wise Optimization
Data Structures & Algorithms

Variants on level-order traversal and memory-efficient implementation using deque, avoiding sorting inside BFS.

Q4
Led a High-Impact DevOps Initiative
Behavioral

Tell me about a time you led a high-impact DevOps initiative.

Q5
Describe a Time You Failed
Behavioral

Describe a time you failed — what did you learn?

Q6
Conflict Across Teams and Resolution
Behavioral

Talk about a conflict across teams and how you resolved it.

Q7
Drive Alignment Without Authority
Behavioral

How do you drive alignment without authority?

Q8
Most Innovative Solution Implemented
Behavioral

What’s the most innovative solution you implemented recently?

Q9
Design an Advertisement Delivery System
System Design

Design an Advertisement Delivery System – similar to how Meta (Facebook) delivers personalized ads to users in near real-time.

Preparation Tips

Core DSA: Focus on Arrays, Strings, Hash Tables, BFS, Sorting System Design: Practice Meta-level scenarios like: Instagram, News Feed, Chat, Proximity Service, TinyURL Discuss trade-offs, scaling, consistency, fault tolerance Behavioral: Prepare stories with measurable impact. Use STAR format and align with Meta values.

Meta | Phone Screen | Passed
meta logo
Meta
June 7, 20254 reads

Summary

This is an anonymous phone screen interview experience at Meta where the candidate passed. The interview included two main algorithmic questions: a variant of Random Pick with Weight and Valid Palindrome II with a follow-up to Valid Palindrome III.

Full Experience

Hey y'all, this ain't my experience but it's from anonymous. Hope it helps your studies!

Q1: LC528 Random Pick with Weight
Variant is with city populations. We kinda come to expect this at this point.

Q2: LC680 Valid Palindrome 2
Follow-up: LC1216 Valid Palindrome 3. I'm not certain if the person had to actually code it out. If I had to guess, it'd just be a verbal explanation. Please make sure you get the time complexity right.

---
P.S I don't know any information beyond this.

Interview Questions (3)

Q1
Random Pick with Weight (City Population Variant)
Data Structures & AlgorithmsMedium

Implement randomPick(weights) where weights[i] represents the population of city i. The function should return the index of a randomly picked city, with its probability proportional to its population. This is a variant of LC528 Random Pick with Weight.

Q2
Valid Palindrome II
Data Structures & AlgorithmsEasy

Given a string s, return true if the s can be a palindrome after deleting at most one character from it. (LC680 Valid Palindrome 2)

Q3
Valid Palindrome III
Data Structures & AlgorithmsHard

Given a string s and an integer k, return true if s is a k-palindrome. A string is k-palindrome if it can be transformed into a palindrome by deleting at most k characters from it. (LC1216 Valid Palindrome 3)

Meta Phone Screen
meta logo
Meta
US
June 5, 20254 reads

Summary

I had a phone screen with Meta where I was asked two LeetCode questions: Continuous Subarray Sum and Convert Sorted List to Binary Search Tree. I was unable to complete the second question in time and received a rejection.

Full Experience

Giving back to the community, other than meta tagged questions also practice the core DS questions

523 Continuous Subarray Sum

109 Convert Sorted List to Binary Search Tree

I only practices Top 50-75 Meta questions, and hence, the second question came as a surpise to me. Was able to build the logic but couldn't complete coding in time.

Got Rejection. Location - US

Interview Questions (2)

Q1
Continuous Subarray Sum
Data Structures & Algorithms

Continuous Subarray Sum

Q2
Convert Sorted List to Binary Search Tree
Data Structures & Algorithms

Convert Sorted List to Binary Search Tree

Preparation Tips

I only practices Top 50-75 Meta questions

Meta Screening
meta logo
Meta
June 4, 20255 reads

Summary

I completed a screening interview with Meta, successfully solving two technical problems and a follow-up question for the second problem within 35 minutes.

Full Experience

Q1. Check if a str can be made into palindrome by replacing atleast one char q2. Longest Repeating Character Replacement (Sliding window)

Solved both of them, in 35mins along with a follow up for second question

Waiting for recruiter feedback

Interview Questions (2)

Q1
Palindrome with One Character Replacement
Data Structures & Algorithms

Check if a string can be made into a palindrome by replacing at least one character.

Q2
Longest Repeating Character Replacement
Data Structures & Algorithms

Longest Repeating Character Replacement (Sliding window) with a follow-up question.

Meta phone screen 45 mins
meta logo
Meta
May 31, 20252 reads

Summary

I had a 45-minute phone screen with Meta, where I was asked two specific data structures and algorithms problems.

Full Experience

Meta Phone Screen Questions (2025)

Question 1: Insert a value into a sorted circular linked list and return the newly inserted node. ➤ Similar LeetCode: 708. Insert into a Sorted Circular Linked List

Question 2: Given a binary tree node, return True if every node’s value is equal to the floor of the average of its descendants (excluding itself). ➤ Similar LeetCode: 2265. Count Nodes Equal to Average of Subtree (Note: The original LC question counts such nodes; this variation checks that all nodes satisfy the condition.)

Interview Questions (2)

Q1
Insert into Sorted Circular Linked List
Data Structures & Algorithms

Insert a value into a sorted circular linked list and return the newly inserted node.

Q2
Check Nodes Equal to Average of Descendants
Data Structures & Algorithms

Given a binary tree node, return True if every node’s value is equal to the floor of the average of its descendants (excluding itself). (Note: The original LC question counts such nodes; this variation checks that all nodes satisfy the condition.)

Meta E5 | SWE Product | Full loop
meta logo
Meta
E5 SWE ProductBay area
May 30, 20254 reads

Summary

I underwent a full loop interview for an E5 SWE Product role at Meta, which included two coding rounds and a product architecture round.

Full Experience

Coding 1:

  • Q1. Minimum remove for valid parenthesis
  • Q2. Lowest common ancestor in a tree

Coding 2:

  • Q1. variation of weighted sum of nested array
  • Q2. variation of shortest distance from all buildings (multisource BFS)

Prod Arch:

hackerrank live contest leaderboard with quite a few custom functional requirements

Edit: Bay area location

Interview Questions (5)

Q1
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(', ')', and lowercase English characters. Your task is to remove the minimum number of parentheses so that the resulting parentheses string is valid. Return any valid string.

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.

Q3
Variation of Weighted Sum of Nested Array
Data Structures & AlgorithmsMedium

Calculate the weighted sum of integers in a nested list structure. The specific variation was not detailed, but generally involves defining weights based on depth or reverse depth for each integer in the nested array.

Q4
Variation of Shortest Distance from All Buildings
Data Structures & AlgorithmsHard

Given a 2D grid where each cell can be one of three values: 0 (empty land), 1 (building), or 2 (obstacle). A variation of finding the shortest total distance from an empty land cell to all buildings. The candidate mentioned a multisource BFS approach, hinting at the standard solution pattern.

Q5
Design HackerRank Live Contest Leaderboard
System Design

Design a system for a live contest leaderboard similar to HackerRank, accommodating various custom functional requirements that were not explicitly stated.

Meta | Phone Screen | London
meta logo
Meta
London
May 29, 20257 reads

Summary

I had a phone screen with Meta in London, where I was presented with two algorithm questions, variants of 'Random Pick with Weight' and 'Shortest Path in Binary Matrix'. I performed well on the first and mostly on the second, but I made mistakes in the time and space complexity analysis for the second question. I am currently awaiting an update on my application.

Full Experience

Q1: variant of https://leetcode.com/problems/random-pick-with-weight/description/
Q2: variant of https://leetcode.com/problems/shortest-path/description/

I aced Q1 and mostly Q2 but screwed up the TC and SC of Q2. still waiting for the update atm.

Interview Questions (2)

Q1
Random Pick with Weight (Variant)
Data Structures & AlgorithmsMedium

A variant of the Random Pick with Weight problem, which typically involves picking an index based on given weights, often solved using prefix sums and binary search.

Q2
Shortest Path in Binary Matrix (Variant)
Data Structures & AlgorithmsMedium

A variant of the Shortest Path in Binary Matrix problem, which typically involves finding the shortest path from a source to a target in a grid with obstacles, often using Breadth-First Search (BFS).

Meta E4 Interview Experience | Seattle, USA
meta logo
Meta
E4 infrastructure positionSeattle, USA5 years
May 28, 20257 reads

Summary

I had a full loop interview for a Meta E4 infrastructure position in Seattle, which included a phone screen and a virtual on-site with coding, system design, and behavioral rounds. I was able to solve most coding problems optimally, but I believe I messed up the system design round, leading to a rejection. Despite the outcome, it was a good learning experience.

Full Experience

I recently had a full loop of Meta E4 infrastructure position for the Seattle office. I'm a backend engineer with 5+ YOE working in another big tech.

Phone screen:

  1. https://leetcode.com/problems/clone-binary-tree-with-random-pointer/description/
  2. https://leetcode.com/problems/binary-tree-vertical-order-traversal/description/

I passed the phone screen as I had already solved both problems before. I got a recruiter call the next day to schedule a virtual on-site. I scheduled on-site 3 weeks after the phone screen. My strategy remained the same, to study recently asked Meta questions, I aimed at covering at least 100 questions. However, I was not able to do so due to my current workload.

Onsite

  1. Interview 1
  2. Interview 2 System design interview, I was asked to design a system that can run code, like developers write the code and send it to the system and the system gives the output. Like AWS Lambda or LeetCode code runner. I followed the steps for hellointerviewdotcom but I think I messed up this round badly.
  3. Interview 3 Behavior interviews, I got like 6 or 7 questions standard behavior questions, I don't quite remember them, but there were those like give me an example of a time you had a conflict with a coworker, give me an example of a time you failed, give me an example of a time you took a decision without telling your manager and so on.
  4. Interview 4

I think I got fairly easy questions and I was able to solve all 4 questions optimally with minimal hint, but ended up getting rejected which I believe is due to system design, but it was a good learning experience. For coding questions, I still highly believe that one can pass Meta interview with just 50 recently asked questions the trick is they ask variants and the variants sometimes are tricky.

Interview Questions (8)

Q1
Clone Binary Tree With Random Pointer
Data Structures & Algorithms

Given the root of a binary tree, where each node has a random pointer that can point to any node in the tree or null, clone the entire tree.

Q2
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column).

Q3
Two Sum (Pairs Variant)
Data Structures & Algorithms

A variant of the Two Sum problem, where the input is a list of pairs of numbers instead of just individual numbers. The goal remains to find if any two numbers (potentially from different pairs or within the same pair) sum up to a target.

Q4
Basic Calculator II (No Division Variant)
Data Structures & Algorithms

A variant of the Basic Calculator II problem, where the expression string contains integers and operators ('+', '-', '*', '/') but the division operation was not required. Evaluate the expression.

Q5
Design a Code Runner System
System Design

Design a system that can run code, similar to how developers write code and send it to the system to get output. Examples include AWS Lambda or a LeetCode code runner.

Q6
Behavioral Questions
Behavioral

Standard behavioral questions were asked. Examples include: 'Give me an example of a time you had a conflict with a coworker?', 'Give me an example of a time you failed?', and 'Give me an example of a time you took a decision without telling your manager?'.

Q7
Find Minimum Element in Array with Duplicates (Variant of Find Peak Element)
Data Structures & Algorithms

A variant of the Find Peak Element problem where the goal was to find the minimum element, and the array could contain duplicate values.

Q8
Subarray Sum Equals K
Data Structures & Algorithms

Given an array of integers nums and an integer k, return the total number of continuous subarrays whose sum equals to k.

Preparation Tips

For the phone screen, I only did 50 recently asked Meta questions as preparation. My strategy remained the same for the on-site, aiming at covering at least 100 questions, though I was unable to due to my current workload. I leveraged codingwithminmer YouTube channel sometime while prepping, noting that its videos are lengthy and might be difficult to cover if time is limited.

Meta Phone Screening
meta logo
Meta
May 28, 20255 reads

Summary

I had a phone screening interview with Meta where I was asked two algorithmic questions.

Full Experience

1.find local finimum in array. 2.kth closet point to origin(https://leetcode.com/problems/k-closest-points-to-origin/description/)

Interview Questions (2)

Q1
Find Local Minimum in Array
Data Structures & Algorithms

Find local minimum in array.

Q2
K Closest Points to Origin
Data Structures & Algorithms

Kth closest point to origin.

Meta London E5 Interview Experience - May 2025
meta logo
Meta
E5London
May 26, 20253 reads

Summary

I attended a Meta London E5 interview in May 2025, which included coding, behavioral, and system design rounds. I am currently waiting for the results.

Full Experience

I attended Meta(London) for E5 role from Berlin.

Screening: solved both

Unfortunately I rushed through the final interview 2 weeks after screening.

Codign 1:

  • Vertical order traversal -> Solved it optimally
  • Tic tac toe traversal -> Solved it optimally after initial non optimal solution

Codign 1:

  • Group shifted string variabtion ( instead of shifting right, left used)
  • Word Search -> instead of boolen, path needed. I had only 19 mins to solve this, so rushed with time optimal and non space optimal solution by keeping a copy of list. This problem is implementation heavy, so I couldnt dry run with test data but I wrote solution very fast after got the buy in. Not sure if this round backfire.

Behavioural:

  • Interviewer seems nice, answered all questions, with followups. Felt I did very well.

System Design:

  • Design uber ( interviewer is quiet throughout the interview )
    • Drafted use case
    • BOE -> messed up in some number for a particular use case ( fumbled for 10 seconds and moved on)
    • NFRs -> perfect
    • API -> Wrote all missed one, interviewer pointed out, covered it.
    • HLD -> neat.
    • Schema neat.
    • At this point we had 15 mins left and I wrote possible deep dive areas.
    • Dived deep on real time tracking once trip started(interviewer interested in this),
    • Driver location update before order update
    • Proximity search via redis geohash

Waiting for results.

Interview Questions (6)

Q1
Vertical Order Traversal of a Binary Tree
Data Structures & Algorithms

I was asked to solve the Vertical Order Traversal problem. I solved it optimally.

Q2
Tic Tac Toe Traversal/Winning Condition
Data Structures & Algorithms

I was asked a Tic Tac Toe traversal problem. I initially provided a non-optimal solution but then improved it to an optimal one.

Q3
Group Shifted Strings Variation
Data Structures & Algorithms

I was given a variation of the Group Shifted Strings problem, where instead of shifting right, left shifts were used.

Q4
Word Search - Return Path
Data Structures & Algorithms

I was asked the Word Search problem, but instead of just returning a boolean, I needed to return the path. I had only 19 minutes, so I rushed with a time-optimal but non-space-optimal solution by keeping a copy of the list. This problem is implementation heavy, and I couldn't dry run with test data, but I wrote the solution very fast after getting buy-in.

Q5
Behavioral Interview Questions
Behavioral

The interviewer seemed nice. I answered all questions with follow-ups and felt I did very well.

Q6
Design Uber
System Design

I was asked to design Uber. During the interview, I drafted use cases, discussed BOE (where I fumbled in some numbers), NFRs, APIs (missed one which the interviewer pointed out), HLD, and schema. We then deep-dived into real-time tracking once a trip started, focusing on driver location updates before order updates and proximity search via Redis geohash.

Meta Screening | Senior Software Engineer | 11yrs exp | Bangalore
meta logo
Meta
Senior Software EngineerBangalore11 years
May 26, 20251 reads

Summary

I had a Meta screening interview for a Senior Software Engineer role in Bangalore, where I was asked two specific coding problems from LeetCode.

Full Experience

  1. https://leetcode.com/problems/diagonal-traverse-ii/description/ - with 2 variations, Input: nums = [[1,2,3],[4,5,6],[7,8,9]] Output: 1 2 4 3 5 7 6 8 9
  2. https://leetcode.com/problems/valid-palindrome-ii/editorial/

Interview Questions (2)

Q1
Diagonal Traverse II with Variations
Data Structures & Algorithms

The problem is Diagonal Traverse II, with 2 variations. Input: nums = [[1,2,3],[4,5,6],[7,8,9]] Output: 1 2 4 3 5 7 6 8 9

Q2
Valid Palindrome II
Data Structures & Algorithms

The problem is Valid Palindrome II.

Meta E6 Menlo Park Onsite Experience (Rejected)
meta logo
Meta
Specialist AI role (research engineer in a specific field)Menlo Park
May 25, 20254 reads

Summary

I interviewed for a Specialist AI role (research engineer) at Meta's Menlo Park office and was ultimately rejected after an onsite experience that included coding, AI-specific coding, AI design, and behavioral rounds.

Full Experience

Giving back to the community.

Specialist AI role (research engineer in a specific field). The interview process seems to be different from general software or machine learning roles.

First, recruiter did a team "pre-match" to identify 3 or so teams that match my background.

Then 2 phone calls with potential team members with informal chats about my resume & background. There were no "interview" questions at all (no coding, ML knowledge, system design, behavioral etc.)

Onsite:

  1. Coding: Two LC mediums, both in Meta top 100 (around 70 or 80).
  2. AI Coding: One LC easy, and one about PyTorch (for a single layer network, give high level description of forward() and backward())
  3. AI Design 1, 2: Both were questions about my specific field. Describe a system on Excalidraw and discuss various aspects, citing different approaches used in the field. Totally different from general Meta ML design interviews on youtube/books.
  4. Behavioral: Usual questions you can find on the web. Describe conflict with coworker & how you handled it & what you would do differently if you could go back.

After interview, hiring managers of the pre-matched teams looked at the interview feedback to decide whether to send my packet to candidate review or not. Apparently, hiring managers decided to reject. I had to wait almost 2 weeks to hear results because recruiter also tried asking other hiring managers.

Interview Questions (2)

Q1
PyTorch Single Layer Network: Forward and Backward Pass
Other

For a single layer network, give a high level description of forward() and backward() methods in PyTorch.

Q2
Behavioral: Handling Conflict with Coworker
Behavioral

Describe conflict with coworker & how you handled it & what you would do differently if you could go back.

Meta Offer | Matched 2 Teams | PS | Onsite
meta logo
Meta
May 25, 20252 reads

Summary

I interviewed at Meta 3 months ago, received an offer, and successfully matched with a team last week. The experience involved coding, system design, and behavioral interviews, featuring specific LeetCode problems, design scenarios like Dropbox, and challenging behavioral questions.

Full Experience

This is my first contribution for this wonderful forum of my experience. I interviewed 3 months ago and matched with the perfect team last week (will not reveal what team due to privacy reasons). Do not go for Monetization, WLB is atrocious.

THANK YOU TO CODING WITH MINMER FOR EVERYTHING + THIS COMMUNITY. Yes everything can come down to luck and I got very luck but there is a fair high chance you get a variant. No one else knows about these variants but us, so please use it to your advantage.


PS: union two lists of intervals but they are both sorted. follow up: N lists of intervals, union and return them in sorted order

Onsite Coding #1: leetcode 129 exactly follow up: return all the paths of the sums. This is from another leetcode problem but I cannot find it.

Onsite Coding #2: find the number of unique elements in a sorted array. Exactly like what Minmer covered. leetcode 50. I solved it with recursion but interview pushed for the iterative one. Truth be told, I needed a hint because I solved the problem the night before (Lucky, I know), but I persevered. I got a working solution and the interviewer was happy with it. Sometimes, it's all about luck.

System Design #1: Design Dropbox but they called it Facebox. Clever. Talked about chunking, resumable uploads. System Design #2 (doesn't count. Meta has a fake one): Auction bidding system

Behavioral: Conflicts? Agreements? DISagreements? Who is the worst manager you have had? This one threw me off balance so be ready for anything.

Interview Questions (6)

Q1
Union Sorted Lists of Intervals
Data Structures & Algorithms

Union two lists of intervals, both of which are already sorted. Follow up: Given N lists of intervals, union them and return them in sorted order.

Q2
Sum Root to Leaf Numbers
Data Structures & AlgorithmsMedium

Exactly LeetCode 129: Sum Root to Leaf Numbers. Follow up: return all the paths of the sums.

Q3
Find Number of Unique Elements in Sorted Array
Data Structures & Algorithms

Find the number of unique elements in a sorted array. I solved it with recursion but the interviewer pushed for an iterative solution. I needed a hint but persevered and got a working solution that satisfied the interviewer.

Q4
Design Dropbox (Facebox)
System DesignHard

Design Dropbox (referred to as Facebox by Meta). Discussion involved aspects like chunking and resumable uploads.

Q5
Design Auction Bidding System
System DesignHard

Design an auction bidding system.

Q6
Behavioral Questions: Conflicts and Difficult Manager
Behavioral

Behavioral questions covered scenarios involving conflicts, agreements, and disagreements. A particularly challenging question asked was: 'Who is the worst manager you have had?'

Preparation Tips


In retrospect, Again, could not have done it without everyone here. Keep up the grind, Looking back I did around 120 leetcode problems over and over. Don't stop because you'll forget how to solve them. For the behavioral, silence is acceptable but give them a whole story, keep them captivated with specific details of your story. For beavioral I looked up many videos from Exponent, they have some helpful examples.

Meta E5 (US) phone screen + onsite : reject : learnings
meta logo
Meta
E5US
May 23, 20252 reads

Summary

I had a phone screen and onsite interview for an E5 role at Meta in the US and was rejected. I am sharing my experience and learnings, including specific phone screen questions and hints for onsite questions, while honoring an NDA.

Full Experience

Giving back to the community. Since I signed an NDA right after phone screen and before the onsite, I will honour it, will post the phone screen questions, but only hints for the onsite ones.

Phone Screen-

  • LC 121 - No variant
  • Not LC tagged - a binary search question similar to LC 1891

Behaviour

  • Standard questions, should be easy if you really have good experiences

Coding 1

  • LC tagged, no variant, involves some sort of dfs on a list
  • Not in LC, variant of finding a certain area in a matrix, again involves dfs

System design

  • One of the "below the line" items from hello interview. Involves storing media files.

Coding 2

  • Variant of LC tagged, about extracting subset of data from a given data, involves heap.
  • Another LC tagged heap question, find a specific one instead of subset.

Interview Questions (3)

Q1
Best Time to Buy and Sell Stock
Data Structures & AlgorithmsEasy

Given an array prices where prices[i] is the price of a given stock on the i-th day. You want to maximize your profit by choosing a single day to buy one stock and choosing a different day in the future to sell that stock. Return the maximum profit you can achieve. If you cannot achieve any profit, return 0.

Q2
Cutting Ribbons (Binary Search Variant)
Data Structures & AlgorithmsMedium

A binary search problem similar to LeetCode 1891, which is 'Cutting Ribbons'. In LC 1891, given an array of integers ribbons, where ribbons[i] represents the length of the i-th ribbon, and an integer k, you may cut any ribbon any number of times. You want to obtain k ribbons of the same positive integer length x. Return the maximum possible positive integer length x that you can obtain. This problem is a variant of that concept.

Q3
System Design: Storing Media Files
System Design

Design a system for storing media files. This relates to "below the line" functional requirements discussed in 'Hello Interview' resources, indicating a focus on non-functional requirements or detailed implementation aspects.

Preparation Tips

Solve all meta tagged LC questions from at least 3 months (better 6 months), suboptimal won't work (that's what happened for me), have to be the optimal one. Don't just memorize, get to the depth of it, variants might surprise you. If you are looking at hello interview questions, also prepare for "below the line" functional requirements.

Meta Interview to Offer For SWE E4
meta logo
Meta
SWE E4NYC6 years
May 20, 20254 reads

Summary

I successfully interviewed with Meta for a SWE E4 role, a process that took 6 months from recruitment to offer. Despite challenges like a tough team matching process for NYC and not achieving an E5 due to help on system design, I secured an offer with improved compensation compared to my previous role at Amazon, motivated by changes in company culture and seeking better treatment.

Full Experience

Hello all. During my time interviewing, I read a lot of other peoples' posts here to give me encouragement. I hope this post does the same for others. The total timeline from recruitment to signing was 6 months. My story is really long to help those who need details. Best of luck to everyone. Don't give up!

My Background

I have 6 years of experience at Amazon and two prior internships.

Recruitment

I met a meta recruiter at Grace Hopper, but generally Meta, Google, and other FAANG companies email or linkedin message me. I applied after Grace Hopper in November and heard back in 2 weeks. I scheduled my phone screen for January since I planned to work full time until I got an offer.

Phone Screen

Studying

I prepared for 2 months for 20 hours a week. I went over the top 150 meta tagged questions 2-3 times. I looked at multiple optimal solutions. I paid for 1 mock interview with an ex-meta engineer and did multiple practice rounds for free on Exponent with strangers.

Interview

On the phone screen day, both questions were from the top 50 meta tagged questions. I got strong feedback the next day and moved onto the onsite.

Onsite

My system design was infra. I have experience in both infra and product work. I took off about 3 2 week vacations to study 40 hours a week. When I was working, I study 20 hours a week.

Studying

System Design

My onsite was in April because I needed a lot of time to prepare for the system design because I never had a system design interview before. I was hired at Amazon straight from college. For system design I read Alex Xu's book, although it was outdated. Then I did every problem on Hello Interview 2-3 times and reviewed their youtube videos and written guides 2-3 times. TBH there are more online resources for product than infra questions on Hello Interview. I scheduled a paid system design mock with an ex-meta engineer. This process took about 5 weeks.

Leetcode

Then I went over the top 150 meta tagged coding questions over and over again until I could do all of them in 10-15 mins. I made sure I spoke outloud in the meta format of asking clarifying questions, explaining my plan, confirming the plan was valid, explaining trade offs if there were multiple good solutions, saying the time and space complexity, coding, and going through at least 1 example. The important part for me was doing all of this in 10 minutes if I could. I memorized the solutions, but also made sure I could explain every line of code.

My next step was to make sure I could do variants. I watched all of the variants from this channel https://www.youtube.com/@CodingWithMinmer and then solved them myself. I did some of them twice if they were harder.

I redid all the hard meta tagged top 150 questions one more time 2 days before the interview. This took me 6 weeks.

Behavioral

I collected previously asked meta behavioral questions from hello interview and general behavioral questions (about 30-40 questions). I practiced speaking all of them.

Then I created a list of 5-6 questions for each of the five core meta pillars.

  1. Resolving Conflict
  2. Growing Continuously
  3. Embracing Ambiguity
  4. Driving Results
  5. Communicating Effectively

I outlined 10 different work examples. Then I wrote a story for each of the questions based on those work examples. Then I got friends to ask me the same questions over and over again. At first I took too long to answer a question (7 minutes) and I wasn't clear with the STAR technique. After 8-10 rounds of 5 questions, I felt like I had my examples memorized and each took 3 minutes to get all elements of star.

This took about 1 week.

Final Review

For the last 2 weeks or so, I practiced interviewing. I did online interviews on Exponent for system design, leetcode, and behavioral. It was really hit or miss who I got on the site. So I stopped after 1 week and just practiced with a friend each day.

Interview

  1. Behavorial

I got a nice interviewer who asked standard interview questions. Some weren't exactly like the questions I had practiced, but I just picked 1 of the 10 examples I had and fitted it to the question. Interviewer was laughing and said he wanted to see me in the office sometime.

  1. System Design

I was thrown off guard because I didn't get one of the questions on the Hello Interview Guides. Note this question was on discussion pages of Hello Interview, but was ranked low.

I thought I could use top-k videos for this problem, but my interviewer said since he only asked me for 1 game that I was going too far. I scaled it back and went more like the leetcode leader board with a Redis sorted set and he was happy. I wanted to try for E5 even though my years put me at E4. I wasn't picked for E5 because I had help.

  1. LeetCode I

I got two variants of top 100 meta tagged questions. I highly recommend people review CodingWithMinmer if you have an onsite. It saved me. Both of them were from CodingWithMinmer's channel although slightly different (but not in a meaningful way). The second variant, I didn't remember as well, so I got stuck at the coding, but made it out okay because I had so much time saved from the first question.

  1. LeetCode II

I got another two variants. One from CodingWithMinmer and the other was a top meta tagged; but to return the list instead of the size. I finished both in 10 minutes. The only problem was that for the first one I forgot the 0 case because Minmer did only positive numbers. I got so nervous and my brain couldn't think about how to solve it. The interviewer kindly reminded me that I had 30 minutes to solve this one case and to take a breath. She was really nice and that helped me calm down enough to finish the case.

Result:

My recruiter called me 4 hours after my final interview and said my feedback was really strong. I passed E4, but because for system design I got help, I didn't get E5.

Team Matching

This was the worst part. I live in NYC and I can't move. NYC is really hard to team match. It took me 5 weeks. I heard nothing for 4 weeks. I joined a Discord of other meta TM candidates to get advice. I saw some people had been waiting months. I heard that a good idea is to message people on Linkedin or get a friend in Meta to ping HMs. I did both. After my friend spammed HMs, I got matched the same day.

Negotiation

I didn't have any other offers from other companies. I was too busy to interview for more places, but my Amazon salary is near the top of my level. My Amazon salary got me probably the highest comp that Meta was offering for E4 right now from what I saw on the discord channel. It is nothing like 2021, but it is higher than Amazon so I took it.

My NYC Amazon Salary: 190K base/300K RSU for 3 years My NYC Meta: 193k base/450K RSU for 4 years/35K bonus/15% yearly rate bonus

Summary

I used to love my teams at Amazon, which is why I stayed so long. However, things have changed and management has become more toxic as my teams grew. RTO5, salary, and poor treatment of my team is what made me leave. I hope for better treatment from my new team. I hope people also find themselves relating to this too and find that my post gave them courage to fight for what they deserve (to be treated like a human) at work. At the end of the day the hiring process is all about luck. I got lucky to have nice interviewers. Don't be too hard on yourselves as some things are out of our control. I wish everyone else luck on their journeys

Interview Questions (1)

Q1
Design a Game Leaderboard
System Design

The system design question involved designing a leaderboard for a single game. I initially considered a top-k video solution, but the interviewer clarified the scope was for one game, indicating that my initial approach was overly complex. I had to scale back my design and proposed a solution akin to a LeetCode leaderboard, specifically mentioning the use of a Redis sorted set.

Preparation Tips

For the phone screen, I prepared for 2 months, dedicating 20 hours a week to going over the top 150 Meta-tagged questions 2-3 times and studying multiple optimal solutions. I also had one paid mock interview and multiple free practice rounds on Exponent.

For the onsite, I took several 2-week vacations to study 40 hours a week, and 20 hours a week when working. For system design, I prepared for about 5 weeks by reading Alex Xu's book (though outdated) and doing every problem on Hello Interview 2-3 times, reviewing their YouTube videos and guides. I also scheduled a paid system design mock with an ex-Meta engineer.

For LeetCode, I spent 6 weeks going over the top 150 Meta-tagged coding questions until I could solve them in 10-15 minutes, practicing the Meta interview format of clarifying, planning, confirming, discussing tradeoffs, stating complexity, coding, and example walkthroughs. I memorized solutions but also ensured I could explain every line. I also watched and solved variants from the CodingWithMinmer YouTube channel, redoing harder ones and all hard Meta-tagged questions two days before the interview.

For behavioral, I spent about 1 week collecting Meta and general behavioral questions (30-40 total) from Hello Interview. I created a list of 5-6 questions for each of Meta's five core pillars (Resolving Conflict, Growing Continuously, Embracing Ambiguity, Driving Results, Communicating Effectively). I outlined 10 different work examples and wrote stories for each question based on these examples. I practiced speaking them with friends, improving my clarity and STAR technique to answer each question in 3 minutes.

For the final review (last 2 weeks), I practiced interviewing on Exponent for system design, LeetCode, and behavioral, but stopped after a week due to inconsistent partners and practiced with a friend daily instead.

Meta E5 behavioral
meta logo
Meta
May 20, 20253 reads

Summary

I'm sharing behavioral questions asked during my Meta E5 interview, building on my previous posts about phone screen and loop questions.

Full Experience

Time to give back to the community. I have already posted phone screen and loop questions on separate threads. Posting behavioral questions. Good luck!

Interview Questions (4)

Q1
Lead a Cross-Team Initiative
Behavioral

tell me about a time you lead an cross team initiave.

Q2
Requirements Not Clear
Behavioral

tell me about a time when the requirements were not clear.

Q3
Conflict with Co-Worker
Behavioral

tell me about a time when you had a conflict with a co-worker.

Q4
Received Negative Feedback
Behavioral

tell me about a time when you got a negative feedback.

Meta E5 Phone Screen + Full Loop | Passed
meta logo
Meta
E5 Production EngineerLondon, UK10 years
May 20, 20253 reads

Summary

I successfully passed my E5 Production Engineer interview loop at Meta in London, UK, after a fast interview process and a total of three weeks of preparation.

Full Experience

Giving back to the community.

Phone Screen

Round #1 - Coding

  • a) Easy-to-medium problem involving string manipulations. Not on LeetCode.
  • b) A version of 489. Robot Room Cleaner with slightly relaxed constraints.

Round #2 - Troubleshooting

A typical troubleshooting round that tests my debugging skills in Linux-like environments.

Full Loop

Round #1 - Coding

  • a) A classical one. 125. Valid Palindrome.
  • b) A problem involving reading 2 CSV files, doing some calculations, and printing the combined output. Very similar to a classical problem involving dinosaurs. Not on LeetCode.

Round #2 - Systems Design

Design a CI/CD pipeline to upgrade the kernel version on a set of thousands of machines distributed across several data centers.

Round #3 - Behavioral

Standard behavioral questions with a twist at the end. For example: Tell me about a time you convinced someone to change their mind, and later you found you were wrong.

Round #4 - Operating Systems

Standard OS questions around memory management, processes and thread management, and VFS. 2nd part of the round was dedicated to troubleshooting questions.

Interview Questions (6)

Q1
Robot Room Cleaner (Modified)
Data Structures & Algorithms

A version of 489. Robot Room Cleaner with slightly relaxed constraints.

Q2
Valid Palindrome
Data Structures & Algorithms
Q3
CSV File Processing and Aggregation (Dinosaur Problem Variant)
Data Structures & Algorithms

A problem involving reading 2 CSV files, doing some calculations, and printing the combined output. Very similar to a classical problem involving dinosaurs. Not on LeetCode.

Q4
Design a CI/CD Pipeline for Kernel Upgrades
System Design

Design a CI/CD pipeline to upgrade the kernel version on a set of thousands of machines distributed across several data centers.

Q5
Tell me about a time you convinced someone to change their mind, and later you found you were wrong.
Behavioral

Standard behavioral question: Tell me about a time you convinced someone to change their mind, and later you found you were wrong.

Q6
Operating Systems: Memory, Processes, Threads, VFS
Other

Standard OS questions around memory management, processes and thread management, and VFS.

Preparation Tips

I only had a week of preparation before my Phone Screen and 2 weeks before the virtual on-site. The process was pretty fast - it took less than a week from the final round to the offer.

Meta Full Loop | Passed
meta logo
Meta
US
May 19, 20253 reads

Summary

I passed the Meta full loop interview for an E4 role in the US, which included a phone screen, two technical rounds focusing on Data Structures & Algorithms, and a system design interview.

Interview Questions (7)

Q1
Range Sum of BST
Data Structures & Algorithms

Given the root of a binary search tree, and two integers low and high, return the sum of all nodes' values that are in the inclusive range [low, high].

Q2
Expression Add Operators (Variation - no multiplication)
Data Structures & Algorithms

Given a string 'num' that contains only digits and an integer 'target', add binary operators (except multiplication, as specified in the variation) '+', '-' to 'num' such that their evaluation equals 'target'. Return all possible expressions that you can build.

Q3
Nested List Weight Sum
Data Structures & Algorithms

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer or a list (whose elements may also be integers or other lists).

Q4
All Nodes Distance K in Binary Tree
Data Structures & Algorithms

Given the root of a binary tree, a target node in the tree, and an integer 'k', return an array of the values of all nodes that have a distance 'k' from the target node.

Q5
Range Sum Query - Immutable
Data Structures & Algorithms

Given an integer array 'nums', handle multiple queries of the following type: Calculate the sum of the elements of 'nums' between indices 'left' and 'right' inclusive ('nums[left]', 'nums[left + 1]', ..., 'nums[right]'). Implement the 'NumArray' class.

Q6
Shortest Path in Binary Matrix with Path Tracking
Data Structures & Algorithms

Given an n x n binary matrix 'grid', return the length of the shortest clear path in the matrix. If there is no clear path, return -1. A clear path is a path from the top-left cell (0, 0) to the bottom-right cell (n - 1, n - 1) such that all visited cells are 0. Follow up: keep track of the shortest path itself.

Q7
Design Facebook News Feed
System Design

Design a scalable system for the Facebook news feed, considering aspects like feed generation, fan-out approaches, storage, and real-time updates.

Meta Screening E5
meta logo
Meta
May 19, 20254 reads

Summary

I had my screening interview at Meta, during which I was asked two specific LeetCode problems: Kth Largest Element in an Array and a variation of Binary Tree Vertical Order Traversal.

Full Experience

I had my screening interview at Meta. The following questions were asked:

  1. https://leetcode.com/problems/kth-largest-element-in-an-array/description/
  2. https://leetcode.com/problems/binary-tree-vertical-order-traversal/description/ or https://leetcode.com/problems/vertical-order-traversal-of-a-binary-tree/description/ with no specific order mentioned for the colliding elements (elements in the same row and column)

For the second question, when I mentioned BFS traversal, the interviewer asked why I couldn't use DFS and requested an example to prove it.

Interview Questions (2)

Q1
Kth Largest Element in an Array
Data Structures & AlgorithmsMedium

Given an integer array nums and an integer k, return the kth largest element in the array. Note that it is the kth largest element in the sorted order, not the kth distinct element. The problem expects a solution with O(n) time complexity.

Q2
Binary Tree Vertical Order Traversal
Data Structures & AlgorithmsMedium

Given the root of a binary tree, return the vertical order traversal of its nodes' values (i.e., from top to bottom, column by column). The specific variant discussed did not mention a specific order for colliding elements (elements in the same row and column). I was also asked to explain why BFS traversal might be preferred over DFS for this problem and to provide an example to prove it.

Meta MLE Phone Screen | Passed
meta logo
Meta
May 18, 20253 reads

Summary

I recently passed a Meta MLE phone screen, which included a variant of 'Shortest Path in a Binary Matrix' and 'Remove Duplicates from Sorted Array'.

Full Experience

Hey y'all, sharing a recent interview experience on behalf of anonymous.

Q1: LC1091 Shortest Path in a Binary Matrix The variant is what if you had to return the shortest path, not the length of the shortest path? It's noted that storing the path in the queue state was acceptable and interviewer was satisfied.

Q2: LC26 Remove Duplicates from Sorted Array This was asked straight-up, and IMO I've seen it pop up a lot more recently.

I'm not sure of any information beyond that. Much luck to everyone studying!

Interview Questions (2)

Q1
Shortest Path in a Binary Matrix with Path Return
Data Structures & Algorithms

The problem was LC1091 Shortest Path in a Binary Matrix. The variant was to return the shortest path itself, not just its length.

Q2
Remove Duplicates from Sorted Array
Data Structures & Algorithms

The problem was LC26 Remove Duplicates from Sorted Array, asked straight-up.

Meta SWE ML E4 Phone Screen Round
meta logo
Meta
SWE ML E4
May 17, 20255 reads

Summary

I had a phone screen for a Meta SWE ML E4 position and was asked two coding problems. I received positive feedback and am now preparing for the full loop.

Full Experience

Hey everyone,

I had my phone screen for the Meta SWE ML position about two weeks ago. Here are the questions I was asked:

Minimum Round Trip Cost – Given two arrays, one representing departure costs [d1, d2, d3, d4] and the other return costs [r1, r2, r3, r4], find the minimum total cost for a round trip.

Robot Room Cleaner Variant (Mouse and Cheese) – This was a variation of the classic robot room cleaner problem. I hadn’t come across this problem before the interview and wasn’t aware of related resources like CodingWithMingmer. I was able to solve it eventually, but interviewer told me to improve my time management during coding as I took 4-5 minutes more to finish the code for this.

I gave dfs approach, and as a follow up at last, he asked me to think about bfs one .

Hope this helps !

The recruiter got back to me the next day with positive feedback.

I am currently preparing for full loop. Wish me luck .

Interview Questions (2)

Q1
Minimum Round Trip Cost
Data Structures & Algorithms

Given two arrays, one representing departure costs [d1, d2, d3, d4] and the other return costs [r1, r2, r3, r4], find the minimum total cost for a round trip.

Q2
Robot Room Cleaner Variant (Mouse and Cheese)
Data Structures & Algorithms

A variation of the classic robot room cleaner problem.

Meta E4 Software Engineer | Offer
meta logo
Meta
E4 Software Engineer
May 16, 20253 reads

Summary

I received an offer from Meta for an E4 Software Engineer role after completing phone screen and onsite rounds, which included coding, system design, and behavioral interviews.

Full Experience

Hi,

I just received an offer from Meta for E4 SE role. Sharing my interview experience and giving back to the community.

Phone Screen:

Question 1:

Given a list of integers, return the maximum sum of two numbers. Constraint is that the two numbers should not be adjacent to each other

Question 2:

Given a list of Node references, return the root node of the tree if all the nodes in the list belong to one tree else return null.

Was provided with the below node definition

class Node {
    Node left;
    Node right;
}

Received a call from the recruiter 2 days later that I was moving on to the onsite rounds.

Onsite rounds

Round 1 (Coding):

LC 938: Range Sum of BST
LC 56: Merge Intervals. I was asked the variant of it. Given 2 sorted lists and asked to merge the intervals. You can refer to CodingWithMinmer youtube channel for all variants.

Round 2 (System Design):

Status search - similar to FB post search on HelloInterview.

Round 3 (Coding):

LC 346: Moving average from Data Stream
LC 1650: Lowest Common Ancestor of Binary Tree III

Round 4 (Behavioral):

Common behavioral questions

Interview Questions (8)

Q1
Maximum Sum of Two Non-Adjacent Numbers
Data Structures & Algorithms

Given a list of integers, return the maximum sum of two numbers. Constraint is that the two numbers should not be adjacent to each other

Q2
Find Root of Tree from Node References
Data Structures & Algorithms

Given a list of Node references, return the root node of the tree if all the nodes in the list belong to one tree else return null.

class Node {
Node left;
Node right;
}

Q3
Range Sum of BST
Data Structures & Algorithms

LC 938: Range Sum of BST

Q4
Merge Intervals (Variant: Merge Two Sorted Interval Lists)
Data Structures & Algorithms

LC 56: Merge Intervals. I was asked the variant of it. Given 2 sorted lists and asked to merge the intervals.

Q5
Status Search
System Design

Status search - similar to FB post search on HelloInterview.

Q6
Moving Average from Data Stream
Data Structures & Algorithms

LC 346: Moving average from Data Stream

Q7
Lowest Common Ancestor of Binary Tree III
Data Structures & Algorithms

LC 1650: Lowest Common Ancestor of Binary Tree III

Q8
Common Behavioral Questions
Behavioral

Common behavioral questions

Meta Production Engineer Dublin | 2025
meta logo
Meta
Production EngineerDublin1 years
May 16, 20257 reads

Summary

I interviewed for a Production Engineer role at Meta in Dublin and was ultimately hired with an overall rating of 3/5. I performed well in Leadership and Troubleshooting rounds but struggled with System Design and one of the Data Structures & Algorithms rounds.

Full Experience

Screening rounds:

Round 1: Goat Latin https://leetcode.com/problems/goat-latin/description/ & Dinosaur problem https://leetcode.com/discuss/post/391865/facebook-phone-screen-csv-dinosaurs-spli-znr1/ question 1 from here
Round 2: Troubleshooting, nothing specific to say, I was able to solve and passed the round. Just work on intuition and you need experience for this. I was in devops for a year, so was able to do it.

On-site:
Round 1: DSA -> Given a file, which has some strings, with delimiter %. the strings themselves can contain %, whenever the function is called print a random line. My file handling was not superb, so did not do that well, but arrives at the solution eventually

Solution was: find pattern %/n% as delimitter

Round 2: System Design. The interviewer had a 10yoe in netwoking, so what started off as a system design of a pipeline turned into a full blown networking interview without hints. Did pretty bad here and got demotivated

Round 3: Leadership interview -> Nothing specific

Round 4: Troubleshooting -> Was not given any specific system to troubleshoot, Generic discussion of tools, log lines etc.


Overall verdict: Hire on a rating of 3/5 overall. Had high ratings in Round 3 and 4 (both had between 4 and 4.5) and mid in Round 1 (2.5-3), and low(1.5-2/5) in Round 2

Interview Questions (3)

Q1
Goat Latin
Data Structures & Algorithms

The problem can be found at the provided LeetCode link and involves transforming a given sentence into "Goat Latin" based on specific rules.

Q2
Dinosaur Problem
Data Structures & Algorithms

This refers to the first question from the LeetCode discussion post, which typically involves processing CSV data related to dinosaurs.

Q3
Print Random Line from Delimited File
Data Structures & Algorithms

Given a file that contains multiple strings, with '%' acting as a delimiter between these strings. The individual strings themselves can also contain '%' characters. Implement a function that, each time it is called, prints a random line from the file.

Meta USA E4/E5 Phone Screen -- Update Through to Onsite !
meta logo
Meta
E4/E5USA
May 15, 20254 reads

Summary

I completed a phone screen with Meta USA for an E4/E5 role, which included two specific LeetCode questions (Range Sum of BST and LRU Cache with variants), and I have advanced to the onsite rounds.

Full Experience

Hello,

Giving back to the community since reading the problems that people got in the interviews here has been super helpful for me. Just got done with my phone screen.

Was asked the following.

  1. Range Sum of BST (No variant)
  2. LRU Cache with some additional conditions and constraints.

Was able to solve the first question easily and was asked test conditions etc. Seemed like this was important and I went over how we can have negative values, low should be less than high, etc. etc.

For LRU cache, I had not solved it recently, but remembered the Double linked list solution as I had done it at some point in the past. Was not entirely sure what to store as the hashmap value so started off by saying we should store the node value and then remove the node for the get statement.

Interviewer pointed out that it would be O(N) to traverse linkedList to the node again. So then realized that we need to store pointer/reference to the node as hashmap value (Interviewer hinted and helped me get ther). Once I realized the solution, since we were running out of time interviewer just made me implement the get() method and the get_most_recent() method.

Fingers crossed to be put through to onsites. Will update once I know more.

Update: Through to Onsite!!

Interview Questions (2)

Q1
Range Sum of BST
Data Structures & Algorithms

The standard LeetCode problem 'Range Sum of BST' without any specific variants.

Q2
LRU Cache (with variants)
Data Structures & Algorithms

The standard LeetCode problem 'LRU Cache' but with some additional conditions and constraints. I needed to implement the get() and get_most_recent() methods.

Meta E4 Infra Experience
meta logo
Meta
May 15, 202550 reads

Summary

I recently had an interview experience at Meta for an E4 Infra role, where I navigated through screening and onsite rounds, encountering various LeetCode problem variants and a System Design question.

Full Experience

I recently interviewed at Meta for an E4 Infra position. The interview process consisted of a screening round followed by several onsite rounds, including both coding and system design. During the screening, I encountered two coding problems: a variant of 'Best Time to Buy and Sell Stock' and 'Minimum Remove to Make Valid Parentheses'.

For the onsite rounds, I faced several more coding challenges, all of which were variants of well-known LeetCode problems such as 'Diameter of Binary Tree', 'Basic Calculator II' (with an O(1) space constraint), 'Shortest Path in Binary Matrix', and 'Simplify Path'. The System Design round focused on designing a Game Leaderboard.

Interview Questions (7)

Q1
Best Time to Buy and Sell Stock (Variant)
Data Structures & Algorithms

A variant of the classic 'Best Time to Buy and Sell Stock' problem. The core idea is to find the maximum profit by buying and selling a stock, possibly with modified constraints or additional conditions not specified in the base problem.

Q2
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(' , ')' and lowercase English characters. Your task is to remove the minimum number of parentheses ( '(' or ')' ) so that the resulting parentheses string is valid and return any valid string.

Q3
Diameter of Binary Tree (Variant)
Data Structures & Algorithms

A variant of the 'Diameter of Binary Tree' problem. The standard problem asks to find the length of the longest path between any two nodes in a binary tree. The variant might involve additional constraints or slight modifications to the tree structure or definition of 'diameter'.

Q4
Basic Calculator II (Variant with O(1) space)
Data Structures & Algorithms

A variant of the 'Basic Calculator II' problem, specifically requiring an O(1) space solution. The standard problem involves evaluating a simple arithmetic expression string containing non-negative integers, '+', '-', '*', '/' operators and empty spaces. The variant likely imposes the strict space complexity constraint.

Q5
Shortest Path in Binary Matrix (Variant)
Data Structures & Algorithms

A variant of the 'Shortest Path in Binary Matrix' problem. The original problem asks for the length of the shortest clear path in a binary matrix from the top-left to the bottom-right cell. The variant might introduce different obstacles, path rules, or start/end points.

Q6
Simplify Path (Variant)
Data Structures & Algorithms

A variant of the 'Simplify Path' problem. The original problem involves simplifying an absolute path for a Unix-style file system. The variant might add complexities such as different path components, additional special directories, or edge cases.

Q7
Design a Game Leaderboard
System Design

Design a scalable system for a game leaderboard. Consider aspects like storing scores, retrieving top N players, handling updates, and ensuring low latency and high availability for a large number of users and games.

Preparation Tips

I prepared for the coding rounds by focusing on variants of common LeetCode problems, leveraging resources like @CodingWithMinmer's videos. For the System Design interview, I found the HelloInterview Premium subscription to be immensely helpful for a month.

Meta | E5 | US | March 2025 [Reject]
meta logo
Meta
E5US
May 14, 20253 reads

Summary

I interviewed for an E5 role at Meta in the US in March 2025 and received a rejection. My coding and behavioral rounds were strong, but I felt less confident about the system design interview.

Full Experience

Summarizing my experience:

  • Coding: Went perfect. I discussed multiple solutions, coded the most optimal one (or the one the interviewer preferred), tested thoroughly, and discussed complexities. I breezed through this round.
  • Behavioral: Was standard. My answers were aligned with company values and I used the STAR method.
  • System Design (SD): Went as per the standard roadmap. I had sufficient time to do a couple of deep dives. This is the only round I'm not confident about because of the nature of the interview.

Opinion: Sometimes interviewers have a solution in mind and that's what they want to hear.

The market is extremely tough; one word out of a picture-perfect answer and you're out.

Interview Questions (8)

Q1
Find First and Last Position of Element in Sorted Array
Data Structures & AlgorithmsMedium

Given an array of integers nums sorted in non-decreasing order, find the starting and ending position of a given target value. If target is not found in the array, return [-1, -1]. You must write an algorithm with O(log n) runtime complexity.

Q2
Clone Graph
Data Structures & AlgorithmsMedium

Given a reference of a node in a connected undirected graph, return a deep copy (clone) of the graph. Each node in the graph contains a value (int) and a list (List[Node]) of its neighbors.

Q3
Kth Largest Element in an Array
Data Structures & AlgorithmsMedium

Given an integer array nums and an integer k, return the kth largest element in the array. Note that it is the kth largest element in the sorted order, not the kth distinct element. You must solve it in O(n) time complexity.

Q4
Valid Palindrome II
Data Structures & AlgorithmsEasy

Given a string s, return true if the s can be palindrome after deleting at most one character from it.

Q5
Vertical Order Traversal of a Binary Tree
Data Structures & AlgorithmsHard

Given the root of a binary tree, calculate the vertical order traversal of the tree. For each node at (row, col) position, its left child will be at (row + 1, col - 1) and its right child will be at (row + 1, col + 1). The vertical traversal of a binary tree is a list of lists of node values, where each inner list contains the node values in a specific vertical order. Nodes within the same row and column should be sorted by their values.

Q6
Valid Palindrome III
Data Structures & AlgorithmsHard

Given a string s and an integer k, return true if s is a k-palindrome. A string is a k-palindrome if it can be transformed into a palindrome by deleting at most k characters from it.

Q7
Buildings With an Ocean View
Data Structures & AlgorithmsMedium

There are n buildings in a line. You are given an integer array heights of size n where heights[i] is the height of the ith building. A building has an ocean view if all the buildings to its right have a smaller height. Return a list of the indices (0-indexed) of buildings that have an ocean view, sorted in increasing order.

Q8
Live Comment System Design
System Design

Design a system to handle live comments, as detailed in the provided resource.

Meta E5 USA Phone Screen
meta logo
Meta
E5USA
May 13, 20254 reads

Summary

I had a phone screen for an E5 role at Meta in the USA, where I was asked to solve two LeetCode problems: Binary Tree Vertical Order Traversal and K Closest Points to Origin. I passed this round and am now scheduled for a full loop interview.

Full Experience

Had phone screen today

https://leetcode.com/problems/binary-tree-vertical-order-traversal/description/
Gave the tree and asked to figure out the order. I could not do it, so he gave me hint that it is vertically ordered.

https://leetcode.com/problems/k-closest-points-to-origin/description/?envType=company&envId=facebook&favoriteSlug=facebook-thirty-days

For both problems, asked to print them.

Waiting for results.

Update: Pass. Full loop to be scheduled

Interview Questions (2)

Q1
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

I was given a binary tree and asked to figure out its vertical order. The interviewer also specified that the result should be printed.

Q2
K Closest Points to Origin
Data Structures & Algorithms

I was asked to solve the K Closest Points to Origin problem. The interviewer requested that I print the final results.

Meta E4 SWE USA Infra LOOP | PASSED
meta logo
Meta
E4 SWE InfraUSA2.5 years
May 13, 20253 reads

Summary

I passed the Meta E4 Software Engineer interview loop for an Infra role in the USA and am currently in the team matching stage after clearing Hiring Committee.

Full Experience

Giving back the community 💯🙏

Verdict : Cleared HC, in team matching stage. Background: International candidate (Not new grad), ~2.5 years of work experience. Applied via referral in Jan.

Prep:

  1. Did top 200 questions from meta's most recently asked questions list.
  2. HelloInterview for System Design (Used the AI practice interview feature)
  3. Made sure to note down possible situations from work as they happened that can be used for the behavioral rounds.
  4. REVISE THE LC QUESTIONS
  5. Make sure the practice questions in the format in which you will deliver them. Talk about testcases, multiple approaches, pros and cons of those approaches, most optimal approach (its okay to learn the quickselect approach for finding the kth largest element 😂), dry run the code, time and space complexity.
  6. Scoured the internet for E4 experiences.

Got my recruiter call in february. At the time she mentioned that there were enough E4 positions and that I could take 3-4 weeks to prep for my phone screen rounds and thus I scheduled it in march. Due to some personal reasons, I was unable to give it then and had to reschedule this interview to March end. Halfway through to march end, the recruiter pinged me saying positions are drying up at a faster rate and that it would be advisable to move up the timeline. Anyhoo, I stuck to my timeline because of my prep and my personal life.

Phone Screen: (Did very well)

  1. Given a matrix, print the antidiagonals from top to bottom.
  2. Given a tree, print the left side view from bottom to top, then root once and then the right side view from top to bottom. (make sure to clear edge cases and talk through these possible cases).

Got my go ahead signal in 2 days, scheduled virtual onsite loop after 3 weeks. I gave this whole week as availability, got lucky with this schedule split. Again got notified that it would be advisable to move up the timeline but I wanted to prep well and was okay with being dropped due to no positions rather than being rejected due to lack of prep. (Luckily I have a job that is not bad and wanted to take my time to prep - definitely priviledged 😊)

Coding round 1 (Did well)

  1. Convert BST to Sorted DLL. (Make sure to talk about the edge cases)
  2. Variant for Robot room cleaner. I was exactly asked the cheese and mouse variant. Please checkout CodingWithMinmer's video on robot room cleaner.

In this round, I finished the first question as expected, the second one was shaky in that, I gave my approach, explained possible scenarios, gave the space and time complexity but not so perfect part was the dirty code. I had to revisit the code multiple times to make sure I had covered everything. No hints from the interviewer, just a self correction process. Did not get time to completely dry run testcases. At the end interviewer seemed satisfied but I feel the verdict for this round could have swayed both ways because of the fact that there was no clear train of thought while writing the code (Maybe I am nitpicking here but hey gotta be as perfect as humanely possible).

Coding round 2 (Did very well)

  1. LCA of Binary Tree.
  2. Print the path of the shortest path from (0,0) to (n-1,m-1) in a unweighted graph/grid.

Got through this round smoothly, no major bumps. I code in c++ so the second question took some time to type out.

Behavioral round:

The panel was sweet, luckily the interviewer and I shared the same team in our respective companies, so I assume some relatability would have happened there but no major advantage here. It was nothing more than a mere "nice, me too" kinda situation when the person mentioned their team.

I was asked the standard questions:

  1. Tell me about a time you took initiative and delivered impact
  2. Tell me about a time you had a difficult relationship with someone and how did you overcome it.
  3. Tell me about a time you recieved negative feedback
  4. Tell me about a time when your plan derailed due to factors not in your hands and how did you handle it.

This went well subjectively i.e according to me XD

System Design (Did well)

Design an ACM ICPC kinda competition platform with a real time leaderboard

This round was a little different in that

  1. The excalidraw tool was super laggy and the interviewer's question kept dissappearing as soon as it was pasted there. So had some difficulty in the start. Additionally, while I was typing and drawing, the tool would randomly freeze or not identify my keyboard/mouse clicks.
  2. The interviewer joined 2 minutes late, and took rougly 3-4 minutes to explain the question.

The first 10 minutes went in just understanding the question and adjusting to the tool. The question answering part still went pretty well according to me although at some point I had to rap about some deep dives. There was no time left for questions at the end. The main worrying thing about this round for me was that I was not able to write down around 20-25% of the stuff I said because of the crappy tool. This constitued the deep dives explanations, so yea, got a little worried there. Make sure you are going in the right direction with incremental checkups with the interviewer.

Got a call from the recruiter 3 days later saying my packet is being sent to HC and initial feedback looks positive. Got another call 2 days later saying I have cleared HC and am being put into team matching. Been there since a week now and patiently waiting :)

Huge shoutout to @CodingWithMinmer, I think all your variants are great and really good mental excerices. They really help you approach questions in a different angle, even the ones you are yet to cover. Full power to y'all!!

I hope this was helpful and all the best for your interviews!!

Cheers🥂

Interview Questions (11)

Q1
Print Anti-Diagonals of a Matrix
Data Structures & Algorithms

Given a matrix, print the antidiagonals from top to bottom.

Q2
Tree Left/Right View (Bottom-Up, Top-Down)
Data Structures & Algorithms

Given a tree, print the left side view from bottom to top, then root once and then the right side view from top to bottom. (make sure to clear edge cases and talk through these possible cases).

Q3
Convert BST to Sorted Doubly Linked List
Data Structures & Algorithms

Convert BST to Sorted DLL. (Make sure to talk about the edge cases)

Q4
Robot Room Cleaner (Cheese and Mouse Variant)
Data Structures & Algorithms

Variant for Robot room cleaner. I was exactly asked the cheese and mouse variant. Please checkout CodingWithMinmer's video on robot room cleaner.

Q5
Lowest Common Ancestor of Binary Tree
Data Structures & Algorithms

LCA of Binary Tree.

Q6
Shortest Path in Unweighted Grid
Data Structures & Algorithms

Print the path of the shortest path from (0,0) to (n-1,m-1) in a unweighted graph/grid.

Q7
Initiative and Impact
Behavioral

Tell me about a time you took initiative and delivered impact

Q8
Difficult Relationship
Behavioral

Tell me about a time you had a difficult relationship with someone and how did you overcome it.

Q9
Negative Feedback
Behavioral

Tell me about a time you recieved negative feedback

Q10
Derailed Plan
Behavioral

Tell me about a time when your plan derailed due to factors not in your hands and how did you handle it.

Q11
Design ACM ICPC Competition Platform with Real-time Leaderboard
System Design

Design an ACM ICPC kinda competition platform with a real time leaderboard

Preparation Tips

  1. Did top 200 questions from meta's most recently asked questions list.
  2. HelloInterview for System Design (Used the AI practice interview feature)
  3. Made sure to note down possible situations from work as they happened that can be used for the behavioral rounds.
  4. REVISE THE LC QUESTIONS
  5. Make sure the practice questions in the format in which you will deliver them. Talk about testcases, multiple approaches, pros and cons of those approaches, most optimal approach (its okay to learn the quickselect approach for finding the kth largest element 😂), dry run the code, time and space complexity.
  6. Scoured the internet for E4 experiences.
Meta E5/E6 interview experience London
meta logo
Meta
E5London
May 13, 20258 reads

Summary

I recently went through the Meta E5/E6 interview process in London, covering screening, coding, product architecture, and behavioral rounds, and was ultimately approved for an E5 role. Although I had hoped for E6, I believe my performance in the system design round might have contributed to the E5 outcome.

Full Experience

Hi everyone,

I recently received feedback on my Meta interview and wanted to give back to the community, since the posts here were really helpful during my preparation.

Screening

  1. LCA
  2. Basic calculator varient

I got feedback in about an hour and was moved on to the loop round.

Loop

Coding 1

  1. Balanced parentheses
  2. All paths in a grid from top left to bottom right (using BFS), with a follow-up about keys and locks-here, I just needed to explain my approach, not code it.

Coding 2

  1. Minimum window substring
  2. Simplify path

Product Architecture

  • Online auction

Behavioral

  1. Proudest project
  2. Difficult working relationship
  3. Area for development

I was approved for E5 and am now in the team match stage. I was hoping for E6, but I may not have demonstrated enough signals during the system design round.

Interview Questions (10)

Q1
Lowest Common Ancestor
Data Structures & Algorithms

I was presented with a problem related to finding the Lowest Common Ancestor (LCA).

Q2
Basic Calculator Variant
Data Structures & Algorithms

I encountered a variant of the Basic Calculator problem.

Q3
Balanced Parentheses
Data Structures & Algorithms

I was asked to solve a problem involving Balanced Parentheses.

Q4
All Paths in Grid with Keys and Locks
Data Structures & Algorithms

The problem involved finding all paths in a grid from the top-left to the bottom-right using BFS, with a follow-up question concerning keys and locks where only an approach explanation was required.

Q5
Minimum Window Substring
Data Structures & Algorithms

I was tasked with solving the Minimum Window Substring problem.

Q6
Simplify Path
Data Structures & Algorithms

I was given the Simplify Path problem to solve.

Q7
Design an Online Auction System
System Design

The Product Architecture round involved designing an online auction system.

Q8
Proudest Project
Behavioral

I was asked to describe my proudest project.

Q9
Difficult Working Relationship
Behavioral

I had to discuss a difficult working relationship I've experienced.

Q10
Area for Development
Behavioral

I was asked to identify an area for my own development.

Preparation Tips

Suggestions:
The coding rounds are pretty straightforward (usually a clear accept/reject) and often feature problems similar to tagged LeetCode questions. However, the behavioral and system design rounds are the most important at Meta. You should prepare thoroughly for these, as it depends heavily on how well you communicate your solutions and stories to the interviewer also how well interviewer is able to understand what you are communicating.

Meta Phone Screen US
meta logo
Meta
usOngoing
May 12, 202530 reads

Summary

I had a phone screen interview with Meta in the US, where I was asked two specific data structure and algorithm questions. I successfully passed this round.

Full Experience

I recently had my phone screen interview with Meta. The interview focused on two coding challenges. I was able to address both problems effectively, and I received a positive outcome for this round.

Interview Questions (2)

Q1
K Closest Points to Origin Variant
Data Structures & Algorithms

I was presented with a variant of the 'K Closest Points to Origin' problem. The core task was to identify and return only the single closest point to the origin, rather than a set of K points.

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & Algorithms

The second question was the classic 'Lowest Common Ancestor of a Binary Tree' problem, presented without any specific modifications or variations.

Meta E4 Product Screen + Onsite
meta logo
Meta
Software Engineer E4US
May 11, 20252 reads

Summary

I successfully completed my Meta E4 product screen and onsite interviews a few months ago, and I am sharing the specific questions I encountered during the process.

Full Experience

Giving back to the community. Done a few months ago

Screen: i18n + range sum bst

Coding 1: minimum window substring + max diameter

Coding 2: sum root to leaf + dot product (array method)

Product Arch: ticket booking with focus on API/DB schema

Passed. US location

Interview Questions (7)

Q1
i18n (Internationalization)
Other

This question likely involved concepts related to internationalization (i18n), potentially covering system design aspects, API considerations, or implementation details for supporting multiple languages and regions within a software product. Given it was a product screen, it might have involved discussions around product implications or technical solutions for i18n.

Q2
Range Sum of BST
Data Structures & AlgorithmsEasy

Given the root node of a binary search tree and two integers low and high, return the sum of all nodes' values that are in the inclusive range [low, high].

Q3
Minimum Window Substring
Data Structures & AlgorithmsHard

Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such substring, return the empty string "".

Q4
Diameter of Binary Tree
Data Structures & AlgorithmsEasy

Given the root of a binary tree, return the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root.

Q5
Sum Root to Leaf Numbers
Data Structures & AlgorithmsMedium

You are given the root of a binary tree where each node has a value 0 to 9. Each root-to-leaf path represents a number. For example, if the path is 1->2->3, the number is 123. Return the total sum of all root-to-leaf numbers.

Q6
Dot Product (Array Method)
Data Structures & Algorithms

Implement a function to calculate the dot product of two arrays or vectors. The 'array method' specification suggests a direct implementation rather than focusing on sparse matrix optimizations, though that could have been an extension.

Q7
Design a Ticket Booking System
System DesignHard

Design a system for booking tickets, with a primary focus on defining the API endpoints and the database schema. This typically involves considerations for user management, event/ticket management, the booking process, payment integration, and handling concurrency.

Meta E5 SWE Infra Onsite Coding round 1 - US
meta logo
Meta
SWE InfraUS
May 9, 20252 reads

Summary

I experienced a coding round for a Meta E5 SWE Infra position in the US, which included two specific LeetCode problems.

Interview Questions (2)

Q1
Making A Large Island
Data Structures & Algorithms
Q2
Buildings With an Ocean View
Data Structures & Algorithms
Meta Loop
meta logo
Meta
May 9, 20254 reads

Summary

I'm sharing the interview questions encountered during my Meta interview process, across multiple rounds.

Interview Questions (4)

Q1
Buildings With an Ocean View
Data Structures & Algorithms

Given an array of building heights, return a list of buildings that have an ocean view. A building has an ocean view if all buildings to its right are strictly shorter.

Q2
Variant of Remove All Adjacent Duplicates In String
Data Structures & Algorithms

A variation of the problem where you remove all adjacent duplicate characters from a string until no more duplicates can be removed.

Q3
Lowest Common Ancestor of a Binary Tree III
Data Structures & Algorithms

Find the lowest common ancestor of two given nodes in a binary tree where each node has a parent pointer.

Q4
Random Pick with Weight
Data Structures & Algorithms

Given an array of positive integers w, where w[i] describes the weight of index i, implement the function pickIndex which randomly picks an index in proportion to its weight.

Meta | Phone Screen | Bangalore
meta logo
Meta
Bangalore
May 7, 20252 reads

Summary

I had a phone screen with Meta in Bangalore where I was asked two data structure and algorithm questions. One involved counting occurrences of 1s in a given range using an API, and the other was about finding the most frequent number in a set of overlapping ranges.

Full Experience

Phone Screen Round

Asked 2 questions

  1. Given a range of 0 and 1, count the number of occurrences of 1 within the specified range. There will be an API where you pass the start and end values, and it returns the total count of 1's.
  2. Given a range of numbers, find the number that occurs most frequently within the ranges. For example, with the input [[1, 4], [2, 5], [3, 6], [6, 9]], the output would be 3.

Interview Questions (2)

Q1
Count Occurrences of 1s in Binary Range with API
Data Structures & Algorithms

Given a range of 0 and 1, count the number of occurrences of 1 within the specified range. There will be an API where you pass the start and end values, and it returns the total count of 1's.

Q2
Find Most Frequent Number in Overlapping Ranges
Data Structures & Algorithms

Given a range of numbers, find the number that occurs most frequently within the ranges. For example, with the input [[1, 4], [2, 5], [3, 6], [6, 9]], the output would be 3.

Meta E4 Full Loop Interview Experience! (Awaiting results but not positive)
meta logo
Meta
May 6, 20255 reads

Summary

I underwent a full-loop interview at Meta for an E4 level position. While I performed well in the behavioral and system design rounds, I struggled to deliver bug-free code for the data structure and algorithm problems due to nerves.

Full Experience

Hi all! Just following up on my full loop experience with Meta and giving back to the community as much as I can BASED ON MY EXPERIENCE. I will skip the behavioral round details as it's fairly standard! Now to the meat of it..

C1Q1: 346. Moving average from data stream Instead of implementing the "next()" function, I just add to an array of the sums by the time I get to the last element of the array, and return the resulting array. Ex: Given a list [1,2,3,4,5] and a window size = 3, my resulting output should be [2.0, 3.0, 4.0]

C1Q2: 215. Kth largest element in an array (no variant) I was under the impression the time complexity for a MaxHeap here would be O(nlogk) however the interviewer was convinced it was O(nlogn). Not sure who is right because when I use leetcode's analysis tool it tells me O(nlogk).

C2Q1: 921. Minimum add to make valid paranthesis (no variant, nothing more than paranthesis on the input string)

  1. Random pick with weight (variant. At least, I assume this is a variant because it seemed very similar to the original question) Given a list of cities and their respective populations in a map (ex: {NY: 7M, LA: 5M, BJ: 10M}) create a function that randomly picks a city based on the probability that a random person would be from that city (so for NY it would be 5/22, because it has 5M out of the total 22M population in the map).

System Design: Design a scoreboard for some online (or mobile) game that shows the Top 10 rankings of my friends, and globally. It should also show the top rankings of all my friends and all globally (not just top 10, I should ask to better define how many I am willing to show, how to show it, etc.)

I believe I did well on everything, except for the coding interviews. For all of the questions, I talked through the sub-optimal or "naive" solution, talked through and agreed upon the optimal solution with my interviewers, but ultimately could not code a "bugless" final solution, even though I've practiced these questions ad infinitum. Nerves just got the better of me!

Interview Questions (5)

Q1
Moving Average from Data Stream (Variant)
Data Structures & Algorithms
  1. Moving average from data stream. Instead of implementing the "next()" function, I just add to an array of the sums by the time I get to the last element of the array, and return the resulting array. Ex: Given a list [1,2,3,4,5] and a window size = 3, my resulting output should be [2.0, 3.0, 4.0]
Q2
Kth Largest Element in an Array
Data Structures & Algorithms
  1. Kth largest element in an array (no variant). I was under the impression the time complexity for a MaxHeap here would be O(nlogk) however the interviewer was convinced it was O(nlogn). Not sure who is right because when I use leetcode's analysis tool it tells me O(nlogk).
Q3
Minimum Add to Make Valid Parentheses
Data Structures & Algorithms
  1. Minimum add to make valid paranthesis (no variant, nothing more than paranthesis on the input string)
Q4
Random Pick with Weight (City Population Variant)
Data Structures & Algorithms
  1. Random pick with weight (variant. At least, I assume this is a variant because it seemed very similar to the original question). Given a list of cities and their respective populations in a map (ex: {NY: 7M, LA: 5M, BJ: 10M}) create a function that randomly picks a city based on the probability that a random person would be from that city (so for NY it would be 5/22, because it has 5M out of the total 22M population in the map).
Q5
Design a Scoreboard for an Online Game
System Design

Design a scoreboard for some online (or mobile) game that shows the Top 10 rankings of my friends, and globally. It should also show the top rankings of all my friends and all globally (not just top 10, I should ask to better define how many I am willing to show, how to show it, etc.)

Meta Infra US Screening
meta logo
Meta
US
May 5, 20253 reads

Summary

I had a screening interview with Meta today. I was asked one behavioral question and two coding questions, one being a variant of Random Pick with Weight and the other Lowest Common Ancestor of a Binary Tree. I'm unsure about the outcome as I ran out of time on one coding question.

Full Experience

Screening interview happened today, not sure if I stand a chance.

Behavioral question

  • Explain in depth a conflict situation while collaborating with another team, steps taken and conclusion.

Coding questions

  1. Variant of https://leetcode.com/problems/random-pick-with-weight - This one I coded fine.
  2. As it is https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/ - This one I explained everythng and ran out of time finishing the recursion exit conditions (missed 2 out of 4).

Hope this helps!

Interview Questions (3)

Q1
Conflict Resolution with Another Team
Behavioral

Explain in depth a conflict situation while collaborating with another team, steps taken and conclusion.

Q2
Random Pick with Weight (Variant)
Data Structures & Algorithms
Q3
Lowest Common Ancestor of a Binary Tree
Data Structures & Algorithms
Meta E5 Phone Screen Interview
meta logo
Meta
E5
May 3, 20254 reads

Summary

I recently went through a phone screen for Meta, which included behavioral questions and two coding challenges: one on stack operations for directory changes and another on string modification to form a palindrome.

Full Experience

Sharing My Meta Phone Screen Experience with the Community I recently went through a phone screen for Meta and wanted to share my experience:

Behavioral Questions: The interview started with a 20-minute discussion focused on behavioral questions. Coding 1: I was asked to work with stack operations, specifically handling cwd (current working directory) and cd (change directory). You can practice similar problems on LeetCode's https://leetcode.com/problems/simplify-path/ Coding 2: The final problem involved modifying a string to create a palindrome by deleting just one character. A similar problem on LeetCode is "Can Make Palindrome from Substring" or "Minimum Insertion Steps to Make a String Palindrome". https://leetcode.com/problems/valid-palindrome-ii/description/

Hope this helps others preparing for their interviews!

Interview Questions (2)

Q1
Simplify Path / Current Working Directory Operations
Data Structures & Algorithms

I was asked to work with stack operations, specifically handling cwd (current working directory) and cd (change directory). You can practice similar problems on LeetCode's https://leetcode.com/problems/simplify-path/

Q2
Valid Palindrome II / Palindrome by Deleting One Character
Data Structures & Algorithms

The final problem involved modifying a string to create a palindrome by deleting just one character. A similar problem on LeetCode is "Can Make Palindrome from Substring" or "Minimum Insertion Steps to Make a String Palindrome". https://leetcode.com/problems/valid-palindrome-ii/description/

Meta E5 phone screen experience
meta logo
Meta
May 3, 20257 reads

Summary

I cleared a Meta phone screen where I solved two data structure and algorithm problems, including implementing a custom data structure and 'Copy List with Random Pointer'.

Full Experience

Hello,

Cleared Meta phone screen. Giving back to the community.

Q1. Implement a class for interface DataStructure<T> with 4 methods -

  • contains(T t)
  • add(T t)
  • remove(T t)
  • listItemsInOrderOfInsertion()

All operations should be as efficient as possible.

Suggested the optimal solution would be to use a Map and Doubly linked list (similar to LRU Cache) but thought might take longer to code it so initially wrote normal list based container. Interviewer wanted optimal solution so ended up implementing the doubly linked list solution. Discussed TC and SC and dry ran some test cases.

Q2. OG Copy list with random pointer - https://leetcode.com/problems/copy-list-with-random-pointer. Implemented One pass solution to copy next and random pointer using Map<existingNode, cloneNode>. Dry ran test cases and found small bug missing null check in createCloneNode() method.

Recruiter reached out next day with positive feedback.

Interview Questions (2)

Q1
Implement Custom DataStructure with Efficient Operations
Data Structures & AlgorithmsHard

Implement a class for interface DataStructure<T> with 4 methods -

  • contains(T t)
  • add(T t)
  • remove(T t)
  • listItemsInOrderOfInsertion()

All operations should be as efficient as possible.

Q2
Copy List with Random Pointer
Data Structures & AlgorithmsMedium

OG Copy list with random pointer.

Meta E6 Loop experience
meta logo
Meta
E69.5 years
May 2, 20254 reads

Summary

I had an E6 loop at Meta, comprising two coding rounds, two system design rounds (Ticketmaster and Ad impressions aggregator), and a behavioral round. I performed well in coding and behavioral, but felt time management in system design could be improved. I am currently awaiting the results and feeling nervous.

Full Experience

I just had a loop at meta for e6 role. YOE - 9.5 1st coding round: optimally completed the 1st Q. Completed the 2nd Q as well but not optimal 2nd coding round: both questions done optimally though 2nd Q after some brainstorming. System design round 1 (Ticketmaster): Gave the HLD and the deep dive to handle locking via redis and hold period. Basic strategies for handling scale in last 2 mins as time went by quickly. Interviewer asked couple of questions only at the end which I answered. But i think time management was not perfect. I missed some points which i wanted to make. Behavioural: Gave perfect anecdotes at senior and staff level with great impact and scale. I think this went great. System design round 2 (Ad impressions aggregator): Gave the HLD with 2 deep dives into fault tolerance, low latency and scaling using Kafka.

Awaiting for the result. I am really nervous.

Interview Questions (2)

Q1
Design Ticketmaster
System Design

Design a system like Ticketmaster. I provided a High-Level Design (HLD) and deep dived into handling locking via Redis and managing a hold period. I also discussed basic strategies for handling scale.

Q2
Design Ad Impressions Aggregator
System Design

Design an Ad Impressions Aggregator system. I provided a High-Level Design (HLD) with two deep dives focusing on fault tolerance, low latency, and scaling using Kafka.

Meta | Onsite
meta logo
Meta
Onsite
May 2, 20253 reads

Summary

I solved all the coding questions, and the behavioral and product design rounds went well, but I was ultimately rejected without specific feedback from the recruiter. The difficulty with one particular coding question, even though I solved it with hints, might have contributed to the rejection.

Full Experience

C2Q2, the question threw me off, I have never solved it before. Interviewer tried helping me with hints, I was able to code the solution. I have verified with couple of test cases, interviwer also verified the solution with a test case and confimred that the code works. At the end interviewer told me to comment on the TC, SC also told that I was over the time limit by 2 minutes. I expected a positive outcome as I have solved all the questions and behav, design also went good. But I got rejected. C2Q2 may be the reason or leetcode design, or even behav, who knows. Recruiter didn't give any feedback. Back to the grind :)

Interview Questions (3)

Q1
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(' , ')' and lowercase English characters. Your task is to remove the minimum number of parentheses ( '(' or ')', in any positions ) so that the resulting parentheses string is valid and return any valid string. A string s is valid if: It is an empty string, contains only lowercase characters, or (A) or AB where A and B are valid strings. Follow up: String can have all kinds of parentheses (e.g., {}, [], ()).

Q2
Nested List Weight Sum
Data Structures & AlgorithmsMedium

You are given a nested list of integers nestedList. Each element is either an integer or a list whose elements may also be integers or other lists. Each integer has one depth. The depth of an integer is how many lists it is inside of. For example, the integer 3 in [1,[2,[3]]] has depth 3. Return the sum of all integers in nestedList weighted by their depth.

Q3
Binary Tree Cameras
Data Structures & AlgorithmsHard

You are given the root of a binary tree. We install cameras on some nodes of the tree. Each camera at a node can monitor itself, its parent, and its direct children. Return the minimum number of cameras needed to monitor all nodes of the tree.

Meta | frontend | Phone screen
meta logo
Meta
frontend
April 28, 20252 reads

Summary

I had a phone screen interview at Meta for a frontend role, where I was asked to implement two JavaScript functions from scratch: Memoize and Classnames.

Full Experience

Both question where to write JS functions from stratch:

  1. Write Memoize function: https://www.greatfrontend.com/questions/javascript/memoize

  2. Write Classnames function: https://www.greatfrontend.com/questions/javascript/classnames

Interview Questions (2)

Q1
Implement Memoize Function
Data Structures & Algorithms

Write a JavaScript function from scratch to implement a memoize function. This function should cache the results of expensive function calls and return the cached result when the same inputs occur again.

Q2
Implement Classnames Function
Data Structures & Algorithms

Write a JavaScript function from scratch to implement the classnames utility. This function should take multiple arguments (strings, objects, arrays) and conditionally join them to form a CSS class string.

Meta | Infra E4 | US
meta logo
Meta
Infra E4US
April 28, 20252 reads

Summary

My interview experience for an Infra E4 role at Meta included a phone screen with two algorithm questions and an onsite round featuring five technical problems, including both data structures & algorithms and a system design challenge.

Full Experience

Phone screen

  1. 3Sum Closest
  2. Continuous Subarrays, variant (maybe?) with length of subarray must be at least 3 and absolute value of the difference between any pair of numbers is in [0, 1].

Onsite

  1. Diameter of Binary Tree
  2. Binary Tree Vertical Order Traversal
  3. Pow(x, n)
  4. Group Shifted Strings
  5. Design Ad Click Aggregator

Interview Questions (7)

Q1
3Sum Closest
Data Structures & Algorithms

3Sum Closest

Q2
Continuous Subarrays Variant
Data Structures & Algorithms

Continuous Subarrays, variant (maybe?) with length of subarray must be at least 3 and absolute value of the difference between any pair of numbers is in [0, 1].

Q3
Diameter of Binary Tree
Data Structures & Algorithms

Diameter of Binary Tree

Q4
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

Binary Tree Vertical Order Traversal

Q5
Pow(x, n)
Data Structures & Algorithms

Pow(x, n)

Q6
Group Shifted Strings
Data Structures & Algorithms

Group Shifted Strings

Q7
Design Ad Click Aggregator
System Design

Design Ad Click Aggregator

Meta Phone Screen
meta logo
Meta
April 28, 20254 reads

Summary

I had a recent phone screen interview with Meta where I solved one coding problem perfectly and struggled with another.

Full Experience

Sharing my recent phone screen experience. 1) Min add to make parenthethis valis: No variant. https://leetcode.com/problems/minimum-add-to-make-parentheses-valid/description/. This round was perfect. Coded and did a dry run with multiple examples. 2) Merge 3 sorted arrays. The resulted array should not have duplicates. Got confused and messed this up. Did the coding but could not finish in time :( Good luck everyone who is preparing for Meta!

Interview Questions (2)

Q1
Minimum Add to Make Parentheses Valid
Data Structures & AlgorithmsMedium

Given a string S of '(' and ')' parentheses, the task is to find the minimum number of parentheses to add to make the string valid. This was the standard LeetCode problem, with no variants mentioned.

Q2
Merge Three Sorted Arrays with No Duplicates
Data Structures & Algorithms

Merge three given sorted arrays into a single resultant array. The key constraint is that the merged array should not contain any duplicate elements.

Meta Phone Screen SWE E4 | Cleared
meta logo
Meta
SWE E4
April 27, 20255 reads

Summary

I recently cleared my Meta SWE E4 phone screen and received an invitation for an onsite interview.

Full Experience

Sharing my recent Meta SWE E4 phone screen experience - cleared it and got invited for onsite!

Here are the questions that were asked:

Q1) - https://leetcode.com/problems/buildings-with-an-ocean-view/ No variant, standard version.

Interviewer mentioned that right-to-left traversal was allowed, so I gave that approach.

Had a small syntax issue in my for loop, which the interviewer pointed out, fixed it and dry ran with test cases.

Interviewer asked if the code could be made cleaner, it was already time and space optimized, and I couldn’t think of much more on the spot. (Maybe could have mentioned the monotonic stack approach, but we moved on.)

Q2) https://leetcode.com/problems/diagonal-traverse/description/ No variant, standard version.

I started with the simulation approach, briefly mentioned the diagonal index relationship but didn’t explore it too much.

Honestly, was a little confused on the simulation, interviewer then changed the question to a simpler "diagonal in one direction" version.

Interviewer gave a small nudge about the row/col relationship, which I elaborated on.

Coded the simpler version using a hashmap and dry ran it, also verbally explained how it would work for reverse diagonals.

Interviewer asked about how to optimize further, I was still thinking about the original simulation idea, but at the last second I mentioned using an array instead of a hashmap.

Good luck to everyone preparing!

Interview Questions (2)

Q1
Buildings With an Ocean View
Data Structures & AlgorithmsMedium

Standard version of the problem. The interviewer mentioned that right-to-left traversal was allowed.

Q2
Diagonal Traverse
Data Structures & AlgorithmsMedium

Standard version of the problem. I initially started with a simulation approach. The interviewer then changed the question to a simpler "diagonal in one direction" version after I was confused. The interviewer gave a small nudge about the row/column relationship.

Meta experience E4
meta logo
Meta
E4USA
April 25, 20251 reads

Summary

I interviewed for an E4 role at Meta, going through a phone screen and virtual onsite that included coding, system design, and behavioral rounds. Unfortunately, I did not receive an offer, attributing it to insufficient preparation for problem variants.

Full Experience

Phone screen:

  1. Pivot number in an array, sum left = sum right
  2. Next permutation

Virtual onsite:

Coding 1:

  1. Lowest common ancestor in a binary tree - space optimize
  2. Minimum remove for valid parentheses - space optimize

Coding 2:

  1. Merge intervals with variant [2 separate sorted lists, combine them into one]
  2. Matrix path from top left to bottom right, return path

Product Architecture:

  • Design Leetcode - Small scale Meta internal

Behavioral:

  • Conflict resolution
  • Architectural/code design decision you took and later regretted
  • Gone above and beyond on some project/feature work

Location: USA

[Edit]: Thanks @CodingWithMinmer. After 2 weeks got the reply that I didn't make it. In a way, I was expecting this. I didn't prepare for the Variants. I got to know about the variants too late in my preparation.

Interview Questions (10)

Q1
Pivot Index / Find Equilibrium Index
Data Structures & AlgorithmsEasy

Given an array of integers, find the pivot index where the sum of the numbers to the left of the index is equal to the sum of the numbers to the right of the index.

Q2
Next Permutation
Data Structures & AlgorithmsMedium

Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.

Q3
Lowest Common Ancestor of a Binary Tree (Space Optimized)
Data Structures & AlgorithmsMedium

Find the lowest common ancestor (LCA) of two given nodes in a binary tree. The problem had a specific requirement for space optimization.

Q4
Minimum Remove to Make Valid Parentheses (Space Optimized)
Data Structures & AlgorithmsMedium

Given a string s of '(' , ')' and lowercase English characters. Your task is to remove the minimum number of parentheses ( '(' or ')', in any positions ) so that the resulting parentheses string is valid and return any valid string. The problem had a specific requirement for space optimization.

Q5
Merge Overlapping Intervals from Two Sorted Lists
Data Structures & AlgorithmsMedium

Given two separate lists of sorted, non-overlapping intervals, merge all intervals from both lists into a single list of sorted, non-overlapping intervals.

Q6
Path from Top-Left to Bottom-Right in a Matrix
Data Structures & AlgorithmsMedium

Given a matrix, find a path from the top-left cell to the bottom-right cell and return the sequence of cells in the path.

Q7
Design LeetCode (Small Scale, Meta Internal)
System DesignHard

Design a system similar to LeetCode, tailored for small-scale internal use at Meta. This would involve considerations for problem storage, submission handling, test case execution, user management, etc.

Q8
Conflict Resolution
Behavioral

Describe a situation where you had a conflict with a coworker, manager, or project stakeholder, and how you resolved it.

Q9
Regretted Architectural/Code Design Decision
Behavioral

Discuss an architectural or code design decision you made that you later came to regret, explaining why it was regretted and what you learned from it.

Q10
Going Above and Beyond on a Project
Behavioral

Share an example where you went above and beyond your standard responsibilities on a project or feature work.

Preparation Tips

I realized I didn't prepare adequately for problem variants, which I encountered late in my preparation.

Meta (London) SWE, ML E4 Screen II
meta logo
Meta
SWE, ML E4London
April 24, 20252 reads

Summary

I underwent an additional screen for a SWE ML E4 position at Meta in London. I was asked two specific LeetCode problems: a Meta variant of Subarray Sum Equals K and Subsets. I successfully solved both, despite Subsets being a new problem for me.

Full Experience

I was asked to go through an additional screen after my last one (I'm guessing I didn't do a good job communicating alongside coding then):

Q1. the typical Meta variant of #560. Subarray Sum Equals K, covered by @CodingWithMinmer here

Q2. #78. Subsets

It was my first time attempting Q2 but miraculously I was able to decipher the logic, code it up, successfully dry run, as well as accurately contextualize the complexities on the fly. I hope I don't come across any more unseen questions in the on-site rounds though. 🤞🏽

Interview Questions (2)

Q1
Subarray Sum Equals K (Meta Variant)
Data Structures & Algorithms

I was asked a typical Meta variant of LeetCode problem #560. Subarray Sum Equals K. The post links to a video by @CodingWithMinmer that covers this variant.

Q2
Subsets
Data Structures & Algorithms

I was asked LeetCode problem #78. Subsets.

Meta phone screen follow-up
meta logo
Meta
April 24, 20252 reads

Summary

I had a phone screen follow-up at Meta, which involved two data structures and algorithms questions.

Full Experience

  1. Given a sorted array and an int k, return the index of first element greater than k.
  2. given a binary tree imagine yourself standing on left of tree and output a list of nodes that you see from bottom to top, then standing on right hand side of tree output the list of nodes you see from top to bottom

Interview Questions (2)

Q1
Find First Element Greater Than K in Sorted Array
Data Structures & Algorithms

Given a sorted array and an integer k, return the index of the first element greater than k.

Q2
Binary Tree Left View (Bottom-Up) and Right View (Top-Down)
Data Structures & Algorithms

Given a binary tree, imagine yourself standing on the left side of the tree and output a list of nodes that you see from bottom to top. Then, standing on the right-hand side of the tree, output the list of nodes you see from top to bottom.

Meta phone screen
meta logo
Meta
US5 years
April 21, 20254 reads

Summary

I had a phone screen with Meta where I was asked two coding problems: an adaptation of Merge K Sorted Lists and Clone Graph. I successfully solved both problems and am awaiting the results.

Full Experience

YOE - 5+
Location - US

Alright time to give back to the community !!

I was asked 2 problems


Was able to solve these problems. Looking forward to the result.

PS: Meta does not need you to run the code. So don't worry too much about the syntax. Make sure logic is solid.

Interview Questions (2)

Q1
Merge K Sorted Lists with getNext() Function
Data Structures & Algorithms

The problem was similar to Merge K Sorted Lists but with List<List<Integer>> as input instead of linked lists.
The aim was to implement a getNext() function that returns the next element in sorted order across all lists.
The eventual output of all calls to getNext() would be a sorted list containing all elements from all input lists.

Q2
Clone Graph
Data Structures & AlgorithmsMedium

The problem was to clone a given graph.

Meta Banglore Rejection
meta logo
Meta
Banglore
April 20, 20253 reads

Summary

I recently completed my loop interview with Meta for a Bangalore location, covering coding, ML design, and behavioral questions. While I was ultimately rejected, I am sharing the process and specific questions to help others prepare.

Full Experience

I have recently completed my loop interview with Meta for Banglore location. I am sharing below the interview process and questions (if it helps).

Interview Process:

  1. Phone Screen: Leetcode Tagged Questions (1 Medium , 1 Easy)
  2. Loop ML Interview
    1. 2 X Coding Interview (2 Questions each - 2XMedium)
    2. 1 X ML Design
    3. 1 X Behavioural

Interview Questions:

Coding Questions (Top-100 Meta Tagged LC Questions):

  • 1091: Shortest Path in Binary Matrix (Asked to find the route and not just the size)
  • 1762: Buildings With an Ocean View
  • 314: Binary Tree Vertical Order Traversal
  • 1004: Max Consecutive Ones III
  • 215: Kth Largest Element in an Array

PS: This include the questions from Phone screen and Loop Interview. I don't recall the 6th question.

Behavioural Interview

  • Recent Project and my role
  • What is the area of self-growth (and how this has impacted in past)
  • Scenario or tough relationship / conflict at work
  • The are some project specific question

ML Design

  • Design a System to detect harmful ads (viz. arms selling, etc) and take it down

Interview Questions (9)

Q1
Shortest Path in Binary Matrix (with route)
Data Structures & Algorithms

Given a binary matrix, find the shortest clear path from the top-left cell to the bottom-right cell. The path must only include cells with value 0, and all adjacent cells in the path must be 8-directionally connected. The problem specifically asked to find the route itself, not just the length of the shortest path.

Q2
Buildings With an Ocean View
Data Structures & Algorithms

You are given an array heights of positive integers, where heights[i] represents the height of the i-th building. You want to find all the buildings that have an ocean view. A building has an ocean view if all the buildings to its right are strictly shorter. Return a list of the indices of buildings that have an ocean view, sorted in increasing order.

Q3
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column). If two nodes are in the same row and same column, the order should be from left to right.

Q4
Max Consecutive Ones III
Data Structures & Algorithms

Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's.

Q5
Kth Largest Element in an Array
Data Structures & Algorithms

Given an integer array nums and an integer k, return the k-th largest element in the array. Note that it is the k-th largest element in the sorted order, not the k-th distinct element.

Q6
Discuss a recent project and your role
Behavioral

Describe a recent project you worked on and elaborate on your specific contributions and responsibilities within that project.

Q7
Area of self-growth and its impact
Behavioral

Identify an area where you have focused on self-growth and explain how developing in this area has impacted your past work or experiences.

Q8
Handling tough relationships or conflicts at work
Behavioral

Describe a scenario where you faced a tough relationship or conflict with a colleague or team member at work, and how you handled it.

Q9
Design a System to Detect Harmful Ads
System Design

Design an end-to-end system capable of detecting harmful advertisements (e.g., those selling arms) and subsequently taking them down. Discuss aspects such as data ingestion, feature engineering, model selection, evaluation, deployment, and monitoring.

Preparation Tips

Takeaway and Suggestions:

  1. Instead of asking folks for referral, directly apply into their website. Its highly likely you'll hear back
  2. I don't have good feeling of Meta recruiters, I need to follow-up multiple times before they share the application update
  3. The Meta gives very less time for interview preparation. I was given 2 weeks for Phone Screen and 2.5 weeks for ML-Loop. I feel I fall short of time to practice for ML Design and Behavioural.
  4. The behavioral questions will be there to judge some Meta values. Its not just important to keep the stories but being able to narrate well when different questions being asked. Prepare well.
  5. For ML Design, the question is very specific (similar thing happen with me at Google). I studied typical question the designing recommendation system and all but question is simple and narrowed down. The expectation is very high to cover things in quite a lot detail and touch all the aspects of Model Development , Data / Feature Engineering (Data Sampling and imbalance set is very import), Model Evaluation. Prepare well with whiteboard and try giving 1-2 mock with and EM or Staff MLE/Applied-Scientist to prepare well.
Meta | Phone Screen | US
meta logo
Meta
US
April 14, 20253 reads

Summary

I recently had a phone screen round for Meta in the US, where I was asked two algorithmic questions: a random city generator based on population probability and a string matching problem involving alphanumeric abbreviations.

Full Experience

I had a phone screen round recently for Meta. Below are the 2 questions asked:

  1. Probability problem - Random city generator with a map input and output a city based on its population divided by the sum of all cities. Map will have city name and its population.
  2. String matching problem - given 2 strings, one being alphaneumeric abbreviation and other being bigger string. return boolean if bigger string is satisfies the pattern of smaller string as its abbreviation. For ex. string a = "i18n" b = "internationalization", a = "8" b = "Facebook", a = "a2b3c" c = "aaabbbbc"

Interview Questions (2)

Q1
Random City Generator by Population Weight
Data Structures & Algorithms

Probability problem - Random city generator with a map input and output a city based on its population divided by the sum of all cities. Map will have city name and its population.

Q2
Alphanumeric Abbreviation String Matching
Data Structures & Algorithms

String matching problem - given 2 strings, one being alphaneumeric abbreviation and other being bigger string. return boolean if bigger string is satisfies the pattern of smaller string as its abbreviation. For ex. string a = "i18n" b = "internationalization", a = "8" b = "Facebook", a = "a2b3c" c = "aaabbbbc"

Meta (London) SWE, ML E4 Screen
meta logo
Meta
SWE, ML E4London
April 14, 20252 reads

Summary

I had an interview at Meta in London for a SWE, ML E4 role where I was asked two specific LeetCode problems: Add Strings and Least Common Ancestor III.

Full Experience

Lucked out, no variations. Although, the prep to end up getting these questions was rather overkill, I nevertheless want to shout-out @CodingWithMinMer for the work they've done in assisting others (see, for example).

Interview Questions (2)

Q1
Add Strings
Data Structures & Algorithms

The problem asked was LeetCode #415: Add Strings.

Q2
Least Common Ancestor III
Data Structures & Algorithms

The problem asked was LeetCode #1650: Least Common Ancestor III.

Preparation Tips

Although, the prep to end up getting these questions was rather overkill, I nevertheless want to shout-out @CodingWithMinMer for the work they've done in assisting others (see, for example).

Meta full loop
meta logo
Meta
April 10, 20253 reads

Summary

I went through the Meta full loop interview process, which included a phone screen, two coding rounds, a system design round, and a behavioral round.

Full Experience

Phone Screen:

  1. Right side of bt (recursion)
  2. Minimum remove to make valid paranthesis (don't use stack)
  3. Find element in rotated sorted array

Coding Round 1:

  1. Simplify Path (variant also given current working directory)
  2. Vertical order traversal of bt

Coding Round 2:

  1. Basic calculator (don't use stack)
  2. Sum root to leaf of bt

System Design: Design chat application

Behavioral : General questions (got nervous in this round :_))

Interview Questions (8)

Q1
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. The problem suggested using recursion.

Q2
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(' , ')' and lowercase English characters. Your task is to remove the minimum number of parentheses ( '(' or ')') so that the resulting parentheses string is valid. The problem specifically asked not to use a stack for the solution.

Q3
Search in Rotated Sorted Array
Data Structures & AlgorithmsMedium

Search for a target value in a rotated sorted array.

Q4
Simplify Path (with current working directory variant)
Data Structures & AlgorithmsMedium

Given a string path, which is an absolute path (starting with a slash '/') to a file or directory in a Unix-style file system, convert it to the simplified canonical path. A variant was given involving the current working directory.

Q5
Vertical Order Traversal of a Binary Tree
Data Structures & AlgorithmsHard

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column).

Q6
Basic Calculator (without stack)
Data Structures & AlgorithmsHard

Implement a basic calculator to evaluate a simple expression string. The problem explicitly stated not to use a stack for the solution.

Q7
Sum Root to Leaf Numbers
Data Structures & AlgorithmsMedium

Given a binary tree where each node contains a digit from 0-9, each root-to-leaf path represents a number. Return the total sum of all root-to-leaf numbers.

Q8
Design a Chat Application
System Design

Design a scalable chat application.

Meta E4 SWE Infra Full Loop
meta logo
Meta
SWE Infra E4
April 10, 20254 reads

Summary

I completed a full-loop interview at Meta for a SWE Infra E4 role, which included a phone screen, two coding, two system design, and one behavioral round. I detailed the specific questions asked in each round, along with my approaches and follow-up discussions, and am currently awaiting results.

Full Experience

Completed the full loop at Meta today.

FYI, I was scheduled 5 total interviews from the start (1 behavioral, 2 Coding, 2 System Design)

Phone Screen

  1. 347. Top K Frequent Elements - No variations. Solved with bucket sort.
  2. 207. Course Schedule - Phrased as "Software Packages Install Order"

Behavioral

Typical behavioral questions. What project are you most proud of? Tell me about a time you had a conflict with a coworker? You mentioned you are interested in X topic, what are some experiences you have with that? Interviewer asked tons of questions, felt like a conversation.

System Design 1

Design Netflix. Interviewer gave very weird vibes throughout the whole interview. Didn't really say much other than "what tradeoffs", "I don't understand" , "are there any other considerations you wish to talk about?" . Overall design was heavily based off Youtube design from Hello Interview. I think my design was solid, could have had better communication with the interviewer. Round I am most unsure about.

Coding 1

  1. 215. Kth Largest Element - No variant. Used heap solution.
  2. 543. Diameter of Binary Tree - No variant. Had to count # nodes in the diameter rather than edges as in the LC problem. Solved with DFS.

Coding 2

  1. 129. Sum Root to Leaf Numbers - No variant. I wanted to solve it with Morris Traversal, but interviewer made me use DFS instead. Some followups about how "0" would be handled (no change needed) as well as "What if result and/or current number is too big to fit into any size integer?" . Gave some verbal explanation of tracking values using a list. Was not asked to code this up.
  2. 708. Insert Into a Sorted Circular Linked List - No variant. Had to return pointer to newly inserted node. Solved with two pointer approach. Interviewer asked lot of followups about edge cases and how solution would handle them.

System Design 2

Design a Leaderboard...? Gaming platform with user scores. Users can see global leaderboard, leaderboard of friends, and their position in leaderboard as well as 10 ppl above and below them. Solved using redis sorted sets and typical system design stuff. Interviewer had a reverse shadow so I think this round didn't count, but not sure.

Interview Questions (9)

Q1
Top K Frequent Elements
Data Structures & Algorithms

Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order. The problem description can be found at the provided LeetCode link. No variations were mentioned.

Q2
Course Schedule / Software Packages Install Order
Data Structures & Algorithms

The problem was phrased as "Software Packages Install Order". The core problem is equivalent to LeetCode 207. Course Schedule, where you are given a total number of courses you have to take, labeled from 0 to numCourses - 1, and an array of prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. Return true if you can finish all courses, otherwise false. The full problem description can be found at the provided LeetCode link.

Q3
Behavioral Questions
Behavioral

Typical behavioral questions were asked, including: "What project are you most proud of?", "Tell me about a time you had a conflict with a coworker?", and "You mentioned you are interested in X topic, what are some experiences you have with that?". The interview felt conversational.

Q4
Design Netflix
System Design

Design a system like Netflix. The interviewer focused on tradeoffs and clarifications ("what tradeoffs", "I don't understand", "are there any other considerations you wish to talk about?").

Q5
Kth Largest Element in an Array
Data Structures & Algorithms

Given an integer array nums and an integer k, return the kth largest element in the array. Note that it is the kth largest element in the sorted order, not the kth distinct element. No variant was mentioned. The problem description can be found at the provided LeetCode link.

Q6
Diameter of Binary Tree (Node Count Variation)
Data Structures & Algorithms

The problem was a variation of LeetCode 543. Diameter of Binary Tree. Instead of counting the number of edges in the diameter, I had to count the number of nodes. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root. The full problem description for the original problem can be found at the provided LeetCode link.

Q7
Sum Root to Leaf Numbers
Data Structures & Algorithms

Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. Find the total sum of all root-to-leaf numbers. No variant was mentioned for the core problem. Follow-up questions included "how 0 would be handled" (no change needed) and "What if result and/or current number is too big to fit into any size integer?". The problem description can be found at the provided LeetCode link.

Q8
Insert Into a Sorted Circular Linked List
Data Structures & Algorithms

Given a reference to a node in a circularly sorted linked list, insert a new element insertVal into the list such that it remains a circularly sorted list. The new node should be inserted such that the list remains sorted. If there are multiple valid places to insert, any of them is fine. We need to return the pointer to the newly inserted node. No variant was mentioned. The interviewer asked a lot of follow-ups about edge cases and how the solution would handle them. The problem description can be found at the provided LeetCode link.

Q9
Design a Leaderboard
System Design

Design a leaderboard for a gaming platform with user scores. Users should be able to see a global leaderboard, a leaderboard of their friends, and their own position in the leaderboard along with 10 people above and below them.

Preparation Tips

Studied using Meta tagged questions on Leetcode, Coding with Minmer guides, HelloInterview, and Alex Wu System design.

Meta Phone Screen [rejected]
meta logo
Meta
April 8, 20252 reads

Summary

I had my first ever phone screen with Meta, where I was rejected after solving one coding question and struggling with a follow-up. I did not receive any specific feedback for improvement.

Full Experience

Q1: 1570 https://leetcode.com/problems/dot-product-of-two-sparse-vectors as is Solved by condensing vectors into [idx, val], then two pointers

Q2: Follow Up - what if vectors are not sparse and instead have blocks of repeated numbers like [5, 5, 5, 5, 2, 2] Stumbled and could not figure it out, eventually with hints made it to a similar structure of [val, frequency] but never wrote any code. In hindsight the solution seems easy but nerves, pressure, time really factor in.

Was my first ever phone screen so at the end I asked the interviewer for feedback around how I could improve for future screens, was told they are not allowed to disclose that. Recruiter said the same thing afterwards. Kind of sucks that they don't provide any direction around where to focus your future prep effots.

Interview Questions (2)

Q1
Dot Product of Two Sparse Vectors
Data Structures & Algorithms
Q2
Dot Product of Vectors with Blocks of Repeated Numbers
Data Structures & Algorithms

Follow Up - what if vectors are not sparse and instead have blocks of repeated numbers like [5, 5, 5, 5, 2, 2]

Meta - Phone screening
meta logo
Meta
April 7, 20252 reads

Summary

I experienced a phone screening with Meta, where I was presented with two variant LeetCode problems: Basic Calculator II and Valid Parentheses.

Full Experience

Q1. https://leetcode.com/problems/basic-calculator-ii/description/ (variant) Q2. https://leetcode.com/problems/valid-parentheses/description/ (variant)

That's it!

EDIT: They were variants but nothing crazy

Interview Questions (2)

Q1
Basic Calculator II (Variant)
Data Structures & AlgorithmsMedium

A variant of the LeetCode problem 'Basic Calculator II'.

Q2
Valid Parentheses (Variant)
Data Structures & AlgorithmsEasy

A variant of the LeetCode problem 'Valid Parentheses'.

Meta Phone Screen
meta logo
Meta
April 7, 20253 reads

Summary

I had a phone screen with Meta where I was asked two coding questions, including a LeetCode problem and a variant of another. Despite my approach, I was rejected a few days later.

Full Experience

I was asked two coding questions during my phone screen.

One was a straightforward problem, and the other was a variant that caught me off guard. I tried a two-pass DFS approach for the second question but couldn't get it working in one pass. In hindsight, BFS with queue length for level traversal would have been a better approach for both left and right side views.

I got rejected a few days later.

The role was not for a specific location, but the recruiter mentioned current openings are mainly in Menlo Park and Seattle.

Interview Questions (2)

Q1
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms

Refer to the problem description at the provided LeetCode link: https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/description/

Q2
Binary Tree Left and Right Side View (Variant)
Data Structures & Algorithms

Refer to the problem description at the provided LeetCode link: https://leetcode.com/problems/binary-tree-right-side-view/description/. The variant specifically asked for both left and right side views.

Meta Interview Experience
meta logo
Meta
1.5 years
April 5, 20254 reads

Summary

I went through a Meta interview process, detailing my friend's experience which included several rounds of coding, system design, and behavioral questions. Despite receiving positive feedback across all rounds, I was not extended an offer, which I believe was due to my limited 1.5-2 years of experience.

Full Experience

My friend's experience:

Screening:

  1. aTOI: https://leetcode.com/problems/string-to-integer-atoi/description/ Please note you have to come up with integer overflow edge case yourself
  2. Left and right view of binary tree (thanks @Minmer!!!)

1st Onsite:

  1. This was not a tagged question - https://leetcode.com/problems/strobogrammatic-number-ii/
  2. Making a large island Interviewer praised for doing both questions (especially 2nd one) within timeframe - looked satisfied

2nd Onsite:

  1. https://leetcode.com/problems/maximum-swap/description/?envType=company&envId=facebook&favoriteSlug=facebook-all
  2. https://leetcode.com/problems/group-shifted-strings/description/ Solved both, interviewer seemed satisfied Interviewer was satisfied

Sys design:

  1. Design Leetcode Interviewer was satisfied - asked follow up questions

Behavioural:

  1. Standard conflict questions
  2. What if two imp projects together

Verdict: HR mentioned feedback was positive for all the rounds, although we are not able to find a role/team for you because of your experience.

I asked may i know how can i improve he did not mention anything. I think i have just 1.5-2 YOE that's why.

My tip would be whenever you are preparing for meta, please ensure you are covering all test cases - please make sure you learn edge cases by heart.

Interview Questions (9)

Q1
String to Integer (atoi)
Data Structures & Algorithms

Implement the myAtoi(string s) function, which converts a string to a 32-bit signed integer. Please note you have to come up with integer overflow edge case yourself.

Q2
Left and Right View of Binary Tree
Data Structures & Algorithms

Find the left and right view of a binary tree.

Q3
Strobogrammatic Number II
Data Structures & Algorithms

Given an integer n, return all the strobogrammatic numbers that are of length n.

Q4
Making A Large Island
Data Structures & Algorithms

Given a binary matrix, you are allowed to change at most one 0 to 1. Return the size of the largest island in the matrix.

Q5
Maximum Swap
Data Structures & Algorithms

Given a non-negative integer, you could swap two digits at most once to get the maximum possible number. Return the maximum possible number.

Q6
Group Shifted Strings
Data Structures & Algorithms

We can shift a string by shifting each of its letters to its successive letter. Given a list of strings, group all strings that belong to the same shifting sequence.

Q7
Design LeetCode
System Design

Design the LeetCode platform, including its core functionalities like problem creation, user submission, code execution, and leaderboards.

Q8
Conflict Resolution
Behavioral

Standard questions about how I would handle conflicts with team members or stakeholders.

Q9
Prioritizing Conflicting Projects
Behavioral

How would I manage a situation where I have two important projects due simultaneously or conflicting priorities?

Preparation Tips

My tip would be whenever you are preparing for meta, please ensure you are covering all test cases - please make sure you learn edge cases by heart.

Meta Phone Screen Interview
meta logo
Meta
E4 Infra
April 5, 20253 reads

Summary

I had a phone screen interview at Meta for an E4 Infra role, which included a LeetCode problem and a custom problem about finding the minimum cost for a round trip between two cities with time-sequenced flight costs.

Full Experience

Appeared for Meta E4 Infra phone screen interview this week.

Questions:

  1. Valid Word Abbreviation
  2. Written Below:

Plan a round trip between 2 cities with minimum flight cost From departure city to destination city, the fees are stored in array D[] From destination city to departure city, the fees are stored in array R[]

D: [10, 8, 9, 11, 7] R: [8, 8, 10, 7, 9]

The minimum cost will be D[1] + R[3] = 15

EDIT: Yes, lists are time sequenced, according to my interviewer. Meaning, D[0] corresponds to Day #1, then Day[1] corresponds to Day #2, etc. And, the return trip can NOT be taken BEFORE the 1st trip. However, the return trip CAN be taken on the same day as the 1st trip.

Interview Questions (2)

Q1
Valid Word Abbreviation
Data Structures & AlgorithmsMedium

Given a word and an abbreviation, determine if the word matches the abbreviation. An abbreviation can be formed by replacing a non-empty substring of a word with its length.

Q2
Minimum Round Trip Flight Cost
Data Structures & AlgorithmsMedium

Plan a round trip between two cities with minimum flight cost. From departure city to destination city, fees are stored in array D[]. From destination city to departure city, fees are stored in array R[]. Both D and R arrays are time-sequenced, where D[0] corresponds to Day #1, D[1] to Day #2, etc. The return trip cannot be taken before the first trip, but can be taken on the same day. Example: D: [10, 8, 9, 11, 7], R: [8, 8, 10, 7, 9]. The minimum cost will be D[1] + R[3] = 15.

Meta Full Loop (E4/E5) | Product SWE | Passed
meta logo
Meta
Product SWE6 years
April 4, 20252 reads

Summary

I recently completed a full loop interview at Meta for a Product SWE (E4/E5) role and successfully moved to the team matching phase. I was downleveled from E4/E5 largely due to mismanaging time in the Product Architecture round.

Full Experience

Hi All,

Giving back to community. Recently I gave full loop and moved to team matching phase.

Phone screen :

  1. Merge 3 sorted array
  2. not on leetcode (but it was LC easy level)

Onsite

Coding - 1

  1. LC-236
  2. LC-658

Coding - 2

  1. LC-766
  2. LC-199 - with left

Product Architecture

  • From top 10 in hellointerview

Behaviour

  • Typical questions related to conflict, achievement, growth, etc.

Huge shout-out to CodingWithMinmer for all variations and OG (my most of questions were from the problems he covered).

For design, please manage time efficiently. My interviewer left completly on me in terms of time management and I misjudged it thinking that he's fine covering initial design and could only get 5-10 minutes for deep-dive. So, you are on your own in terms of time management. Got downleveled because of that. Do a mock round please!

YOE : 6 years TC : 160k gbp

Interview Questions (5)

Q1
Merge 3 Sorted Arrays
Data Structures & Algorithms

Merge three given sorted arrays into a single sorted array.

Q2
Lowest Common Ancestor of a Binary Tree
Data Structures & AlgorithmsMedium

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.

Q3
Find K Closest Elements
Data Structures & AlgorithmsMedium

Given a sorted integer array arr, two integers k and x, return the k closest integers to x in the array. The result should also be sorted in ascending order.

Q4
Toeplitz Matrix
Data Structures & AlgorithmsEasy

Given an m x n matrix, return true if the matrix is Toeplitz. Otherwise, return false. A matrix is Toeplitz if every diagonal from the top-left to the bottom-right has the same elements.

Q5
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. The problem included a variation, 'with left'.

Preparation Tips

I utilized CodingWithMinmer for various coding problem variations. For system design, I recommend efficient time management and mock rounds, learning from my experience where misjudging time led to downleveling.

Meta Phone Screen + On site Loop | Full Experience | Rejected
meta logo
Meta
2 years
April 4, 20257 reads

Summary

I had a phone screen and an onsite loop with Meta for a role requiring 2 years of experience. After preparing for about two months, I was ultimately rejected due to my performance in Coding 2 and System Design rounds, but found it a positive learning experience.

Full Experience

2 YOE

Giving back to the community. Recruiter reach out around Jan and scheduled phone interview in end of Feb. I spent about a total of 2 months (1 for phone screening and 1 for on site) to prepare for the interview, around 1 hours before and after my full time job.

Phone Screen:
- Qn 1: 408. Valid Word Abbreviation (No Variant)
- Qn 2: Codebook question, where you are given a hashmap of random code and you can come up with the different permutations of it. I believe it is a variant and I can't find any similar question on LC. Solution proposed: Backtracking.

I could not solve Qn 2 at all but I proposed and coded up a backtracking solution which was close to the ideal solution. Heard back in under 1 hr from the recruiter and was shocked that I was moved on to the next round.

On site:
Behavioural:
Standard behavioural questions, interviewer asked a lot of questions - Why META was asked.

System Design (Product)
Design Leetcode

Follow Hellointerview format and was drilled hard on API design and deep dives on caching. Feedback was negative as I could not answer some of the interviewer's questions such as why redis was chosen and any alternative solution to redis sorted sets.

Coding 1:
- Qn 1: 236. Lowest Common Ancestor of a Binary Tree (No Variant)
- Qn 2: 347. Top K Frequent Elements (No Variant)

Solved both optimally and was asked further questions to provide more testcases and different approachs to the questions (i.e use BFS for Q1 and use heap for Qn 2).

Coding 2:
- Qn 1: Given three Array, find the k element. Proposed helper function to merge two array at one time. Was asked to merge all three array at a go and use heap. I could not come up with a heap solution at all. I was asked to come up with another solution if there is Nth of array instead of 3. Was able to come up with a solution similar to 23. Merge k Sorted Lists. Question is quite similar to this.

- Qn 2: 1004. Max Consecutive Ones III (Variant) The question is similar to the first variant question in this

I had to come up with the solution quickly qn 2 as I have used up too much time trying to solve qn 1.

Outcome:
Rejected 2 days after the onsite interview due to coding 2 and product design round. I was unfortunate to face too many variant questions in the whole interview process but it was overall a positive interview experience. As this is my first time interview with Meta and I have definitely learned a lot from this process. Will definitely try again after 1 year of cooldown.

Interview Questions (8)

Q1
Valid Word Abbreviation
Data Structures & Algorithms

Given a word and an abbreviation, determine if the word matches the abbreviation. This is LeetCode 408.

Q2
Codebook Permutations
Data Structures & Algorithms

Given a hashmap of random codes, generate different permutations of these codes. The candidate believes it's a variant of a problem and proposed a backtracking solution.

Q3
Why Meta?
Behavioral

Standard behavioral question: Why are you interested in working at Meta?

Q4
Design LeetCode
System Design

Design the LeetCode platform, with deep dives on API design and caching. I was drilled hard on API design and deep dives on caching, and asked about choices like Redis and alternative solutions to Redis sorted sets.

Q5
Lowest Common Ancestor of a Binary Tree
Data Structures & Algorithms

Find the lowest common ancestor (LCA) of two given nodes in a binary tree. This is LeetCode 236.

Q6
Top K Frequent Elements
Data Structures & Algorithms

Given an integer array nums and an integer k, return the k most frequent elements. This is LeetCode 347.

Q7
Find K-th Element from Three/N Sorted Arrays
Data Structures & Algorithms

Given three (or N) sorted arrays, find the k-th element. The problem is quite similar to LeetCode 23. Merge k Sorted Lists.

Q8
Max Consecutive Ones III (Variant)
Data Structures & Algorithms

Given a binary array nums and an integer k, return the maximum number of consecutive 1's in the array if you can flip at most k 0's. This is a variant of LeetCode 1004.

Preparation Tips

I spent about a total of 2 months (1 for phone screening and 1 for on site) to prepare for the interview, around 1 hours before and after my full time job.

Huge shoutout to Coding with Miner, your videos are extremely useful in my preparation.

Meta - Phone Screen (London) Interview E5/E6 [Passed]
meta logo
Meta
E5/E6London
April 3, 20255 reads

Summary

I successfully passed a Meta E5/E6 phone screen in London, despite making critical mistakes on one of the two coding questions, emphasizing the importance of strong communication and adaptability during the interview process.

Full Experience

  1. On question one i made a huge mistake, because task was presented without any constraints. So i jumped into the coding taking care of just numbers and letters and Inteviewer quickly presented test case to show me my incompentence. Please, please. Speak with your Interviewer before coding! Verify question, verify constraints, discuss even before presenting approach.. It could cost me rejection. Luckily i responded very quickly and adapted, so in next few minutes i quickly veryfied constrainst and came with good creative test cases. I guess it saved my ass.
  2. On question two after discussion i quickly came with linear approach, and i think expressed my process very clearly. What is more important i came also with binary search approach, but i didn't repeat my mistake from question one and started dicussing my quick BS implementation. Together with the Interviewer we quickly verified test cases and i realized how tricky is this variant, and probably binary search is not possible and we should fall back to linear approach.

As you see i made a mistakes, and still passed. I assume it's because i kept Interviewer engaged, i responded quickly to the feedback and also was ready to deeply discuss approach, not just a coding. That should be the lesson for us.

Interviewer was extremely professional and very metodic, so it made things much more easy to understand expectations. So i guess i was lucky meeting this Interviewer, he built very positive experience.

Interview Questions (2)

Q1
Valid String (Lighter Variant of Valid Number)
Data Structures & Algorithms

A lighter variant of Valid Number without taking care about exponent. Variant presented here.

Q2
Find Local Minimum (Variant of Find Peak Element)
Data Structures & Algorithms

Find local minimum, a variant of this LeetCode Find Peak Element. Input can have repeated numbers and minimums are inclusive (>=lm<=). Worth watching this video.

Preparation Tips

Thanks for Minmer&Summer for their fantastic job on YT channel, it's so helpful.

Meta E5 | London | Rejected
meta logo
Meta
E5London
April 3, 20253 reads

Summary

I interviewed for an E5 position at Meta in London, completing a screening round and an on-site consisting of coding, design, and behavioral rounds, but ultimately received a rejection.

Full Experience

Screening Round

Q1: Given departure and return flight ticket price in two seprate array for each day. Give minimum cost round trip

Q2: Get Max K element in un sorted array

On Site: Coding 1: Q1: find closest element in BST

Q2: product of two sparse array like more zeros then non zero number optimal storage of array then extention of one long and other short array

Coding2: Q1: Left view and then right view of tree in response second question forgot

Design round:

Design Top K songs per user for past 90 days Messed it up big time by having two pointer approach from hellointerview.

Behavioural round:

  1. project proud of
  2. conflict handling
  3. building systenm with unclear requirement
  4. How you are improving yourself continuosly
  5. handling conflict in product discussion
  6. difficult work environment how did you manage.

I can't imagine i messed it up this process.

#Meta #London #interview

Interview Questions (12)

Q1
Minimum Cost Round Trip Flights
Data Structures & Algorithms

Given departure and return flight ticket price in two separate arrays for each day, find the minimum cost for a round trip.

Q2
Find Kth Largest Element in Unsorted Array
Data Structures & Algorithms

Get Max K element in un sorted array.

Q3
Find Closest Element in BST
Data Structures & Algorithms

Find the closest element in a Binary Search Tree (BST).

Q4
Product of Two Sparse Arrays with Optimal Storage
Data Structures & Algorithms

Calculate the product of two sparse arrays (arrays with more zeros than non-zero numbers). Discuss optimal storage for such arrays, and then consider an extension involving one long and one short array.

Q5
Left View and Right View of Binary Tree
Data Structures & Algorithms

Return the left view and then the right view of a binary tree.

Q6
Design Top K Songs Per User (Last 90 Days)
System Design

Design a system to find the top K songs played per user for the past 90 days.

Q7
Tell me about a project you're proud of.
Behavioral

Tell me about a project you're proud of.

Q8
Describe a situation where you had to handle a conflict.
Behavioral

Describe a situation where you had to handle a conflict.

Q9
Describe building a system with unclear requirements.
Behavioral

Describe a situation where you had to build a system with unclear requirements.

Q10
How do you continuously improve yourself?
Behavioral

How are you continuously improving yourself?

Q11
Describe handling conflict in a product discussion.
Behavioral

Describe a situation where you had to handle conflict in a product discussion.

Q12
Describe managing in a difficult work environment.
Behavioral

Describe a situation where you managed in a difficult work environment.

Meta E5 Onsite Loop | Bangalore
meta logo
Meta
E5Bangalore
April 3, 20253 reads

Summary

I went through a comprehensive E5 onsite interview loop at Meta in Bangalore, which included a phone screen, two data structures and algorithms rounds, a product architecture design round, and a critical behavioral round.

Full Experience

Phone screen : https://leetcode.com/discuss/post/6560544/meta-e5-phone-screen-passed-by-anonymous-30p2/

Round 1 (DSA)

I solved both questions within 25 minutes. The interviewer then asked a follow-up question on the second problem.

Round 2 (DSA)

Round 3 (Product Architecture Design)

This round focused on designing a coding platform like leetcode, with major discussions around supporting multiple concurrent competitions.

Round 4 (Behavioral)

This is the most crucial round at Meta. You need to be 100% confident in the stories you present. Avoid fabricating experiences—they can easily detect inconsistencies.

Interview Questions (5)

Q1
Merge Sorted Array
Data Structures & Algorithms

size of first array is n+m, where n is the size of elemetns in first array and m is size of elements in second array

Q2
Minimum Remove to Make Valid Parentheses
Data Structures & Algorithms
Q3
Palindrome Linked List
Data Structures & Algorithms
Q4
Kth Missing Positive Number
Data Structures & Algorithms
Q5
Design a Coding Platform like LeetCode
System Design

This round focused on designing a coding platform like leetcode, with major discussions around supporting multiple concurrent competitions.

Preparation Tips

I solved one of the DSA problems (Kth Missing Positive Number) as part of LeetCode's daily challenge two days before my onsite interview.

Surprised by new requirements presented mid-implementation
meta logo
Meta
April 1, 20254 reads

Summary

I recently interviewed with Meta and encountered a novel experience during a coding interview where new requirements were presented mid-implementation for a problem involving balancing parentheses while preserving the meaning of an arithmetic expression.

Full Experience

I was recently interviewing with Meta and had a novel experience during a coding interview.

The interviewer gave me a relatively straightforward problem, remove parentheses from a string so the remaining parentheses are balanced.

I got about half way through implementing a solution and the interviewer interrupted me to ask what the code I had written so far would do with a particular example input. I did a quick verbal walkthrough of which parentheses it would remove and why and showed the results would be balanced. Then the interviewer said that those results would change the meaning of the string if the non-parentheses characters were considered to be an arithmetic expression, and I needed to keep that meaning.

I'm no stranger to having new requirements added in a coding interview, but I'm used to it coming at the end. The usual process is to set and solve an easy problem, then add a new constraint to make it harder and modify the solution to satisfy the new constrait. This interview with the new constraint coming in the middle was a novel experience for me.

What made it problematic is that the interviewer didn't present it as a new constraint. At no point did he acknowledge that this constraint wasn't present in the original problem or demonstrated by any of the given examples. And he didn't seem interested in seeing me finish solving the original problem. I was a bit flustered, and it took me maybe a minute to figure out what the new constraint really meant. I did end up solving the problem with the new constraint, but I think I gave a bad impression in the middle while I was dealing with the change.

So, anyway, the moral of the story is to be ready for this experience, and don't let it throw you off like it did me.

Interview Questions (1)

Q1
Balance Parentheses with Arithmetic Meaning Preservation
Data Structures & Algorithms

The interviewer initially presented a problem: remove parentheses from a string so the remaining parentheses are balanced. Mid-implementation, an additional constraint was introduced: if the non-parentheses characters are considered an arithmetic expression, their meaning must be preserved after removing parentheses.

Meta E4 SDE London Onsite Interview Experience
meta logo
Meta
E4 SDELondon2 years
April 1, 20253 reads

Summary

I completed my full loop onsite interview for the Meta E4 SDE role in London. Despite one round resulting in a 'Lean Hire', I received 'Hire' and 'Strong Hire' ratings in the other rounds including Phone Screen, System Design, DSA Round 1, and Behavioral, and I am hoping for a positive outcome.

Full Experience

Hey Everyone!

Yesterday, I completed my full loop onsite interview for the Meta E4 (London) role.

Years of Experience: 2.0 years

Phone Screen

Diameter of Binary Tree
Vertical Order Traversal of a Binary Tree

I solved both problems using the optimal approach. Within a couple of hours, I received an email confirming I had passed and was moving forward to the onsite interviews.

Rating: Hire

System Design

Problem: Design an Ad Click Aggregator
I followed the HelloInterview format and discussed topics like:

  • Batch processing (using Spark)
  • Horizontal scaling
  • Handling peak load(API GATEWAY, LB,Rate Limiter)

I struggled a bit with the back-of-the-envelope estimation, especially around DAU, but I still provided a rough estimate.

Rating: Hire

DSA Round 1

Valid Palindrome II + follow-up: Removing k characters

Course Schedule II (solved using Topo Sort)

I completed both questions with the optimal approach and discussed:

  • Time & Space Complexity
  • Dry runs for given testcase

Rating: Strong Hire

DSA Round 2

This round where I feel something went wrong like interviewer didn’t give the problem statement instead of that he verbally explained the question in very vague manner,I struggled to understand the problem statement anyhow I understand and verify the problem with taking one input output with my own and he confirmed for that I got asked this question intially Input is an integer array, and it should return a local minimum element. Local minimum element is the element from the array that is less or equal to its neighbors

Here's the solution I wrote:


class Solution {
public:
    int findLocalMin(vector<int>& nums) {
        int n = nums.size();
        int left = 0, right = n - 1;
    while (left &lt; right) {
        int mid = left + (right - left) / 2;
        if (nums[mid] &gt; nums[mid + 1]) {
            left = mid + 1;
        } else {
            right = mid;
        }
    }
    return nums[left];
}

};

Dry run the code with my own testcase but interviwer ask do you need any other testcase to check I said it seems fine for me and we moved to second question Merge 3 sorted arrays and remove duplicates.I used a 3 pointer approach and dry run completely and still we have some time left so he asked the follow up for first question

Follow-Up:

the local minimum must be strictly less than its neighbors. I suggested modifying the final condition like this:


if ((left == 0 || nums[left] < nums[left - 1]) &&
    (left == n - 1 || nums[left] < nums[left + 1])) {
    return nums[left];
}

But the interviewer pointed out this condition wasn’t part of my original solution, and I admitted I had missed this edge case earlier. I was asked to integrate this logic into the binary search loop, but unfortunately, I froze at that point, and time ran out.

Rating: Lean Hire

Behavioral Round

  • Conflict resolution
  • Proud project
  • Areas of improvement
  • Adapting to changing requirements

Rating: Hire

What are my chances for an offer?

Despite the “Lean Hire” in one round, the rest of the interviews went well with Hire and Strong Hire ratings, including System Design. I'm hoping for a positive outcome!

Any thoughts or insights from those who’ve been through the process would be appreciated!

Interview Questions (12)

Q1
Diameter of Binary Tree
Data Structures & Algorithms

I solved this problem using the optimal approach.

Q2
Vertical Order Traversal of a Binary Tree
Data Structures & Algorithms

I solved this problem using the optimal approach.

Q3
Design an Ad Click Aggregator
System Design

Problem: Design an Ad Click Aggregator.
I followed the HelloInterview format and discussed topics like:

  • Batch processing (using Spark)
  • Horizontal scaling
  • Handling peak load(API GATEWAY, LB,Rate Limiter)

I struggled a bit with the back-of-the-envelope estimation, especially around DAU, but I still provided a rough estimate.

Q4
Valid Palindrome II with K character removal
Data Structures & Algorithms

Valid Palindrome II + follow-up: Removing k characters. I completed both questions with the optimal approach and discussed Time & Space Complexity and Dry runs for given testcase.

Q5
Course Schedule II
Data Structures & Algorithms

Course Schedule II (solved using Topo Sort). I completed both questions with the optimal approach and discussed Time & Space Complexity and Dry runs for given testcase.

Q6
Find Local Minimum in Array
Data Structures & Algorithms

Input is an integer array, and it should return a local minimum element. A local minimum element is the element from the array that is less or equal to its neighbors.

Q7
Merge 3 Sorted Arrays and Remove Duplicates
Data Structures & Algorithms

Merge 3 sorted arrays and remove duplicates.

Q8
Find Strict Local Minimum in Array (Follow-Up)
Data Structures & Algorithms

Follow-Up for the local minimum problem: the local minimum must be strictly less than its neighbors. I was asked to integrate this logic into the binary search loop, but unfortunately, I froze at that point, and time ran out.

Q9
Conflict resolution
Behavioral

Discussed conflict resolution scenarios.

Q10
Proud project
Behavioral

Discussed a project I am proud of.

Q11
Areas of improvement
Behavioral

Discussed areas of improvement.

Q12
Adapting to changing requirements
Behavioral

Discussed adapting to changing requirements.

Meta E5 screening
meta logo
Meta
E5
April 1, 20254 reads

Summary

I had a screening interview at Meta for an E5 role where I was asked two specific data structures and algorithms questions.

Full Experience

Question 1: Given a list with each entry represnting height of buildings, return the index of the buildings which have ocean view. the ocean is on the right side of the array

Questions 2: Lowest common ancestor of two nodes in a tree where Node class has parent node poiner as well

Interview Questions (2)

Q1
Buildings with an Ocean View
Data Structures & AlgorithmsMedium

Given a list with each entry represnting height of buildings, return the index of the buildings which have ocean view. the ocean is on the right side of the array

Q2
Lowest Common Ancestor with Parent Pointer
Data Structures & AlgorithmsMedium

Lowest common ancestor of two nodes in a tree where Node class has parent node poiner as well

Meta Phone Screen E6
meta logo
Meta
April 1, 20255 reads

Summary

I had a phone screen with Meta for an E6 level position. The interview included behavioral questions and two LeetCode-style coding problems.

Full Experience

Interview started with 15 min behavior questions and then leetcode questions

1. Similar to Moving Average From Data Stream. Exact Question is in the variant section of video
2. Similar to Random Pick With Weight. Exact Question is the variant section of video

Interview Questions (2)

Q1
Moving Average From Data Stream (Variant)
Data Structures & AlgorithmsEasy

The problem is similar to Moving Average From Data Stream. The exact question can be found in the variant section of the provided video.

Q2
Random Pick With Weight (Variant)
Data Structures & AlgorithmsMedium

The problem is similar to Random Pick With Weight. The exact question can be found in the variant section of the provided video.

Meta E4 Phone Screen - Reject
meta logo
Meta
March 30, 20257 reads

Summary

I had a phone screen with Meta for an E4 role and received a reject. I successfully solved a standard LeetCode problem, Longest Substring Without Repeating Characters, but ran out of time while attempting a challenging variant of Accounts Merge.

Full Experience

Interviewer was 2-3 mins late

1 mins of greetings and straight to coder pad

Q1 : https://leetcode.com/problems/longest-substring-without-repeating-characters [ No variant]

Solved it within 10-12 mins , gave RT etc , dry run it for a TC, I think I did good here.


Q2: https://leetcode.com/problems/accounts-merge [ Variation ]
Instead of merging accounts you will be given. username : [ emails , .... ]
People with same emails is one person, return a list of usernames
like : [ [ username1, username2 ] , [...] ] where username1 and 2 are same person.


I knew I had to use connected components since I had solved the original problem, but labelling back to the usernames and grouping them was tricky since unfortunately I had not solved the variant before. I figured it out but by the time I could code up the solution time was up , could barely write any code.

Got a reject the next day, Was very disappointed since I had prepared really well , I had done all of the 100-150 meta tagged questions, but I feel time is too less to solve a new problem/ a tricky variant within 15 mins in the interview setting. I guess hard luck will try again. But interviewer was completely robotic no reaction , let me struggle till the end in silence. I tried over-communicating my thought process but that did not help , even though I did come up with the algorithm and if had 5-7 mins more might have coded it up too , all I can do is think about it now, I guess it was not meant to be :/

Interview Questions (2)

Q1
Longest Substring Without Repeating Characters
Data Structures & AlgorithmsMedium

Given a string s, find the length of the longest substring without repeating characters. This was the standard LeetCode problem, no variant was given.

Q2
Accounts Merge (Variant)
Data Structures & AlgorithmsHard

Instead of merging accounts you will be given. username : [ emails , .... ]
People with same emails is one person, return a list of usernames
like : [ [ username1, username2 ] , [...] ] where username1 and 2 are same person.

Preparation Tips

I had prepared really well, having done all of the 100-150 Meta tagged questions.

**Meta Full Loop E5 Bangalore - Interview Experience (Reject)**
meta logo
Meta
senior software engineerbangaloreRejected
March 28, 202542 reads

Summary

I interviewed for an E5 Senior Software Engineer position at Meta in Bangalore. The full loop consisted of five rounds covering coding, system design, and behavioral questions. Unfortunately, I was rejected due to my performance in the Product Architecture and Behavioral rounds.

Full Experience

I had a comprehensive interview experience for an E5 Senior Software Engineer position at Meta in Bangalore. My current role is Senior Software Engineer at a Tier 2 Retail Firm.

Round 1: Coding

This round involved two coding problems:

  1. Next Greater Number: A standard problem to find the next greater element.
  2. Equilibrium Index in O(1) Space: I was asked to find an equilibrium index in an array, ensuring an O(1) space complexity solution.

Round 2: Coding

This round also had multiple parts:

  1. Moving Average in Every Window of Size k: I first tackled the moving average problem for fixed-size windows.
  2. Print Summaries for Every Window in an Unlimited Stream: This was an extension of the previous problem, adapted for an iterator-based unlimited stream.
  3. Clone Graph: A classic graph problem. We had a lot of discussion around corner cases, cycles, and handling other related concerns.

Round 3: Product Architecture

This was a system design round where I was asked to design an Audio Channel System, specifically for versions 2.1 to 5.1. The requirements included identifying all subsystems, ensuring compatibility with multiple operating systems, and supporting platforms like WhatsApp (audio/video), Facebook Live, and Instagram Reels, with considerations for live streaming and similar use cases. I particularly struggled with designing client interfaces like codecs, handling multiple operating systems, and designing hardware interfaces in this round.

Round 4: Pirate Round (Behavioral)

The interviewer focused heavily on my past projects and achievements. Unfortunately, it seemed like my responses didn't fully convince him.

Round 5: Coding

The final coding round presented two more problems:

  1. Merge Two Arrays with O(1) Space and Linear Time: I was given an example: input arrays [1, 2, 5, 0, 0, 0] and [3, 4, 6] should result in [1, 2, 3, 4, 5, 6].
  2. Power Function (a^b) in O(log b) Time with O(1) Space: Implement a power function with specific time and space constraints.

Final Verdict: Rejected

Unfortunately, I didn’t perform well enough in the Product Architecture and Behavioural rounds, leading to a rejection. I now have a one-year cooling period.

Interview Questions (9)

Q1
Next Greater Number
Data Structures & Algorithms

Find the next greater element for each element in an array.

Q2
Equilibrium Index (O(1) Space)
Data Structures & Algorithms

Find an equilibrium index in an array such that the sum of elements at lower indices is equal to the sum of elements at higher indices, doing so in O(1) space complexity.

Q3
Moving Average in Every Window of Size k
Data Structures & Algorithms

Calculate the moving average for every window of a given size k.

Q4
Print Summaries for Every Window in an Unlimited Stream (Iterator-based)
Data Structures & Algorithms

Given an iterator-based unlimited stream, print summaries for every window.

Q5
Clone Graph
Data Structures & Algorithms

Clone an undirected graph. The discussion involved various corner cases, cycles, and related concerns.

Q6
Design an Audio Channel System (v2.1 to 5.1)
System DesignHard

Design an audio channel system supporting versions 2.1 to 5.1. This involved identifying all subsystems, ensuring compatibility with multiple operating systems, and supporting platforms like WhatsApp (audio/video), Facebook Live, and Instagram Reels, considering live streaming use cases. I specifically struggled with designing client interfaces (codecs), handling multiple operating systems, and designing hardware interfaces.

Q7
Past Projects and Achievements
Behavioral

The interviewer asked a lot of questions about my past projects and achievements, and it seemed like my responses were not fully convincing.

Q8
Merge Two Sorted Arrays in O(1) Space
Data Structures & Algorithms

Merge two sorted arrays (one with sufficient buffer at the end) into a single sorted array in O(1) extra space and linear time. Example: [1, 2, 5, 0, 0, 0] and [3, 4, 6] should output [1, 2, 3, 4, 5, 6].

Q9
Power Function (a^b) in O(log b) Time, O(1) Space
Data Structures & Algorithms

Implement the pow(a, b) function to calculate a raised to the power of b, achieving O(log b) time complexity and O(1) space complexity.

Meta E4 SWE-ML Menlo Park
meta logo
Meta
e4 swe-mlmenlo parkRejected
March 27, 202534 reads

Summary

I interviewed for an E4 SWE-ML position at Meta in Menlo Park, which included a phone screen and a full loop with coding, behavioral, and ML system design rounds. Despite my efforts, I received a rejection email just 15 minutes after my last interview, with vague feedback about strengthening my experience.

Full Experience

My interview process for the E4 SWE-ML role at Meta in Menlo Park began with a phone screen, which consisted of two coding questions completed in 45 minutes. The full loop then followed, comprising two coding rounds, one behavioral round, and one ML System Design round.

During the coding rounds, I encountered 2D matrix problems, specifically variations of the 'Number of Islands' question, a 'Merge sorted intervals' problem, and questions involving 'Binary Tree Maximum Path Sum', and a 'Balanced Parentheses' variation. I focused on techniques like two-pointers, stacks, and queues for BFS. I found the interviewers to be quite rigid, insisting on implementation on their screen, which made it challenging to articulate my optimal approaches, as they didn't always align with their preferred solution methods. This felt somewhat frustrating, especially compared to a smoother experience I had with a mid-west startup.

The behavioral round involved 6-7 questions, which I answered using the STAR method. I felt I had to repeat myself multiple times, as the interviewer, despite having a DS background, seemed to lack managerial experience. My standard questions about product requirements and optimization metrics revealed that the team might not have had particularly interesting work, focusing primarily on writing well-articulated PSCs every six months.

For the ML System Design round, I was asked to design Instagram ranking. I presented a standard High-Level Design (HLD) after spending about 5 minutes on problem formulation and assumptions. I elaborated on features, user and video metadata embeddings, and explained the necessity of offline processing. I proposed a two-tower model for relevance and ranking, and discussed user engagement metrics like NDCG, Recall, and precision at K. Unfortunately, I struggled to fully explain model deployment. Throughout this round, I felt the interviewer showed little interest, forcing me to reiterate my explanations for feature sets and metrics.

Overall, my impression was that the interviewers were unprofessional. I received a rejection email within 15 minutes of my last interview, with the recruiter stating they couldn't provide any feedback and suggested I 'make my experience stronger by taking some classes / work (somewhere better).'

Interview Questions (5)

Q1
Number of Islands and Variations
Data Structures & Algorithms

I was given a 2D matrix problem, specifically focusing on the 'Number of Islands' problem and its variations.

Q2
Merge Sorted Intervals
Data Structures & Algorithms

I encountered a coding question involving merging sorted intervals.

Q3
Binary Tree Maximum Path Sum
Data Structures & Algorithms

One of the coding questions involved finding the maximum path sum in a binary tree.

Q4
Balanced Parentheses Variation
Data Structures & Algorithms

I was asked a coding problem that was a variation of the balanced parentheses problem.

Q5
Design Instagram Ranking
System Design

I was tasked with designing the Instagram ranking system. I started with a standard High-Level Design (HLD) after 5 minutes of problem formulation and assumptions. I then focused on features, user and video metadata embeddings, and explained why we need it to be offline. I proposed a two-tower model for relevance and ranking, and discussed user engagement metrics like NDCG, Recall and precision at K. I could not explain model deployment effectively.

Meta - Got Offer | SWE | E3 US New Grad
meta logo
Meta
software engineerusOffer
March 24, 202538 reads

Summary

I successfully navigated Meta's interview process, which included an OA, two technical rounds, and a behavioral round, ultimately leading to an offer for a Software Engineer E3 New Grad position.

Full Experience

My interview process with Meta began after a recruiter reached out to me, and the entire journey felt very streamlined. It kicked off with an Online Assessment on CodeSignal, which consisted of one easy, two medium, and one hard problem.

During Technical Round 1, I was presented with two problems. The first involved converting a Binary Search Tree (BST) into a sorted doubly linked list in place, which I managed to solve. The second problem was a variation of the classic Merge Intervals (LeetCode #56). I found a solution, but it was suboptimal, running in O(N log N) time while the optimal approach would have been O(N). Despite this, the interviewer was quite pleasant.

Technical Round 2 also featured two problems. The first was exactly LeetCode #339, Nested List Weight Sum, which I solved optimally. The second problem was a variation of the Basic Calculator problems, but it focused exclusively on '+' and '*' operators. I achieved optimal time complexity for this problem and, after a follow-up, managed to optimize for both time and space. The interviewer in this round was also very friendly.

The final stage was a Behavioral interview. I found that mastering the STAR method was incredibly useful here. I was asked about my most proud project, a time I disagreed with a design choice and its impact, and how I approached a problem with limited information. The interview concluded with a question about my areas for improvement, which naturally arose from previous discussions.

Overall, I felt the process was seamless, and I was thrilled to receive an offer.

Interview Questions (8)

Q1
Convert BST to Sorted Doubly Linked List In-Place
Data Structures & Algorithms

Convert a Binary Search Tree (BST) into a sorted circular doubly linked list in-place.

Q2
Merge Intervals (Variation)
Data Structures & AlgorithmsMedium

A variation of the Merge Intervals problem (LeetCode #56), possibly involving merging two interval lists as seen in the provided LeetCode Discuss link: https://leetcode.com/discuss/interview-question/124616/Merge-two-interval-lists.

Q3
Nested List Weight Sum
Data Structures & AlgorithmsMedium

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer or a list (whose elements may also be integers or other lists). (LeetCode #339)

Q4
Basic Calculator (Plus and Multiply)
Data Structures & Algorithms

A variation of the Basic Calculator problems, specifically involving only '+' and '*' operators. A follow-up asked for optimal time and space complexity.

Q5
Most Proud Project
Behavioral

Describe your most proud project.

Q6
Disagreement on Design Choice
Behavioral

Describe a time when you disagreed with a design choice and how it affected the outcome.

Q7
Limited Information Problem
Behavioral

Describe a time when you had limited information on a problem and how you proceeded.

Q8
Areas for Improvement
Behavioral

What do you feel you lack and can improve upon?

Preparation Tips

For the behavioral round, understanding and applying the STAR method was crucial. I focused on preparing stories that demonstrated my skills and experiences in various scenarios, such as my most proud project, handling disagreements, and navigating problems with incomplete information. While specific LeetCode tags were mentioned for technical questions, I mainly relied on my general LeetCode practice and problem-solving skills.

Meta E4 Interview experience
meta logo
Meta
USAOffer
March 24, 202548 reads

Summary

I successfully navigated a rigorous E4 interview process at Meta in the USA, which initially included five rounds and later extended to seven. Despite initial skepticism about a system design round, I ultimately received an offer for an E4 role after a follow-up interview and team matching.

Full Experience

I completed my full-loop E4 interviews at Meta in the USA. Initially, there were five rounds after a phone screen: two coding, two system design, and one behavioral round.

Coding Round 1

  • Simplify Path
  • Best Time to Buy and Sell Stock

No variants were asked for these problems.

Coding Round 2

  • Merge Intervals
  • Binary Tree Right Side View

Again, no variants were asked.

System Design Round 1

This round involved designing a system similar to Instagram, covering standard requirements.

System Design Round 2

I was tasked with designing a price notification system, similar to camelcamelcamel. The interviewer was quite particular about requirements, leading to a significant discussion at the start. We debated requirements like whether we would ingest initial seed product IDs or crawl all product pages, or only rely on products provided by subscribers. The interviewer remained silent for a good portion of the discussion, only bringing up scalability issues (like email, updating prices), storing historical price differences, email batching, and queuing jobs for workers in the last 10 minutes. I felt a bit skeptical about this round as I hadn't encountered this specific problem before, and I was unsure if I gave the right signals, though I later verified the design online.

Behavioral Round

I faced 6-7 standard behavioral questions, many of which I recognized from past interview experiences. The interviewer was friendly and asked several follow-up questions.

Overall, most rounds went as expected, except for System Design Round 2, which left me with some doubts. I was waiting for results, hoping for good news.

Update 1

They scheduled an additional system design round, making it a total of three system design rounds and seven rounds overall, as they felt some signals were missing. This follow-up interview was quite stressful; the interviewer was very interventionist, and I didn't feel I could fully convey my solutions. I wasn't very hopeful about the outcome after this round.

Update 2

Today, I received an update that they are extending an offer after team matching is complete! I am incredibly grateful to the community for all the support and information that helped me through this process.

Interview Questions (6)

Q1
Simplify Path
Data Structures & AlgorithmsMedium

The problem asks to simplify an absolute path to a file or directory in a Unix-style file system.

Q2
Best Time to Buy and Sell Stock
Data Structures & AlgorithmsEasy

Given an array of prices, I needed to find the maximum profit by buying and selling the stock once. No variants were asked.

Q3
Merge Intervals
Data Structures & AlgorithmsMedium

Given a collection of intervals, I was asked to merge all overlapping intervals.

Q4
Binary Tree Right Side View
Data Structures & AlgorithmsMedium

I needed to return the values of the nodes you can see from the right side of a binary tree, ordered from top to bottom.

Q5
Design Instagram
System DesignHard

I was asked to design a system similar to Instagram, covering standard requirements like uploading photos/videos, feed generation, user profiles, followers, and basic infrastructure components.

Q6
Design a Price Notification System (like camelcamelcamel)
System DesignHard

I was tasked with designing a price notification system similar to camelcamelcamel. The discussion involved defining requirements, such as whether we would get initial seed product IDs/names, crawl through all product pages, or only use products provided by subscribers. We also covered scalability issues (e.g., sending emails, updating prices efficiently), storing historical price differences, email batching, and queuing jobs for workers.

Meta Interview Experience E4 | Infra | Pass | USA
meta logo
Meta
e4 | infrausaOffer
March 17, 202537 reads

Summary

I successfully passed my Meta E4 On-Site interview for an Infra role in the USA. The process involved a phone screen, system design, two coding rounds, and behavioral interviews, with one behavioral round requiring a redo before I received the offer.

Full Experience

I never thought I would be sharing this, but after passing my Meta E4 On-Site interview for an Infra role, I wanted to give back to the LeetCode community.

Phonescreen

There was an additional question, 1249. Minimum Remove to Make Valid Parentheses, where only the thought process was required, not the code.

Behavioral Interview I

This round covered standard behavioral questions:

  • Discussing a project I was most proud of.
  • Describing a conflict with a co-worker and its resolution.
  • Sharing feedback I had received and how I acted upon it.

System Design I

The core problem was to design a photo messaging app. The interviewer probed deep with follow-up questions:

  • Why I chose SQL over NoSQL.
  • What consistent hashing is.
  • How to scale the system.
  • Capacity estimates for the system.
  • Explaining the upload and download process for photos/videos to/from S3.

I honestly felt I had bombed this round. The interviewer was very directive, asking deep-dive questions even before I finished the High-Level Design (HLD). Estimations were a specific focus.

Coding Interview I

  • Question 1: 50. Pow(x, n). I initially provided an O(N) approach and coded it. The interviewer then pushed for an O(logN) solution. I fumbled a bit and needed some hints but eventually arrived at the recursive O(logN) approach.
  • Question 2: Vertical Order Traversal of a Binary Tree. This was more of a discussion round. I had to explain why BFS is often preferred, why not DFS, and how to implement it with DFS. No code was required, and I answered all questions successfully.

Coding Interview II

After these rounds, I had to do a behavioral redo. Fortunately, the questions were the same as the first behavioral round, and this time, the interviewer was much more pleasant. I had also refined my stories, which helped immensely.

I heard back from the recruiter in 4 days after the onsite, and then again in just 1 day after a follow-up, confirming that I had passed the Hiring Committee (HC).

Timeline:

The journey was quite long. The recruiter first reached out in early December, which was when I started studying, as I was also exploring internal opportunities within my current company. I finished the onsite interviews in March, making it a total of about four months of preparation and interviewing.

Interview Questions (11)

Q1
Valid Palindrome 2
Data Structures & AlgorithmsEasy

Given a string s, return true if the s can be a palindrome after deleting at most one character from it.

Q2
Diameter of Binary Tree
Data Structures & AlgorithmsEasy

Given the root of a binary tree, return the length of the diameter of the tree. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root.

Q3
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(' , ')' and lowercase English characters. Your task is to remove the minimum number of parentheses ( '(' or ')', in any positions ) so that the resulting parentheses string is valid and return any valid string.

Q4
Describe a Proud Project
Behavioral

Tell me about a project you are most proud of, detailing your contributions and the impact.

Q5
Conflict with a Co-worker
Behavioral

Describe a situation where you had a conflict with a co-worker and how you resolved it.

Q6
Received Feedback
Behavioral

Discuss a piece of feedback you've received, how you reacted, and what you did with it.

Q7
Design a Photo Messaging App
System DesignHard

Design a system for a photo messaging application, including considerations for uploading, storing, and retrieving photos and videos.

Q8
Pow(x, n)
Data Structures & AlgorithmsMedium

Implement pow(x, n), which calculates x raised to the power n (i.e., x^n).

Q9
Vertical Order Traversal of a Binary Tree
Data Structures & AlgorithmsHard

Given the root of a binary tree, return the vertical order traversal of its nodes' values. For each node at (row, col), its left and right children will be at (row + 1, col - 1) and (row + 1, col + 1) respectively. The traversal should be sorted column by column, then by row within each column, and finally by value if multiple nodes are at the same (row, col).

Q10
Subarray Sum Equals K Variant (Return true/false)
Data Structures & AlgorithmsMedium

Given an integer array nums and an integer k, return true if nums has a continuous subarray with a sum equal to k, or false otherwise. I was also asked if I could reduce space/time complexity.

Q11
Antidiagonal of a Matrix
Data Structures & AlgorithmsMedium

Given a square matrix, traverse and return all elements along its anti-diagonals, starting from the top-right and moving towards the bottom-left.

Preparation Tips

For system design, my primary resources were Hello Interview, which was incredibly helpful for understanding the basics and interview strategy, and Alex Xu's System Design books (Part 1 and 2).

For coding interviews, I relied heavily on LeetCode. A huge shoutout goes to CodingWithMinmer on YouTube; their content is fantastic for the community.

Meta - Software Engineer Screening Interview - US
meta logo
Meta
Software EngineerUSNo Offer
February 27, 202531 reads

Summary

I had a 45-minute screening interview at Meta for a Software Engineer role. I was asked two LeetCode questions, but I couldn't complete the second one, so I'm not expecting a positive outcome.

Full Experience

I had a 45-minute screening interview at Meta. Two questions were asked: Valid Word Abbreviation and Binary Tree Vertical Order Traversal. I wasn't able to complete the second question, and based on what I've seen from other candidates' experiences, I'm not expecting a positive response.

This was actually my second time taking this screening in one year, and through this experience, I've realized a few important things:

  • Autocomplete settings in CoderPad are usually off, so it's critical to be in practice of remembering syntax. If you write code frequently, you should be fine.
  • The interviewer doesn't expect you to talk while you are writing your code; this approach saves you time and allows you to focus on completing the code quickly.
  • At the end of a question, they typically ask you to walk through your code with a given input example and its expected outcome.
  • This is also the time to fix any bugs if you can spot them yourself.

A very important point is that you should write the first version of your code as fast as possible. This is because the interviewer will need some time to understand your approach and point out any bugs they might find. All the best!

Interview Questions (2)

Q1
Valid Word Abbreviation
Data Structures & Algorithms

Given a non-empty string s and an abbreviation abbr, return whether the string matches with the given abbreviation.

An abbreviation can represent a substring by a number, where the number signifies the count of characters to be abbreviated. For example, "word" can be abbreviated as "w1d" or "4".

Q2
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column).

If two nodes are in the same row and same column, the order should be from left to right.

Preparation Tips

Based on this screening experience, especially taking it for the second time, I've realized the critical importance of practicing coding without autocomplete to remember syntax quickly. Focusing solely on writing the code efficiently to get a first version done fast is also key, as interviewers need time to review. Lastly, preparing to walk through my code with examples and self-identifying bugs under pressure is essential.

Meta Follow-up for Custom Sort String (LC791)
meta logo
Meta
February 9, 202534 reads

Summary

I've shared my insights into Meta's interview style, specifically regarding the 'Custom Sort String' problem (LC791), its common variant, and a crucial optimization follow-up question.

Full Experience

From what I've observed in Meta interviews, they frequently pose the original LeetCode problem 791, 'Custom Sort String'. There's also a minor variant where the order parameter might be presented as a List rather than a string, though this typically doesn't alter the solution significantly. A key aspect of their assessment often comes with a follow-up question: optimizing the character frequency tracking from a HashMap<Character, Integer> to a List<Integer>, which is a good signal if you manage to solve it within time.

Interview Questions (3)

Q1
Custom Sort String
Data Structures & AlgorithmsMedium

Given two strings order and s. All the characters of order are unique and were sorted in some custom order previously. Permute the characters of s so that they match the order that order was sorted. More specifically, if x occurs before y in order, then x should occur before y in the permuted string. Return any valid permutation of s.

Q2
Custom Sort String (List Order Variant)
Data Structures & AlgorithmsMedium

The problem is identical to 'Custom Sort String', but the order parameter is provided as a List<Character> instead of a string. The core logic for sorting characters based on the custom order remains the same, requiring only minor adaptations for handling a list instead of a string.

Q3
Optimize Custom Sort String Frequency Counting
Data Structures & AlgorithmsMedium

If the solution for 'Custom Sort String' uses a HashMap<Character, Integer> to store character frequencies, how would you optimize this to use a List<Integer> instead? This typically implies using a fixed-size array (e.g., int[26] for lowercase English letters) to map character ASCII values to array indices for O(1) access.

Preparation Tips

I've detailed my approach and a solution for the original problem, its variant, and the follow-up optimization in my YouTube video. This resource aims to help others prepare effectively for this specific problem pattern often encountered in Meta interviews.

Meta Phone Screen
meta logo
Meta
Rejected
January 25, 202537 reads

Summary

I had a phone screen with Meta where I was asked two coding problems: LeetCode 88 (Merge Sorted Array) and LeetCode 973 (K Closest Points to Origin). Despite solving both within the allotted time, I was rejected due to insufficient signal.

Full Experience

I had a phone screen with Meta. The interview consisted of two coding questions. The first question was related to LeetCode 88: Merge Sorted Array. A slight twist was that the lengths of the arrays were not explicitly given, only the arrays themselves. I stumbled a bit initially on how to calculate the number of elements in nums1 before realizing it could be derived from nums1.size() - nums2.size(). The interviewer gave me a small hint related to nums2's length, which helped me recover quickly. I solved it with O(n) time and O(1) space complexity.

The second question was LeetCode 973: K Closest Points to Origin. I immediately proposed the priority queue solution and discussed its time complexities. The interviewer then asked if there was a better way, so I mentioned the Quicksort-based (Quickselect) solution and its complexities. I was then asked to code the priority queue solution. During coding, I had some minor bracket-related typos which the interviewer pointed out.

I finished both problems in about 35 minutes. I was hoping for a positive result, but unfortunately, I received an update stating there wasn't enough signal to move forward. I'm quite disappointed in myself because I felt like these were relatively easy medium problems, and I still managed to bomb the phone screen. All the effort I put into preparation felt like it led to a quick rejection.

Interview Questions (2)

Q1
Merge Sorted Array
Data Structures & AlgorithmsEasy

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. A notable aspect was that the lengths of the arrays were not explicitly provided, only the arrays themselves. It's implied that nums1 has sufficient space to hold elements from nums2.

Q2
K Closest Points to Origin
Data Structures & AlgorithmsMedium

Given an array of points points, where points[i] = [xi, yi] represents a point on the X-Y plane, and an integer k, return the k closest points to the origin (0, 0). The distance between two points on the X-Y plane is the Euclidean distance. The answer can be returned in any order, and it's guaranteed to be unique.

Meta Phone Screen Experience: K+1th Largest Element and Valid Palindrome
meta logo
Meta
Rejected
January 17, 202531 reads

Summary

I had a Meta phone screen where I was asked to solve 'K+1th Largest Element' and 'Valid Palindrome'. Despite providing correct solutions and detailed explanations, the interview was frustrating due to vague feedback and ultimately resulted in a rejection.

Full Experience

I recently experienced a Meta phone screen where I was presented with two coding questions. Although I felt well-prepared, the interview left me quite frustrated due to the interviewer's feedback style.

For the first question, 'K+1th Largest Element', I quickly understood the min-heap approach, discussed its complexities, and implemented a solution. I initially made a slight mistake by removing elements before adding new ones but debugged it to ensure elements were added first, then removed if the heap size exceeded K+1. The interviewer probed an edge case with array size 2 and K=2, leading to K+1=3, which I correctly identified as an impossible scenario, suggesting an exception. I implemented this, but the interviewer repeatedly claimed my code had 'bugs' without identifying specific issues, even after I walked through it line by line. This vague feedback was confusing and unsupportive.

The second question was 'Valid Palindrome', requiring me to check if a string is a palindrome while ignoring non-alphanumeric characters and case. I was very familiar with this and quickly implemented a two-pointer solution. Initially, I converted the whole string to lowercase, but the interviewer pointed out the unnecessary space complexity. I adjusted to handle characters in-place, converting to lowercase only when needed. I also refined my code to reduce the number of if conditions. Despite my correct solution and thorough explanation, the interviewer's body language suggested dissatisfaction, which made me feel my efforts weren't being recognized.

Ultimately, I arrived at correct solutions for both problems and was confident in my explanations. However, the lack of clear, actionable feedback and the persistent, unspecific claims of 'bugs' made the experience frustrating. I later received a rejection email, which, though disappointing, is a part of the process. I am now moving on to new opportunities.

Interview Questions (2)

Q1
K+1th Largest Element
Data Structures & AlgorithmsMedium

The first question was to find the K+1-th largest element using a min-heap. I was familiar with this problem and quickly explained the approach, discussed complexities, and implemented a solution. Initially, I made a mistake in the order of operations by removing elements from the heap before adding new ones. After debugging line by line, I fixed the issue by ensuring elements were added first and removed only if the heap size exceeded K+1.

The interviewer then asked about an edge case where the array size was 2 and K = 2, making K+1 = 3. I explained that finding the 3rd largest element in an array of size 2 is impossible and suggested throwing an exception. The interviewer agreed with this, so I implemented it. However, they repeatedly insisted there were still "bugs" in my code. Despite running through the code properly and confirming the correct output for all test cases, they claimed I was skipping steps. To address this, I walked through the code line by line with comments, but the interviewer still thought the solution was buggy without identifying specific issues. This left me feeling confused and unsupported.

Q2
Valid Palindrome
Data Structures & AlgorithmsEasy

The second question required checking if a string is a valid palindrome, ignoring digits and any non-letter characters, and considering case insensitivity. I was well-prepared for this question and quickly implemented a two-pointer solution. Initially, I converted the string to lowercase at the start, but the interviewer pointed out that this increased space complexity unnecessarily. I adjusted my code to handle characters in-place by converting them to lowercase only when needed.

The interviewer also suggested reducing the number of if conditions. I addressed this feedback by combining checks into a single condition within the loop. While my solution was correct, and I explained my thought process thoroughly, the interviewer’s body language suggested dissatisfaction, making me feel like my efforts weren’t being fully recognized.

Preparation Tips

I felt well-prepared for the interview, especially for standard data structure and algorithm problems, which allowed me to quickly approach and solve the given questions.

Meta E5 interview
meta logo
Meta
Software Engineer - MLOngoing
November 24, 202444 reads

Summary

I recently completed my phone screen and technical onsite rounds for a Software Engineer - ML position at Meta. I encountered several LeetCode-style coding problems and an ML system design question, and I'm currently awaiting my behavioral interview.

Full Experience

My interview process for the Software Engineer - ML role at Meta involved a phone screen and a virtual onsite, with a behavioral round still pending.

Phone Screen

In the phone screen, I was given two coding problems. The first was Subarray Sum Equals K, and the second was Palindrome Permutation.

Virtual Onsite

Coding Round 1

This round had two more coding challenges. I was asked to count the number of monotonic sequences in an array, and the second problem was K Closest Points to Origin, for which I implemented a heap-based solution.

Coding Round 2

The second coding round also consisted of two problems. The first was Valid Number, but specifically without the exponent use case. I initially missed the test case "05" which should return false, but the interviewer pointed it out, and I corrected my code. The second problem was a variation of Simplify Path. In this variation, I was given a current path and a relative path, and my task was to simplify the target path and then navigate from the current to that target. I solved this using a stack.

ML System Design

There was some initial miscommunication regarding this round, as my recruiter had mentioned it would be a general system design problem, but I received a core ML question instead. I was asked to design an ML pipeline for bot post detection. I went over all specifics including data preprocessing, feature engineering, training, testing, and evaluation strategies, considering both online and offline scenarios. I believe I had answers to most of the questions that came up, although the interviewer's reaction was neutral.

I'm now awaiting the behavioral interview. I'm a bit concerned if missing the "05" test case initially will negatively impact my coding round evaluation.

Interview Questions (7)

Q1
Subarray Sum Equals K
Data Structures & Algorithms

Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals k.

Q2
Palindrome Permutation
Data Structures & Algorithms

Given a string, determine if a permutation of the string could form a palindrome.

Q3
Count Monotonic Sequences in Array
Data Structures & Algorithms

Count the number of monotonic sequences in a given array.

Q4
K Closest Points to Origin
Data Structures & Algorithms

Given an array of points where points[i] = [xi, yi] represents a point on the X-Y plane and an integer k, return the k closest points to the origin (0, 0).

Q5
Valid Number (without exponent)
Data Structures & Algorithms

Implement a function to determine if a string represents a valid number, specifically without the exponent use case (e.g., 'e', 'E'). I faced a specific challenge with the test case "05" which should return false, and after the interviewer's hint, I successfully corrected my code.

Q6
Simplify Path (Relative Path Variation)
Data Structures & Algorithms

A variation of the Simplify Path problem was asked. In this scenario, I was given a current path and a relative path. The task was to first simplify the target path (derived from the relative path) and then navigate from the current path to that simplified target path.

Q7
Bot Post Detection ML Pipeline Design
System Design

Design an end-to-end Machine Learning pipeline for bot post detection. This involved discussing various aspects such as data preprocessing, feature engineering, training methodologies, testing strategies, and evaluation metrics, considering both online and offline deployment scenarios. Despite some initial misunderstanding about the round's focus, I addressed all specific points raised.

Meta E4 Screening
meta logo
Meta
E4Ongoing
October 9, 202437 reads

Summary

I completed a screening interview for an E4 position at Meta, successfully solving two coding problems, though I needed to correct a minor error on one. I am currently awaiting feedback.

Full Experience

I recently had my screening interview for an E4 position at Meta. The interview session involved tackling two coding questions. I managed to solve both of them, but during the second problem, the interviewer pointed out a mistake in my code. I promptly identified and corrected the error, completing the solution.

Based on discussions I've seen on LeetCode, I'm not entirely confident about moving forward, and I'm eagerly awaiting their feedback.

Interview Questions (2)

Q1
Path Sum (Variation)
Data Structures & AlgorithmsMedium

This was a variation of the classic LeetCode Path Sum problem. The standard problem asks to determine if there exists a root-to-leaf path in a binary tree such that its node values add up to a given target sum. While the specific details of the variation weren't provided, it built upon this core concept.

Q2
Minimum Window Substring
Data Structures & AlgorithmsHard

Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such window, return an empty string "".

For example:

Input: s = "ADOBECODEBANC", t = "ABC"
Output: "BANC"
Meta | E5 | MLE | Passed | Menlo Park
meta logo
Meta
MLEMenlo Park7 yearsOffer
August 26, 202440 reads

Summary

I successfully navigated the interview process for an E5 Machine Learning Engineer position at Meta in Menlo Park. After two months of dedicated preparation, I received an offer following a phone screen and a full onsite loop.

Full Experience

I approached this as my very first coding interview, and after learning immensely from the LeetCode community, I am now sharing my experience, which I hope will be particularly useful for beginners.

Interview Timeline

  • Mid-June: Reached out by HR.
  • Mid-July: Phone Screen completed, received a pass email the next day.
  • Mid-August: Onsite interviews concluded, received the offer call after 5 business days.

Phone Interview

My phone screen consisted of two standard LeetCode problems:

  1. Binary Tree Vertical Order Traversal: No variations were present.
  2. Minimum Remove to Make Valid Parentheses: The interviewer pointed out that my initial solution was not optimal. Luckily, I managed to figure out an optimal approach during the interview.

I solved both questions within 40 minutes.

Coding Interview 1

This round also had two problems, both with minor variations:

  1. Sum Root to Leaf Numbers: The variation was to sum the actual node values along root-to-leaf paths, rather than numbers formed by digits. I solved this optimally within 10 minutes and provided correct time and space complexity.
  2. Meeting Rooms II: The variation asked me to return any timestamp that had the maximum overlap, instead of just the maximum number of meeting rooms. I needed a small hint to recognize it as a Meeting Rooms problem and had a bit of a struggle returning the specific timestamp. My solution worked but felt a bit 'ugly'. I solved it in about 30 minutes, providing correct time complexity.

Coding Interview 2

This round also involved two questions, and I felt great about my performance here:

  1. Minimum Cost Flight Departure and Arrival Problem: This was a problem I had previously dug up from discussions. I solved it optimally within 5 minutes, which reinforced the value of spending hours researching common problems.
  2. Shortest Path in Binary Matrix: I solved this optimally within 15 minutes. The interviewer was quite satisfied that I completed two questions so quickly.

For the Shortest Path problem, the interviewer followed up with a weighted matrix variation (where each step's weight is the matrix cell's value). I didn't initially realize I could use BFS + Heap (Dijkstra's) and instead coded a DP solution. My DP solution might have had some uncovered corner cases, but the back-and-forth discussion went very well, and I explained my intuition clearly. By the end, I felt relaxed, like I was discussing with a teammate rather than being interviewed.

ML System Design

The topic was something related to harmful content detection. I followed a structured approach, but I was flexible and didn't stick exactly to a 'book' answer. We covered all the essential components and stretch questions within 40 minutes. I believe it's crucial to be adaptable, ready to deep-dive into specific areas the interviewer is interested in, and then pull back to the broader picture when necessary. Interestingly, we didn't use a whiteboard tool at all, which the interviewer was perfectly fine with.

Behavioral Interview

I was asked around 6-7 behavioral questions. Fortunately, all the questions were ones I had prepared for, and the interviewer delved into the details for each of my answers. The interviewer actually ran out of questions after 40 minutes!

Interview Questions (8)

Q1
Binary Tree Vertical Order Traversal
Data Structures & AlgorithmsMedium

Given the root of a binary tree, return the vertical order traversal of its nodes' values. (i.e., from top to bottom, column by column). I encountered this problem without any variations from the standard LeetCode version.

Q2
Minimum Remove to Make Valid Parentheses
Data Structures & AlgorithmsMedium

Given a string s of '(', ')', and lowercase English characters, remove the minimum number of parentheses so that the resulting parentheses string is valid. Return any valid string. The problem was presented as-is from LeetCode.

Q3
Sum of Node Values in Root-to-Leaf Paths (Variation of Sum Root to Leaf Numbers)
Data Structures & AlgorithmsMedium

This was a small variation of the 'Sum Root to Leaf Numbers' problem. Instead of calculating a number by multiplying digits by 10, the task was to sum the actual node values along each root-to-leaf path.

Q4
Timestamp with Maximum Meeting Overlap (Variation of Meeting Rooms II)
Data Structures & AlgorithmsMedium

This was a variation of 'Meeting Rooms II'. Instead of simply returning the maximum number of meeting rooms required, the goal was to return any timestamp that had the maximum overlap of meetings.

Q5
Minimum Cost Flight Departure and Arrival
Data Structures & Algorithms

This problem involved finding the minimum cost related to flight departures and arrivals. It was a specific problem I had found and studied previously from LeetCode discussions.

Q6
Shortest Path in Binary Matrix with Weighted Follow-up
Data Structures & AlgorithmsMedium

The initial problem was to find the shortest clear path in a binary matrix from the top-left to the bottom-right, where clear path cells are 0 and 8-directionally connected. There was a follow-up question for a weighted matrix, where each step's cost is the value of the cell itself.

Q7
Harmful Content Detection System Design
System Design

Design a system for detecting harmful content. The interview focused on key components, scalability, and handling various aspects of such a system. I was expected to follow a structured design approach but also be flexible and adaptive to the interviewer's specific areas of interest.

Q8
Behavioral Questions (Various)
Behavioral

I was asked approximately 6-7 behavioral questions covering various scenarios, typical of Meta's interview process. The interviewer often dug deeper into my responses, seeking more details.

Preparation Tips

Coding Preparation

I had almost no LeetCode experience two months prior to my interviews. From the day HR reached out, I focused intensely on coding preparation:

  • Followed NeetCode's roadmap religiously.
  • Tackled the top 150 tagged questions on LeetCode.
  • Researched and practiced questions from the past 6 months found in LeetCode discussion forums related to Meta interviews.

ML System Design Preparation

My strategy for ML System Design was two-fold:

  • I read through the book "Machine Learning System Design Interview" by Ali Aminian and Alex Xu twice.
  • Utilized ChatGPT to generate lists of interview questions on specific ML topics, which proved very effective in deepening my understanding.

Behavioral Preparation

For behavioral questions, I searched for common questions and prepared concrete answers in advance, ensuring I could elaborate on my experiences effectively.

General Notes & Tips

  • Practice with CoderPad: I highly recommend using CoderPad to practice. Always write down your intuition, preferably with a test example, before starting to code. During my phone screen, I instinctively typed 'class Solution' but was prompted by the interviewer to explain my thoughts thoroughly first.
  • Don't Be Afraid to Seek Solutions: As a beginner, it's normal not to solve every new problem independently. My approach was to first check if NeetCode had a solution. If not, I'd consult the Editorial. ChatGPT was also a great tool for explaining complex code.
  • Focus on Optimality and Speed for Meta: Meta heavily emphasizes optimal solutions and coding speed. It's incredibly stressful to realize your prepared solution isn't optimal during the interview. ChatGPT can be useful for optimizing code.
  • Luck Plays a Role: While preparation is key, acknowledge that luck is a factor. Do your best and let the rest unfold.
Meta London SWE E4 Interview Experience | Pass
meta logo
Meta
SWE E4LondonOffer
August 7, 202438 reads

Summary

I successfully navigated the Meta London SWE E4 recruitment process, which included a mock interview, phone screening, full-loop interviews, and a follow-up, ultimately securing a hire decision.

Full Experience

My journey through the Meta recruitment process was remarkably smooth, largely thanks to a highly supportive recruiter. After applying on March 17th, I was contacted by the recruiter on April 22nd. We had a mock interview on May 12th where I solved questions like "Move Zeroes" and "Number of Islands". This was followed by a phone screening on May 15th, during which I tackled "Basic Calculator II" and a problem involving merging three sorted arrays without duplicates. I received positive feedback the very next day, May 16th.

The recruiter then set up a call on May 24th to explain the further process. The full-loop interviews took place from June 26th to 27th, comprising two coding rounds, a product design round, and a behavioral round. Unfortunately, I cannot share the exact questions from these rounds due to an NDA. On July 9th, I received an update and was asked for a follow-up coding interview, which I completed on July 30th. This final round also involved two LeetCode Medium questions, though I cannot disclose the specifics. Finally, on August 1st, I received the exciting news of a hire decision.

Interview Questions (4)

Q1
Move Zeroes
Data Structures & AlgorithmsEasy

Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array.

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
Basic Calculator II
Data Structures & AlgorithmsMedium

Given a string s which represents an expression, evaluate this expression and return its integer result. The integer division should truncate toward zero. You may assume that the given expression is always valid. All intermediate results will be in the range [-2^31, 2^31 - 1].

Q4
Merge 3 Sorted Arrays (No Duplicates)
Data Structures & AlgorithmsMedium

Given three sorted integer arrays, merge them into a single sorted array. The resultant array should not contain any duplicate elements.

Preparation Tips

For my coding rounds, I meticulously prepared using a list of Meta top 350 questions, which included problems from the Cracking Faang YouTube playlist. I also made sure to keep an eye on the LeetCode discuss section for the latest Meta interview questions. I found great value in the detailed and simple solutions provided by channels like Timothy H Chang, Programming Live with Larry, and NeetCodeIO. For system design, I highly recommend Hello Interview (YouTube) and the hellointerview.com website to prepare. I want to emphasize that this is not a sponsored post.

Meta E5/E6 - Staff Software Engineer, Product | Phone Screen + Full Loop
meta logo
Meta
Staff Software Engineer, ProductSingapore5 yearsRejected
August 6, 202487 reads

Summary

I interviewed for a Staff Software Engineer, Product (E6/E5) role at Meta in Singapore. Despite strong coding performance, mixed results in product design and a lack of detailed behavioral answers ultimately led to a rejection, though I found the overall interview experience to be uniquely positive.

Full Experience

My interview journey for an E6 (IC) Staff Software Engineer, Product position at Meta spanned from mid-March to late-July 2024. The entire process was conducted virtually via Zoom, Coderpad, and Excalidraw, after an HR recruiter reached out to me on LinkedIn. Meta was willing to assist with reallocation, including visa and a month's accommodation. The process was structured as an E6 interview, with a possibility of downleveling to E5.

1. Phone Screen (1 hour)

The phone screen consisted of two main parts:

1.1 Work Experience & Behavioral

I recall answering about 8 common behavioral questions. While I can't recall the specifics, they were typical questions easily found online.

1.2 Coding

  • Diagonal Traverse (Medium): This was a standard LeetCode problem with a slight modification: all elements were to be traversed in a left-bottom pattern. I was allowed to just print the output and solved it quickly without any hints.
  • Lowest Common Ancestor of a Binary Tree III (Medium): This was exactly the LeetCode problem. I initially jumped to conclusions, confusing it with the standard LCA problem without parent pointers, due to misreading the Node* parent; reference. After getting stuck, the interviewer provided a hint, which helped me solve it just before time ran out.

Reflection from Phone Screen:

  • It's crucial not to rush, no matter how confident one feels.
  • I experienced some WiFi latency issues due to the interviewer being in London and me being far away. Thankfully, I had backup internet.
  • Long problem descriptions on Coderpad can be overwhelming. Not using full-screen mode and allocating space for both coding and drawing helps prevent misreading.

I received feedback a week later: latency problems, insufficient explanation of customer impact during work experience discussions, and minor issues with the second coding problem (lack of corner cases). Despite this, I moved forward to the full loop.

2. Full Loop (45 minutes each)

My full loop involved Coding, Design, Coding, Behavioral, and Design rounds, spread across two weeks with varying schedules, including some night interviews. I'll describe them by category.

2.1 Coding I

  • Buildings With an Ocean View (Medium): This was the exact LeetCode problem. I found it relatively straightforward, solvable by looping from right-to-left. While a monotonic stack could handle a left-to-right or streaming approach, my interviewer didn't require that, and I solved it quickly.
  • Binary Tree Vertical Order Traversal (Medium): The problem was similar to the LeetCode version, but required the output as a flat list (e.g., [4,9,3,0,1,8,7]) rather than grouped by column. I adapted my existing solution with a minor modification and also discussed a hashmap approach suggested by the interviewer, which had similar time/space complexity.

2.2 Coding II

  • Insert into a Sorted Circular Linked List (Medium): This was exactly the LeetCode problem. I realized my interview solution was better written than my practice one. Even though the interviewer initially suggested the head would be the lowest element, my solution inherently covered cases where the head wasn't the lowest, which I pointed out in a follow-up. I solved it quickly, handling all corner cases.
  • Random Pick with Weight (Medium): The problem was the same as the LeetCode problem, but presented with a country code and population analogy. After clarification, I understood the core problem and implemented the optimal binary search solution. It's important to note that the interviewer expects you to determine the functions to implement yourself.

2.3 Product Design I

  • Design Real-Time Facebook Comments: The core requirements were real-time updates within a thread and pagination. I struggled significantly here, spending too much time on clarifying questions due to overthinking. I managed to cover the core path but failed to deep dive into non-core aspects or explore various corner cases due to time constraints. I had treated it similarly to designing WhatsApp because of the real-time aspect.

2.4 Product Design II

  • Design Facebook Online Chess: This round involved designing an online chess platform for Facebook, emphasizing very high traffic (3 billion users), real-time cross-device play, and a leaderboard. Follow-up discussions included data races, recording steps, and handling disconnections. I performed much better here than in the first design round, receiving many positive remarks from the interviewer. I successfully provided a big picture and deep-dived into various parts, including different real-time communication protocols (HTTP polling vs. long polling vs. WebSocket). I again approached this by drawing parallels to designing WhatsApp for real-time aspects.

2.5 Behavioral

The behavioral round included standard questions:

  • Tell me about the project you're most proud of.
  • Tell me about a time you collaborated with many stakeholders.
  • Tell me about a time someone gave you constructive feedback.
  • Tell me about a time you faced a barrier and how you handled it.

I utilized the STAR method for my answers, but I noticed the interviewer frequently probed for more details on the 'Result' (R) aspect, suggesting my explanations might have lacked sufficient impact or resolution details.

Outcome

I received my rejection two weeks after the full loop. The feedback, which took another week, indicated:

  • Coding: Perfect, no problems.
  • Design: Mixed. One performance was excellent (equivalent to a senior lead), while the other was very weak, lacking deep dives and detailed explanations.
  • Behavioral: One question lacked clarity/detail in its resolution/output.

After rejection, I inquired about a potential downgrade, but HR confirmed no downgrade was possible and a 1-year cooldown for all Software Engineer roles. Despite the rejection, I am satisfied with the interview experience, finding it uniquely positive compared to other companies. It provided valuable insights into my areas for improvement.

Interview Questions (12)

Q1
Diagonal Traverse with Left-Bottom Modification
Data Structures & AlgorithmsMedium

Given an m x n matrix, return all elements of the matrix in diagonal order as they traverse to the left-bottom direction. The interviewer allowed me to just print the output. I was able to solve this problem quickly without a hint.

Q2
Lowest Common Ancestor of a Binary Tree III
Data Structures & AlgorithmsMedium

Find the lowest common ancestor of two nodes in a binary tree where each node has a reference to its parent. I initially misread the problem, confusing it with LCA of a Binary Tree without parent pointers (which is similar but different because of Node* parent;), but with a hint from the interviewer, I was able to solve it before time ran out.

Q3
Buildings With an Ocean View
Data Structures & AlgorithmsMedium

Given an array of building heights, return a list of buildings that have an ocean view. A building has an ocean view if all the buildings to its right are shorter. I considered both the right-to-left approach and the monotonic stack for left-to-right/streaming, but the interviewer only required the simpler right-to-left solution.

Q4
Binary Tree Vertical Order Traversal (Modified Output)
Data Structures & AlgorithmsMedium

Given the root of a binary tree, return the vertical order traversal of its nodes' values. The output is different; instead of grouped by the column like [[4],[9],[3,0,1],[8],[7]], I should just output without group [4,9,3,0,1,8,7]. The interviewer also offered another approach that utilizes a hashmap, since my solution only used a vector.

Q5
Insert into a Sorted Circular Linked List
Data Structures & AlgorithmsMedium

Insert a new element into a sorted circular linked list. Initially, the interviewer said the input Node* head would be the lowest. However, I offered a solution where it didn't matter. Later, the interviewer asked a follow-up where the input wasn't the lowest, and I confirmed my solution already covered that part.

Q6
Random Pick with Weight (Country Code & Population Analogy)
Data Structures & AlgorithmsMedium

Implement pickIndex such that it returns an index from 0 to n-1 with probability proportional to w[i]. The problem was described using a country code and population analogy. After some clarification, I understood the problem was the same. It's important to remember that the interviewer won't give you the specific functions; you need to determine them yourself.

Q7
Design Real-Time Facebook Comments
System Design

Design a system for real-time comments on Facebook posts. The core requirements were real-time updates within a thread and pagination. I spent too much time asking questions due to overthinking. I managed to cover the core path, but there were areas I could improve, such as continuing to non-core parts, adding more deep dives, and allowing the interviewer to add some corner cases. I ran out of time. I had never practiced this exact problem before and treated it similarly to designing WhatsApp because of the "real time" aspect.

Q8
Design Facebook Online Chess
System Design

Design an online chess platform for Facebook. Core requirements included handling very high traffic (assume 3 billion users), ability to play online from any devices in real-time, and a leaderboard. Follow-up questions covered Data Race, Record steps, and what if someone / everyone lose the connections during the game.

Q9
Tell me about your most proud project.
Behavioral

Describe a project you are most proud of. This is a common behavioral question.

Q10
Collaboration with many stakeholders.
Behavioral

Describe a time when you collaborated with many stakeholders. This is a common behavioral question.

Q11
Receiving constructive feedback.
Behavioral

Describe a time when someone gave you constructive feedback. This is a common behavioral question.

Q12
Handling barriers.
Behavioral

Describe a time when you faced a barrier and how you handled it. This is a common behavioral question.

Preparation Tips

My preparation involved solving over 800 LeetCode problems (46% Easy, 45% Medium, 9% Hard), with a focused effort on Meta-specific problems in the last 6 months (317 out of 505, including the top 100). My time distribution for preparation was Coding:Design:Behavioral at 70:25:5. After a challenging first Product Design round, I intensively learned about time management and key design patterns for system design, leveraging resources like HelloInterview and Exponent. I recognized that understanding underlying patterns, such as real-time communication design (e.g., WhatsApp), helps in solving a variety of related problems. For behavioral questions, I focused on the STAR method, though I noted a need to improve the 'Result' (R) portion of my answers.

Meta Technical Phone Screen E5 USA
meta logo
Meta
usaOngoing
August 3, 202431 reads

Summary

I recently completed a technical phone screen for an E5 position at Meta in the USA, where I tackled two specific coding challenges after some initial behavioral questions.

Full Experience

I underwent a technical phone screen at Meta for an E5 role in the USA. The interview started with a few standard behavioral questions to get to know my background and approach. Following that, I was given two coding problems to solve. The first problem was 'Binary Tree Vertical Order Traversal', and the second involved merging three sorted lists while also removing any duplicate elements.

Interview Questions (2)

Q1
Binary Tree Vertical Order Traversal
Data Structures & Algorithms

I was asked to implement the 'Binary Tree Vertical Order Traversal' algorithm.

Q2
Merge 3 Sorted Lists with Removing Duplicates
Data Structures & Algorithms

I was tasked with merging three distinct sorted lists into a single sorted list, ensuring that any duplicate values present across the lists were removed in the final output.

Meta | E4 | London | July 2024 [Offer]
meta logo
Meta
E4London3.5 yearsOffer
July 10, 202442 reads

Summary

I applied to Meta in January 2024 for an E4 Software Engineer role in London and successfully received an offer after completing multiple technical and behavioral rounds, including a follow-up system design interview.

Full Experience

I applied on Meta's career portal in January 2024 and received a response from HR in the last week of January. I then went through several interview rounds.

Recruiter Screening

This was a ~40-minute telephonic conversation where we discussed my past work experience, tech stack, current projects, deliveries, and impact. I made sure to be well-prepared with everything I had mentioned on my resume.

After this, I qualified for the Technical Screening round.

Technical Screening

I took 1 month to prepare and scheduled this 45-minute round for the last week of February. It started with a 5-minute introduction, followed by 35 minutes of coding, and concluded with 5 minutes for Q&A.

  1. The first question was Nested List Weight Sum.
  2. The second was Basic Calculator II.

I successfully provided the optimized solution, dry ran it, covered test cases, and analyzed both time and space complexity for both questions within the allotted time.

I received an email a week later, confirming my qualification for the onsite rounds. I scheduled all of them for the last week of March.

Coding 1

This 45-minute round followed the same structure: 5 minutes introduction, 35 minutes coding, and 5 minutes Q&A.

  1. The first question was Lowest Common Ancestor of a Binary Tree III.
  2. The second was LRU Cache.

I got slightly stuck while explaining the mathematical proof of the traversal technique for the first question, but aside from that, everything else proceeded smoothly.

Verdict: Hire

Coding 2

Another 45-minute round with the standard format.

  1. The first question was: Given an array of integers, return the index of one of the largest elements, chosen uniformly at random.
  2. The second question was about planning a round trip between two cities with minimum flight cost. I was given two arrays, D[] for departure fees and R[] for return fees, both of equal length with indices corresponding to dates. For example, D: [10, 8, 9, 11, 7] and R: [8, 8, 10, 7, 9], the minimum cost would be D[1] + R[3] = 15.

I was able to present brute force, optimized solutions, dry runs, test cases, and complexity analysis for both questions within the given time.

Verdict: Strong Hire

System Design

This round was 45 minutes, split into 5 minutes introduction, 35 minutes design, and 5 minutes Q&A. The task was to design a component in the Facebook app to show the top k trending hashtags of the last 12 hours, with data refreshing every hour, and different weightages for hashtags from posts, likes, and comments.

I covered functional and non-functional requirements, estimates, APIs, the data model, and a high-level design diagram, along with follow-up questions. However, I wasn't able to delve into the low-level details of components, data aggregation logic, or component interactions.

Verdict: Mixed Signal

Behavioral

This 45-minute round involved standard behavioral questions, which I answered using the STAR format.

Verdict: Strong Hire

Follow-up System Design Round

In mid-April, I received an email stating that an additional system design round was required due to the mixed signal from the previous one. I scheduled this follow-up for mid-May.

The challenge was to design a multiplayer game like chess that could scale up to 1 billion concurrent players. The constraints included no public matching, only matching with friends, and the need for a matching algorithm for friends, as well as immediate ranking board updates after a win/loss.

I thoroughly covered functional and non-functional requirements, estimates, APIs, the data model, a high-level design diagram, trade-offs between NoSQL and SQL, real-time vs. non-real-time ranking boards, and deep-dived into Apache stream processing, MapReduce jobs, and scalability aspects.

Verdict: Strong Hire

I received an offer for the E4 role in the first week of June. After two weeks for team matching and another two for negotiation, I received the final offer letter in the first week of July.

Interview Questions (8)

Q1
Nested List Weight Sum
Data Structures & Algorithms

Given a nested list of integers, return the sum of all integers in the list weighted by their depth. Each element is either an integer or a list (whose elements may also be integers or other lists).

Q2
Basic Calculator II
Data Structures & Algorithms

Implement a basic calculator to evaluate a simple expression string. The expression string contains only non-negative integers, +, -, *, / operators. The integer division should truncate toward zero.

Q3
Lowest Common Ancestor of a Binary Tree III
Data Structures & Algorithms

Given two nodes in a binary tree, find their lowest common ancestor (LCA). Each node has a parent pointer.

Q4
LRU Cache
Data Structures & Algorithms

Design and implement a data structure for a Least Recently Used (LRU) cache. It should support the get and put operations.

Q5
Random Index of Largest Element
Data Structures & Algorithms

Given an array of integers, return the index of one of the largest elements, chosen uniformly at random.

Q6
Minimum Cost Round Trip Flights
Data Structures & Algorithms

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. For example, given D: [10, 8, 9, 11, 7] and R: [8, 8, 10, 7, 9], the minimum cost will be D[1] + R[3] = 15.

Q7
Design Top K Trending Hashtags
System Design

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.

Q8
Design Scalable Multiplayer Chess Game
System Design

Design a multiplayer game like chess that can scale up to 1 billion 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.

Preparation Tips

I took a dedicated month to prepare for the Technical Screening round. My preparation primarily focused on practicing coding problems similar to those found on LeetCode. For the System Design rounds, I reviewed common design patterns and scalable architecture principles. For behavioral questions, I used the STAR format to structure my answers based on my past experiences.

Meta E6 Phone Screen [Rejection after providing Optimal Solutions]
meta logo
Meta
software engineer e614 yearsRejected
April 15, 202474 reads

Summary

I had a phone screen with Meta for an E6 Software Engineer role where I was asked two LeetCode style questions. Despite providing optimal solutions and clearly explaining my thought process, I was ultimately rejected due to a minor code duplication in the second question, which I had offered to refactor given more time.

Full Experience

During my Meta E6 phone screen, I was given 40 minutes to optimally solve two LeetCode-style questions. I started by asking clarifying questions and establishing good test cases, including edge cases, to ensure I fully understood the problems. For both questions, I first presented a brute-force approach, then moved on to optimal solutions, complete with time and space complexity analysis. I verified later that my solutions were indeed optimal and my complexity analysis was accurate, all achieved with minimal to no hints from the interviewer. Once we agreed on the optimal approaches, I proceeded to code both questions, completing them within the 40-minute window. Throughout the interview, I clearly explained my thought process, performed dry runs, and even demonstrated edge-case dry runs to illustrate how my solutions handled various scenarios. After the interview, I ran my code on LeetCode, and it was accepted for all test cases with optimal time and space complexity.

The only minor imperfection in my performance was a small code duplication (about three lines) in the second question. I proactively mentioned this to the interviewer, stating that I could make those lines more elegant if I had a couple more minutes, as I prioritized delivering a working solution first. The interviewer agreed but didn't offer me time at the end to demonstrate the improvement, so I didn't think it would be a significant issue. No behavioral or other types of questions were asked; after 40 minutes of coding, the interviewer asked if I had any questions for them, which we discussed for five minutes, concluding the 45-minute screen.

To my surprise, I received a rejection email a few days later. The feedback stated that while I did an excellent job on the first question, the code duplication in the second question (those same three lines I had mentioned) was cited as the reason for rejection. With 14 years of rich experience building large-scale systems and leading engineering teams for Fortune 50 companies, I found it hard to fathom a rejection based on such a minor point, especially after my rigorous preparation. I feel like Meta prioritizes two 'perfect' coding solutions over extensive real-world experience. I've had a tough time with Asian interviewers historically, and despite my strong performance against significant personal challenges leading up to the interview—including my child being in the ER, my wife's car issues, and school cancellations—I was ultimately gutted by this outcome. I genuinely hope my experience helps others, even though I felt particularly unlucky in this instance.

Interview Questions (1)

Q1
Merge Three Sorted Lists Avoiding Duplicates Using Three Pointers
Data Structures & AlgorithmsMedium

The problem asked me to merge three given sorted lists (specifically three, not a general 'K' lists scenario) into a single sorted list. The key constraints were:
1. Use a three-pointer approach; a MinHeap was explicitly disallowed.
2. The output list must not contain any duplicate elements.
3. I needed to carefully manage the pointers, accounting for the possibility that the three input lists could be of different sizes.

The expected solution should be robust enough to handle varying list lengths and ensure only unique elements are added to the merged list while maintaining sorted order.

Preparation Tips

My preparation for this interview was extensive and thorough. I solved over 500 LeetCode questions, with more than 300 of those specifically tagged for Facebook (Meta) to target common problem patterns. Additionally, I engaged in 8 mock interviews prior to the actual screen, consistently achieving 5/5 stars in all of them, which boosted my confidence.

Meta interview experience | L4 | Multiple Locations
meta logo
Meta
SDE II3 yearsRejected
February 10, 202438 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."
Meta E4 | Onsite | Reject
meta logo
Meta
E4Rejected
February 3, 202439 reads

Summary

I interviewed for an E4 position at Meta and was ultimately rejected. The interview process included a phone screen, two coding rounds, a behavioral round, and a system design round, where I struggled with a mobile-focused design problem.

Full Experience

I decided to give back to the LeetCode community by sharing my interview experience at Meta. The process started with a phone screen, followed by an onsite interview which included two coding rounds, a behavioral round, and a system design round.

Phone Screen Interview:

For the phone screen, the first question I encountered was LRU Cache. I was familiar with this problem and was able to implement the optimal solution using a doubly linked list and a hashmap efficiently. The interviewer noted that since this was a relatively long question, one question would suffice. However, he then asked me another question, which was very similar to Daily Temperatures. For this, I was only asked to explain the solution concept rather than coding it out. I explained my approach, and after this round, I advanced to the onsite interviews.

Onsite Interviews:

Coding Round 1:

Q1: This was a fairly simple question. I was asked to implement a function that, given an array and a window size k, would return the moving average within that window. For example, given [1,2,3,4,5,6,7] and k = 3, the output should be [2, 3, 4, 5, 6]. I found a straightforward solution for this problem.
Q2: The second question was a graph problem, Word Ladder. I knew this problem well and was able to code the solution smoothly.

Coding Round 2:

Q1: This question was similar to Valid Word Abbreviation. It was again very simple, and I completed the code and walked through the solution in about 5 minutes.
Q2: The second problem was similar to Binary Tree Right Side View. This also felt simple to me, and I finished the code and walkthrough very quickly.

Behavioral Round:

This was one of my strongest rounds. The interviewer was very kind and friendly. We discussed some of my complex projects and how I approached and solved the challenges within them.

System Design Round:

This is where I struggled. Despite having prepared extensively for backend system design, I faced a mobile system design question. The interviewer asked me to design a library that, given a URL, downloads files from external sources. He even wrote a definition for one function: func($url, ?= parameters), highlighting the parameters with a question mark. As I asked more clarifying questions, he steered me to focus on the client side, seemingly evaluating my JavaScript abilities, specifically concerning concepts like promises and threads in JavaScript. I continued to answer based on what I believed would be a good design for such a library, and he inquired about the number of threads I would use and what a safe number would be. After the interview, upon further research, I found that the problem was similar to a file downloader library discussed on a proandroiddev blog.

I genuinely didn't know if everyone was expected to handle mobile system design. It was disheartening to be rejected primarily due to a mobile system design problem, especially after putting in significant effort preparing for backend system design. My advice to others is to ensure you prepare for both mobile and backend system design. Once I reviewed the blog post, I realized the question wasn't inherently difficult, but a lack of familiarity with mobile system design can certainly lead to a struggle. Also, it might be beneficial to revise JavaScript concepts; it might help you now or in the future.

I wish everyone the best of luck with their interviews.

Interview Questions (7)

Q1
LRU Cache
Data Structures & AlgorithmsMedium

Implement the LRU Cache data structure. It should support the following operations: get and put. get(key) will retrieve the value of the key if it exists, otherwise return -1. put(key, value) will 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.

Q2
Daily Temperatures (Explanation)
Data Structures & AlgorithmsMedium

Given an array of integers temperatures representing the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the i-th day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.

Q3
Moving Average in a Window
Data Structures & AlgorithmsEasy

Given an array of numbers and a window size k, calculate and return an array of moving averages for each window. For example, given the array [1,2,3,4,5,6,7] and k = 3, the output should be [2, 3, 4, 5, 6].

Q4
Word Ladder
Data Structures & AlgorithmsHard

Given two words, beginWord and endWord, and a dictionary wordList, return the length of the shortest transformation sequence from beginWord to endWord, such that: Only one letter can be changed at a time. Each transformed word must exist in the wordList. Return 0 if there is no such transformation sequence.

Q5
Valid Word Abbreviation (Coding)
Data Structures & AlgorithmsEasy

Given a string word and an abbreviation abbr, return whether the string matches the abbreviation. An abbreviation is a string where some of the non-adjacent, non-empty substrings of the original string are replaced by their lengths.

Q6
Binary Tree Right Side View (Coding)
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.

Q7
Design a Mobile File Downloader Library
System Design

Design a library that, given a URL, downloads files from external sources. The interviewer provided a function signature: func($url, ?= parameters). I was asked to focus on the client-side, including JavaScript concepts like promises and threads, and considerations like the optimal number of threads for downloading files. This problem was similar to a file downloader library discussed on proandroiddev blogs.

Preparation Tips

For system design, I studied Alex Xu's System Design Interview Volume 1 and Volume 2, and completed 'Grokking the System Design Interview'. I also watched some random videos. For coding, my preparation involved extensive practice on LeetCode. Based on my experience, I would advise others to also prepare for mobile system design and to revise JavaScript concepts thoroughly.

Meta E4 | onsite | Reject
meta logo
Meta
Software Engineer E4Rejected
February 3, 202433 reads

Summary

I interviewed for an E4 role at Meta, going through phone screen and multiple onsite rounds. Despite performing well in coding and behavioral rounds, I was ultimately rejected due to my performance in the system design round, which unexpectedly focused on mobile system design.

Full Experience

My interview journey for an E4 position at Meta began with a phone screen. The first question was implementing an LRU Cache. I was familiar with this problem and successfully solved it using an optimal solution involving a doubly linked list and a hashmap. The interviewer, noting the complexity, deemed one question sufficient. However, I was then asked a conceptual question very similar to LeetCode's Daily Temperatures, which I explained without needing to code. This round went well, and I proceeded to the onsite interviews.

The onsite portion had two coding rounds. In Coding Round 1, the first question was quite straightforward: given a window size, calculate the moving average within that window. For example, with [1,2,3,4,5,6,7] and k = 3, the output should be [2, 3, 4, 5, 6]. This was a direct solution. The second question was the classic graph problem, Word Ladder. I knew this one well and coded the solution smoothly.

Coding Round 2 also consisted of two problems. The first was similar to 'Valid Word Abbreviation', which I found very simple and completed the code and walkthrough in about 5 minutes. The second was akin to 'Binary Tree Right Side View', also simple, and I managed the code and walkthrough very quickly.

The Behavioral round was arguably my best. The interviewer was incredibly kind and friendly. We discussed some of my complex projects and how I approached solving the challenges within them.

My struggle came during the System Design round. Despite extensive preparation from sources like Alex Xu (Volumes 1 and 2) and 'Grokking the System Design' (which I completed entirely), along with various videos, I received a mobile system design question rather than a typical backend one. The problem was to design a library that, given a URL, downloads files from external sources. The interviewer even provided a function signature: func($url, ?= parameters). As I asked clarifying questions, it became apparent he wanted me to focus on the client-side, seemingly assessing my JavaScript proficiency, particularly concerning promises and threads. I continued to answer based on what I thought would be a good design for such a library, addressing questions about thread management and safe numbers. After the interview, I researched and found the problem was indeed similar to a Mobile system design file downloader library, as discussed in a blog by ProAndroidDev.

I was genuinely disappointed, as I had dedicated my preparation to backend system design, and the rejection felt largely based on this unfamiliar area. It made me realize that even if you're not expecting it, preparing for mobile system design is crucial, and refreshing JavaScript concepts can be beneficial. Wishing everyone the best of luck in their interviews!

Interview Questions (7)

Q1
LRU Cache
Data Structures & AlgorithmsMedium

Implement a Least Recently Used (LRU) cache.

Q2
Daily Temperatures (Similar)
Data Structures & AlgorithmsMedium

A question very similar to LeetCode's Daily Temperatures problem. I was asked to explain the solution without coding.

Q3
Moving Average in a Window
Data Structures & AlgorithmsEasy

Given an array of integers and a window size k, calculate the moving average for each window. 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].

Q4
Word Ladder
Data Structures & AlgorithmsHard

Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord, such that: Only one letter can be changed at each step. Each transformed word must exist in the word list.

Q5
Valid Word Abbreviation (Similar)
Data Structures & AlgorithmsEasy

A question similar to LeetCode's Valid Word Abbreviation problem.

Q6
Binary Tree Right Side View (Similar)
Data Structures & AlgorithmsMedium

A question similar to LeetCode's Binary Tree Right Side View problem.

Q7
Design a Mobile File Downloader Library
System Design

Design a client-side library that, given a URL, downloads files from external sources. The interviewer focused on client-side aspects, specifically JavaScript abilities, promises, and threads. Questions included managing the number of threads and determining a safe number.

Preparation Tips

I had done system design preparation from Alex Xu's volumes 1 and 2, and completed 'Grokking the System Design' entirely. I also watched some random videos, but my main focus was on books, specifically for backend system design. Looking back, I realize the importance of preparing for mobile system design as well, and recommend revising JavaScript concepts like promises and threads.

Meta E4 | Onsite | Reject
meta logo
Meta
E4Rejected
February 3, 202432 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.

Full Experience

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.

Interview Questions (8)

Q1
LRU Cache
Data Structures & AlgorithmsMedium

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.

Q2
Daily Temperatures (Similar)
Data Structures & AlgorithmsMedium

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

Q3
Moving Average in a Window
Data Structures & AlgorithmsEasy

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].

Q4
Word Ladder
Data Structures & AlgorithmsHard

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.

Q5
Valid Word Abbreviation (Similar)
Data Structures & AlgorithmsMedium

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.

Q6
Binary Tree Right Side View (Similar)
Data Structures & AlgorithmsMedium

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

Q7
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.

Q8
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.

Preparation Tips

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.

Meta E4 | Interview experience | Reject
meta logo
Meta
Rejected
February 3, 202438 reads

Summary

I interviewed for an E4 position at Meta and was ultimately rejected. While I performed well in the coding and behavioral rounds, my lack of preparation for mobile system design questions led to a struggle in that crucial round.

Full Experience

I wanted to share my interview experience with the LeetCode community.

Phone Screen Interview:

The first question was LRU Cache. I was familiar with this problem and managed to solve it with the optimal solution using a doubly linked list and a hashmap. The interviewer mentioned that since it's a long question, one problem would suffice. However, they then asked me another question, very similar to Daily Temperatures. For this, I only had to explain the solution, not code it. After explaining, I proceeded to the onsite rounds.

Onsite Interview:

Coding Round 1:

The first question was quite simple: given a window size, get the moving average within that window and output it. For example, with an input like [1,2,3,4,5,6,7] and k = 3, the output should be [2, 3, 4, 5, 6]. I found this to be a straightforward solution. The second question was a graph problem, Word Ladder. I knew this problem and coded the solution smoothly.

Coding Round 2:

The first question was similar to Valid Word Abbreviation. Again, it was very simple; I coded it and walked through the solution in about 5 minutes. The second question was similar to Binary Tree Right Side View, also straightforward. I quickly coded and walked through this solution too.

Behavioral Round:

This round was one of my best. The interviewer was very kind and friendly. We discussed some of my complex projects and how I approached solving the problems within them.

System Design Round:

This is where I struggled significantly. I had prepared system design primarily from Alex Xu's volumes 1 and 2, Grokking the System Design, and some random videos, with a strong focus on backend system design. The question I received was more akin to mobile system design than a typical backend one: "Design a library that, given a URL, downloads files from an external source." The interviewer provided a function definition func($url, ?= parameters) and indicated optional parameters. As I asked more clarifying questions, he directed me to focus on the client-side aspects, and it seemed he was evaluating my JavaScript abilities, particularly concepts like promises and threads in JavaScript. Despite this, I tried to answer based on what I believed would be a good design for such a library, discussing aspects like the number of threads. Later, upon researching, I found the problem to be similar to a mobile system design exercise for a file downloader library. I was quite disappointed, as I had put in a lot of effort preparing for backend system design, only to be rejected due to a mobile-focused question I hadn't prepared for.

Interview Questions (7)

Q1
LRU Cache
Data Structures & AlgorithmsMedium

I was asked to design and implement an LRU Cache. The optimal solution requires using a doubly linked list and a hashmap to achieve O(1) time complexity for both get and put operations.

Q2
Daily Temperatures (Similar)
Data Structures & AlgorithmsMedium

I was presented with a problem very similar to LeetCode's Daily Temperatures. The goal is to return an array answer such that answer[i] is the number of days you have to wait after the i-th day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead.

Q3
Moving Average in a Window
Data Structures & AlgorithmsEasy

Given an array of integers and a window size k, calculate the moving average for each window. 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].

Q4
Word Ladder
Data Structures & AlgorithmsHard

I was given the Word Ladder problem. The task is to find the length of the shortest transformation sequence from a beginWord to an endWord, such that only one letter can be changed at each step, and each transformed word must exist in the given wordList.

Q5
Valid Word Abbreviation (Similar)
Data Structures & AlgorithmsMedium

I encountered a problem similar to LeetCode's Valid Word Abbreviation. The question involves determining if a string can be abbreviated to a given abbreviation, where numbers in the abbreviation represent consecutive characters to be skipped.

Q6
Binary Tree Right Side View (Similar)
Data Structures & AlgorithmsMedium

I was asked a question similar to the Binary Tree Right Side View problem. The goal is to imagine standing on the right side of a binary tree and return the values of the nodes you can see ordered from top to bottom.

Q7
Mobile File Downloader Library Design
System DesignHard

I was tasked with designing a client-side library capable of downloading files from a given URL. The interviewer guided me to focus on client-side aspects, particularly JavaScript concepts like promises and threading models. The problem was later identified as being similar to a mobile system design exercise for a file downloader library.

Preparation Tips

For coding, I consistently used LeetCode to practice a wide range of problems across various data structures and algorithms.

For system design, I prepared diligently using Alex Xu's volumes 1 and 2, and I also went through the entire Grokking the System Design book. Additionally, I watched several random videos on system design topics. My preparation, however, was heavily focused on backend system design principles and patterns, which left me underprepared for the mobile-specific system design question I encountered.

Meta E4 Phone/Onsite Interview (Offer)
meta logo
Meta
Offer
February 3, 202440 reads

Summary

I successfully navigated the Meta E4 phone screen and onsite interviews, ultimately receiving an offer after a two-month intensive LeetCode preparation period. The whole process took about three months due to holiday delays.

Full Experience

I wanted to share my interview experience with Meta, where I ultimately received an E4 offer. The entire process took about two months of dedicated LeetCode grinding, extending to three months total due to holiday season delays. It's truly beneficial to start preparing early!

The interview process unfolded as follows:

Phone Screen:
During this round, I was given a problem where I had to merge a list of 'n' intervals and return the optimized result. There was also a follow-up question that involved 'k' interval lists.

Onsite:

  • Coding Round 1: This was quite unique. The interviewer presented a problem involving a graph of friend relationships, and I was asked to optimize my solution.
  • Coding Round 2: I encountered a variant of the LeetCode problem 'Simplify Path' and also a variant of 'Nested List Weight Sum'.
  • Product Architecture: For this round, I was tasked with designing a ticket buying application, similar to Ticketmaster. I focused on API and Database Modeling rather than going into deep scalability discussions, as that was the interviewer's preference. I made sure to lead the conversation and document my design notes.
  • Behavioral Round: The interviewer asked a number of classic behavioral questions. These included inquiries about projects I'm proud of, how I handle conflict resolution, difficulties I've faced with teammates, and my approach to project prioritization.

Interview Questions (5)

Q1
Merge Overlapping Intervals
Data Structures & Algorithms

Given a list of 'n' intervals, I was asked to merge them and return the optimized result. There was also a follow-up question involving 'k' interval lists.

Q2
Simplify Path Variant
Data Structures & Algorithms

I was presented with a variant of the 'Simplify Path' LeetCode problem.

Q3
Nested List Weight Sum Variant
Data Structures & Algorithms

I worked on a variant of the 'Nested List Weight Sum' LeetCode problem.

Q4
Design a Ticket Buying Application
System Design

I was tasked with designing a version of a ticket buying application, akin to Ticketmaster. The key focus was on API design and Database Modeling, rather than extensive scalability discussions.

Q5
Behavioral Questions
Behavioral

I was asked several classic behavioral questions, including topics like projects I'm proud of, how I handle conflict resolution, challenges faced with teammates, and my strategies for project prioritization.

Preparation Tips

My preparation involved a rigorous two-month LeetCode grind. My advice is to prepare early. I found it helpful to maintain a spreadsheet of all the LeetCode questions I completed, along with their solutions, for easy review. I also recommend practicing questions specifically tagged for the target company, as they can combine various problem types. Moreover, having a strong grasp of writing clean, readable code is crucial.

Meta | Onsite | Reject
meta logo
Meta
Rejected
February 2, 202424 reads

Summary

I recently interviewed at Meta for an onsite role and received a rejection, primarily due to my struggle with a mobile system design question during the final round, despite performing well in the coding and behavioral interviews.

Full Experience

Time to give back to the LeetCode community! My interview process at Meta consisted of a phone screen and an onsite round.

1. Phone Screen Interview

I was given LRU Cache. I had seen this question before and was able to solve it with the optimal solution using a doubly linked list and a hashmap. The interviewer mentioned that since it's a long question, one problem was enough. However, he then asked me another question, which was very similar to Daily Temperatures. For this one, I just had to explain the solution and didn't need to worry about coding. After explaining, I moved on to the onsite round.

2. Onsite Interviews

Coding Round 1:

Q1: This was a fairly simple question. I was asked to implement a moving average within a given window size. For example, given [1,2,3,4,5,6,7] and k = 3, the output should be [2, 3, 4, 5, 6]. It was a straightforward sliding window solution.

Q2: The next question was a graph problem: Word Ladder. I was familiar with this problem and coded the solution smoothly.

Coding Round 2:

Q1: This was similar to Valid Word Abbreviation. It was very simple, and I managed to code and walk through the solution in about 5 minutes.

Q2: The second question was similar to Binary Tree Right Side View. Again, it was simple, and I quickly completed the code and walkthrough.

Behavioral Round:

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

System Design Round:

This is where I truly struggled. I had prepared system design using various sources, mainly focusing on backend systems. The question I received was more of a mobile system design problem than a typical backend one. I was asked to design a library that, given a URL, downloads files from an external source. The interviewer had written a function definition: func($url, ?= parameters) and emphasized the parameters with a question mark. As I asked more clarifying questions, he steered me towards focusing on the client side and seemed to be evaluating my JavaScript abilities, specifically concepts like promises and threads in JavaScript.

Nevertheless, I tried my best to answer according to what I believed would be a good design for such a library. He asked follow-up questions about the number of threads I would use and what a safe number would be. Upon doing some research later, I found that the problem was similar to the concepts discussed in this article: Mobile System Design Exercise: File Downloader Library.

I genuinely don't know whether everyone is expected to be proficient in mobile system design, but interviews don't come with excuses. I was quite disappointed, having put in all the effort for backend system design, only to be rejected based on my performance in mobile system design. If you're preparing, make sure to cover both mobile and backend system design. Also, it might be beneficial to revise your JavaScript concepts.

Interview Questions (7)

Q1
LRU Cache
Data Structures & AlgorithmsMedium

Design and implement a data structure for a Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key) will retrieve the value of the key if it exists, otherwise return -1. put(key, value) will insert or update the value. If the cache reaches its capacity, it should invalidate the least recently used item before inserting a new item.

Q2
Daily Temperatures (Next Greater Element)
Data Structures & AlgorithmsMedium

Given an array of integers temperatures representing the daily temperatures, return an array answer such that answer[i] is the number of days you have to wait after the ith day to get a warmer temperature. If there is no future day for which this is possible, keep answer[i] == 0 instead. The problem was very similar to this concept.

Q3
Moving Average from Data Stream
Data Structures & AlgorithmsEasy

Given a window size, calculate the moving average of elements within that window as new elements arrive. For example, given the stream [1,2,3,4,5,6,7] and a window size k = 3, the output should be [2, 3, 4, 5, 6].

Q4
Word Ladder
Data Structures & AlgorithmsHard

Given two words, beginWord and endWord, and a dictionary wordList, return the number of words in the shortest transformation sequence from beginWord to endWord, such that: 1. Only one letter can be changed at each step. 2. Each transformed word must exist in the wordList. If there is no such sequence, return 0.

Q5
Valid Word Abbreviation
Data Structures & AlgorithmsEasy

Given a word and an abbreviation, check if the word matches the abbreviation. An abbreviation can be formed by replacing a contiguous non-empty substring of a word with its length. For example, 'internationalization' can be abbreviated as 'i12n', 'i5al', etc. This question was similar to the problem described.

Q6
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. This question was similar to the problem described.

Q7
Mobile File Downloader Library Design
System Design

Design a client-side library that, given a URL, downloads files from an external source. The interviewer provided a function signature: func($url, ?= parameters). The discussion focused heavily on client-side aspects and JavaScript concepts like promises and threads. The problem was similar to the concepts discussed in this article: Mobile System Design Exercise: File Downloader Library.

Preparation Tips

My preparation for system design included:

  • Reading Alex Xu's System Design Interview (Volume 1 and Volume 2).
  • Completing 'Grokking the System Design' book.
  • Watching various random videos.
My advice to others is to make sure you prepare for both mobile system design and backend system design. Also, it would be beneficial to revise JavaScript concepts.
Meta | on-site | E4/E5 | USA
meta logo
Meta
e4/e5usaOngoing
December 18, 202338 reads

Summary

I recently completed an onsite interview at Meta for an E4/E5 role in the USA, which involved two coding rounds, one behavioral round, and one system design round. I felt confident about my performance in most rounds, particularly the coding challenges, and am currently awaiting the final feedback.

Full Experience

My interview experience at Meta was structured into four distinct rounds.

The first round was a coding challenge where I faced a variation of the Simplify Path problem, along with an exact problem from Lowest Common Ancestor of a Binary Tree III. I was able to explain the most optimal solutions, run them with examples, and implement them within minutes. I also thoroughly discussed edge cases, complexity, and walked through additional test cases. This round went great, and I felt quite strong about my performance.

The second round was another coding session. Here, I encountered the Merge k Sorted Lists problem and a variation combining concepts from Insert Interval and Merge Intervals. Similar to the first round, I quickly presented optimal solutions, implemented them, and engaged in discussions about edge cases and complexities. While I wished for a harder problem to truly stand out, I did my best given the questions.

The third round was behavioral. It involved typical questions, and I felt I handled them pretty well. I made sure not to rely on generic YouTube advice and focused on genuine answers based on my experiences.

Finally, the fourth round was a system design challenge. I was asked to design an 'Ad count aggregation system'. I chose a product architecture approach and provided solutions for both live data and accurate data scenarios, integrating CMS and persistent data storage. I'm honestly not entirely sure about this round's outcome, but I presented my best effort.

I'm currently waiting for feedback from the recruiter. I feel I couldn't have done any interview better than this. Regardless of the outcome, I'm glad I gave it my all.

Interview Questions (6)

Q1
Simplify Path (Variation)
Data Structures & AlgorithmsMedium

A variation of the 'Simplify Path' problem. This problem typically requires processing a Unix-style absolute path (e.g., '/home/', '/../', '/home//foo/') and converting it into its simplified canonical path. Given a string representing an absolute path, I had to simplify it.

Q2
Lowest Common Ancestor of a Binary Tree III
Data Structures & AlgorithmsMedium

I was asked to solve the 'Lowest Common Ancestor of a Binary Tree III' problem exactly as it appears on LeetCode. This problem involves finding the lowest common ancestor (LCA) of two given nodes in a binary tree, where each node has a reference to its parent.

Q3
Merge k Sorted Lists
Data Structures & AlgorithmsHard

The problem presented was 'Merge k Sorted Lists' exactly as found on LeetCode. The task was to merge k individually sorted linked lists into a single sorted linked list.

Q4
Insert and Merge Intervals (Variation)
Data Structures & AlgorithmsMedium

This was a variation combining concepts from 'Insert Interval' and 'Merge Intervals'. The problem likely involved inserting a new interval into an existing list of non-overlapping intervals, and then merging any resulting overlapping intervals to produce a final list of mutually exclusive intervals.

Q5
Ad Count Aggregation System
System Design

Design an 'Ad count aggregation system'. This involved building a system to count and aggregate ad impressions or clicks, potentially dealing with live data, accurate data cases, and using content management systems (CMS) and persistent data storage.

Q6
Behavioral Interview
Behavioral

Typical behavioral questions designed to assess soft skills, past experiences, and cultural fit. The post explicitly states questions like 'Why Meta?' are unlikely, implying questions focusing on past project experiences, challenges, and teamwork.

Meta | Onsite Interview (Virtual) | E4 Research Scientist ML
meta logo
Meta
E4 Research Scientist MLVirtual
April 5, 202235 reads

Summary

I recently interviewed virtually with Meta for the E4 Research Scientist ML role, undergoing a two-day process that included ML design, behavioral assessment, and multiple coding rounds.

Full Experience

My virtual onsite interview experience with Meta for the E4 Research Scientist ML role was split into two days. Day 1 focused on ML Design and a Research & Experience (behavioral) round. Day 2 had two coding rounds.

Interview Questions (1)

Q1
Design an Instagram Feed Recommendation System
System Design

Design a feed recommendation system for Instagram.

Meta | E4 | Seattle | Dec 2021 [Offer]
meta logo
Meta
E4Seattle2.5 yearsOffer
January 29, 202227 reads

Summary

I interviewed at Meta for an E4 position in Seattle in December 2021 and successfully received an offer. The interview process included a phone screen and several onsite rounds covering coding, machine learning design, and behavioral aspects.

Full Experience

I recently interviewed at Meta for an E4 Software Engineer role in Seattle. At the time, I had 2.5 years of experience, working as an SDE2 at another top tech company. My interview journey consisted of a phone screen followed by a comprehensive onsite loop, ultimately resulting in an offer.

Meta Phone Screen

Meta Onsite

Coding Interview 1
  • The first problem was to add two numbers represented as strings, like LeetCode - Add Strings.
  • This was followed by a problem to multiply two numbers represented as strings, similar to LeetCode - Multiply Strings.
  • I also had follow-up questions for these problems, such as handling negative string inputs or preceding zeros.
Coding Interview 2
ML Design 1

This round involved a discussion centered around my past projects. I was presented with a problem that was a modification of one of my previous projects, prompting a deep dive into trade-offs, data collection strategies, and deployment considerations.

ML Design 2

The second ML design round was an open-ended problem focused on recommendation systems. The discussion covered various aspects including data sources, relevant metrics, feature engineering techniques, potential improvements, and runtime efficiency.

Behavioral Interview

The behavioral round primarily focused on my project experiences. I was asked to describe different situations, including conflicts with managers, my motivations for wanting to work at Meta, how I handled tough deadlines, and my experiences with mentoring others.

Interview Questions (10)

Q1
Validate Binary Search Tree
Data Structures & AlgorithmsMedium

Given the root of a binary tree, determine if it is a valid binary search tree (BST).

A valid BST is defined as follows:

  • The left subtree of a node contains only nodes with keys less than the node's key.
  • The right subtree of a node contains only nodes with keys greater than the node's key.
  • Both the left and right subtrees must also be binary search trees.
Q2
Merge Two Interval Lists
Data Structures & AlgorithmsMedium

Given two lists of sorted disjoint intervals, merge them into a single list of sorted disjoint intervals.

For example, given list1 = [[1,3],[6,9]] and list2 = [[2,5]], the result would be [[1,5],[6,9]].

Q3
Add Strings
Data Structures & AlgorithmsMedium

Given two non-negative integers num1 and num2 represented as strings, return the sum of num1 and num2 as a string.

You must not use any built-in BigInteger library or convert the inputs to integers directly.

Follow-up questions included: What if one of the strings is negative? What if there are preceding zeros?

Q4
Multiply Strings
Data Structures & AlgorithmsMedium

Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string.

You must not use any BigInteger library or convert the inputs to integers directly.

Follow-up questions included: What if one of the strings is negative? What if there are preceding zeros?

Q5
Convert Binary Search Tree to Sorted Doubly Linked List
Data Structures & AlgorithmsMedium

Convert a Binary Search Tree (BST) into a circular sorted Doubly-Linked List. The list should be sorted in ascending order.

The conversion should happen in-place. The right pointer of a node should point to the next node in the sorted list, and the left pointer should point to the previous node. For the circular list, the left pointer of the head should point to the tail, and the right pointer of the tail should point to the head.

Q6
Find Peak Element (Variation)
Data Structures & AlgorithmsMedium

The problem was similar to finding a peak element in an array. A peak element is an element that is strictly greater than its neighbors. Given a 0-indexed integer array nums, find a peak element, and return its index. If the array contains multiple peaks, return the index to any of the peaks.

Q7
Conflict with a Manager
Behavioral

Describe a situation where you had a conflict or disagreement with your manager and how you approached resolving it. What was the outcome?

Q8
Why Meta?
Behavioral

What interests you about Meta as a company, and why do you want to work here specifically?

Q9
Tough Deadline Experience
Behavioral

Describe a time when you faced a particularly tough deadline on a project. How did you manage the situation, and what was the result?

Q10
Mentoring Experience
Behavioral

Describe your experience with mentoring others, either formally or informally. What challenges did you face, and what did you learn?

Have a Meta Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Meta.