Interviewed three times at facebook in the last 2 years & failed all of them inspite of getting easier questions.
2020, October - Reject
Phone screening
- https://leetcode.com/problems/first-bad-version/. Follow up - Write some test cases
- https://leetcode.com/problems/minimum-remove-to-make-valid-parentheses/
VO
- System design - Design google photos
- Coding - Some behavioural question which I spent 15 mins explaining - Trie based quetion (I couldn't finish coding as I have no idea what Trie is)
- System design - Design Instagram - Photos, Non nested comments, Like
- Behavioral
- Coding - Related to Course Schedule 2
Recruiter said I can interview again in 6 months
2021 May - Reject
Phone screening
- Find number in binary search tree
- Word Break 1
I couldn't complete second questions so scheduled for a follow up phone screening the following week,
- Simplify path
- Two pointer based medium question, non on leetcode
VO
- System design - Design live wall paper
- Coding
- Add two numbers represented as string - easy
- Binary tree maximum sum path - leetcode hard but i find it medium
Completed both optimally on time
- Coding
- Basic calculator without stack - Gave a recursive solution - I failed here as interviewer was looking for a constant space solution
- Behavioral
2021 December - Reject
This time I was scheduled for virtual onsite directly
VO
- System design - Design photo sharing application.
- Coding
- Kth largest - Gave Min Heap solution. Not sure if interviewer was expecting a Quick Select sort
- Merge sorted array
- Behavioral
- Coding -
- Leetcode easy
- Given an array of flight routes (like A -> B, C -> D, B -> C, D -> E) and a source / destination flights, output the path containing all paths. (There can be cycles - not mentioned in the question, I needed to clarify). It took me like 10 minutes to understand and ask clarifying questions, draw the graph on Coderpad. I started coding when 10 minutes left. I completed 95% of the code & still there was 5 minutes left but interviewer asked me to stop & reserve last 5 mins for questions. So I just explained how I would avoid a cycle by using a Set & mentioned the time/space complexities. And asked some question about Accessibility in Facebook app. I think I failed here.
Recruiter said System design & Behavioral went well. I failed coding interviews, by a small margin, inspite of getting easier questions in all interviews.
Don't spend time on DP / Questions on Facebook recruiting page. Just do Facebook tagged recent 6 months questions & questions in leetcode discuss.
For android system design know about Pagination, Storage(File, DB), Push notification, Broadcast receiver, Service (Foreground service, IntentService). If you're doing Android app development for 2 ~ 3 years, you'll just do fine in System design. Try designing WhatsApp, Instagram, LiveWallpaper, Dropbox, Google photos.
Best of luck for everyone in everything :)
Merry christmas