Related Articles
• Difficulty Level : Hard
• Last Updated : 11 Jun, 2019

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 3: Binary search in a sorted, rotated array

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon and Microsoft Test Serieses.

My Personal Notes arrow_drop_up