I recently applied for software developer roles in London and got offers from Amazon, Google and Facebook. I wanted to give back to the community and share my experience.
I have 2 YOE working in a startup in Bangalore.
Amazon Onsite:
Each interview had few behavioral questions and 1 coding question.
Time when you dived deep; Design elevator system
Time when you made a mistake, decision you made which conflicted; Hangman guess to minimise number of guesses
Hurdles in the project, ownership (something did out of scope); packages dependency (topological sort)
Most challenging proj; Find function of linux
Google Onsite:
Facebook:
Screening round:
I was asked 2 questions:
A slightly modified version of https://leetcode.com/problems/random-pick-with-weight/
https://leetcode.com/problems/k-closest-points-to-origin/
Was able to solve both, but took some time in explaining and dry running the 1st solution due to which couldn't explain 2nd question properly.
Onsite:
I was asked 2 graph questions in each of the technical rounds. In system design, I was asked to design Instagram.
I don't remember the exact questions, but they were Leetcode medium (unlike Google). For facebook, I feel the focus is more on coding quickly without making mistakes.
I finally decided to go with Facebook.
Preparation: I did around 100 leetcode questions (70% medium, 30% hard), studied DDIA and Sys des interview.