Facebook NYC Onsite Interview Experience

Round 1: Went through my work experience and resume, got asked a bunch of soft questions like what was my most impactful work project, how I’ve dealt with technical difficulties, who my least favorite manager ever was, etc. Then did a simple whiteboard code exercise.

Whiteboard question: there’s some function that can “compress” strings like FACEBOOK -> F6K or FACEBOOK -> F2E2OK or INTERNATIONALIZATION -> I18N. The compression mechanism can delete arbitrarily many characters and replace them with the deleted character count. Write a function that takes a compressed string and a plaintext string and determines if the compressed string is valid for the plaintext string.

Round 2: Two whiteboarding questions.

Question 1: Write a function that takes a sorted list of integers and a target value k and counts the number of occurrences of k in the list.

Question 2: Find the maximum path sum in a binary tree.

Round 3: Systems design question asked to architect the backend for a photo system that has 100 PB of photo data and 500M active daily users. The interviewer went into a lot of detail expecting me to give exact numbers for CPU usage, memory usage, bandwidth numbers, exact hardware specs, etc.  This kind of tripped me up because there was a lot of mental math on numbers with big exponents and I didn’t know all of the numbers (e.g. disk bandwidth) as well as I could have.

Round 4: Systems design question asked to architect a streaming video service like Hulu or Netflix. The system should enforce user subscriptions and limit logins to a fixed number of devices. This question differed from the previous one mostly in that we went into a lot more detail about how to manage things like authentication securely, how to architect a data pipeline on the backend, how caching should work, how to implement sharding, how to make the system HA, etc. So compared to the previous question, it was a bit more high level and less numbers oriented.

Round 5: Three whiteboard coding questions.

Question 1: Maximize profit for buying and selling stock given a series of price vectors (“Best Time To Buy And Sell Stock II” on Leetcode).

Question 2: Given m sorted arrays, find the k-th smallest value.

Question 3: Binary search in a sorted, rotated array

Write your Interview Experience or mail it to contribute@geeksforgeeks.org

My Personal Notes arrow_drop_up

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.