Meta E4/E5 SDE Interview Experiences

Round 1: Coding

Q1: Array-related questions.
Q2: Range Sum BST

Given the root node of a binary search tree, return the sum of all nodes whose values are between L and R (inclusive). Ensure that the values in the binary search tree are unique.

My approach is to use the in-order traversal method. First, traverse the left subtree and push visited child nodes into the stack. Once all left nodes have been visited, pop the stack and calculate the sum of values that meet the requirements. Exit the loop when pop.val > r. If there is a right subtree, import it into the while loop for traversal. It's actually quite simple. The code was completed, but there wasn't enough time to verify all test cases.

Round 2: Product Architecture

Q: Design Ticketmaster
The following functional requirements must be implemented: Users can search for cinemas by city or ZIP code, view movies currently showing after selecting a cinema, select a movie and then select a showtime (e.g., 1 PM, 3 PM, 5 PM), view available seats for that showtime, select seats, and complete the ticket purchase.

Non-functional requirements focus: Once a user successfully purchases a ticket, the seat must be locked to prevent duplicate bookings/multiple users browsing and competing for tickets simultaneously, the system must ensure accuracy/support high traffic and high concurrency/the system should remain stable even if part of the service fails.

Round 3: Behavioral

· Handling uncertainty
· Making difficult decisions
· How to handle conflicts with colleagues, etc.

I had prepared stories in advance, so sharing them was not difficult. The key is to be prepared for the interviewer to challenge you at any time, so make sure you are familiar with your story content.
Fourth Round: Product Architecture

Q: Design Dropbox
This round went well. Similar to the previous product architecture round. The interviewer asked several questions about the design proposal and how to handle large files.

Round 4: Coding

Q1: A problem related to matching strings.
My approach was to iterate through the words. I merged the parts before and after each word into strings. Here, it’s important to avoid forming corresponding words at the end and beginning of words, so spaces need to be added during merging.

This question was quite challenging, and I spent a long time organizing my thoughts. I only completed the coding after the interviewer provided hints. There wasn’t enough time to complete Q2, and I didn’t even get to see the question.

Comments (3)