My background is Master in Computer Science and Engineering, not from Tier 1 university. I am having 7 plus of experience into mobile application development. It was the year of 2017, when I received a message in LinkedIn from one of the facebook recruiter Singapore. I never imagined that my profile can be shorltlisted for such a big giant in Tech. I could not make it out that time. But 2021, I got call again from one of the recruiters from Facebook London. I really worked hard sincerely this time, but I could not get the offer.
My interview was consisting of:
Screening Round (Leetcode medium): 2 coding questions and two very basic mobile architecture questions.
Follow up round( Leetcode medium): 2 coding questions and general mobile tech questions. The feedback on screening was a mix, so this round had been organised. I did really well on this. Interviewer was satisfied with my optimum solutions.
Onsite Virtual Coding 1 round: (Leetcode medium). The questions were really easy to answer. Questions were slightly deviated from the original leetcode problems. Interviewer checks the confidence of the candidate and the problem solving skill during the interview. I must admit that my coding round-1 went really well. The questions were related to binary tree and traversal, finding common ancestor, cloning graph. I have solved 100 top facebok problems from leetcode as I did not have much time to prepare and practice on the same. Facebook engineers expect from candidate to solve medium level coding question in 10-15 minutes. There are some points which should be always remembered while coding.
Onsite Virtual Coding 2 round: (Leetcode medium). The first question was on recursion which I did without any hint or help. The interviewer asked me the time complexity. The second question was on something which mainly causes the misfire. I knew the solution, but due to absence of mind I completely moved to different direction. I wish my interviewer could have stopped me before I stopped coding. The questions were based on doubly linked list, hashmap and Trie. When the time was off, the interviewer informed me that the direction I went in was completly wrong. I was devastated by the fact and remorsed for couple of days. Anyways I was hopeful too and started preparing for behavioural interviewer and system design.
Behavioural Round: Please do not take this interview casually. Please work on your last two years of achievements , failures, any kind of experience with your colleagues and stakeholders. Try to be real. My approach on this interview was based on S (Situation) T (Task) A (Action) R (Result). I have taken a help from https://www.themartec.com/insidelook/behavioral-interview-questions. The round was also went very well.
System Design Round: Out of all rounds, this is where I showcased my greatest proficiency in mobile system design. The interviewer was so happy with the design discussion. I had covered entirely everything from API design, high level system design, data layer, business layer, UI layer, scalability, maintainability, testability, security, detailed client design. Make sure you do discuss about trade offs which is highly expected from L5 candidate. You should also know about short polling, long polling, SSEs and their pros and cons. This interview preparation takes atleast two weeks. Try thinking of existing apps such as highly downloaded app, location sharing app, photo sharing app, background downloads etc.
I was very sure that this time I would get the offer. But when the feedback came after waiting one week, I was in denial for next one week not able to accept the decision. The feedback which I received from the interviewers was: