Facebook | E5 | London | May 2020 [Reject]
Anonymous User
1479

YOE: 13

First of all, this is an amazing community! I have been actively following all the threads under interview and they have helped me immensely, so time to pay back!

Telephonic:

Question 1: https://leetcode.com/problems/valid-palindrome-ii/
Question 2: https://leetcode.com/problems/intersection-of-two-arrays/
Had a follow up to Q2 where I had to print all duplicates also. Ex: nums1 = [1,2,2,2,1], nums2 = [2,2] OP: [2,2]

Heard back after 2 weeks and went on to virtual onsite.

4 rounds:

R1: Behavioral: Went on well, standard questions - I answered them to the best of my ability. But wasnt sure how it went. The interviewer seemed nice and interested enough in the conversation though.

R2: Coding:
Q1: https://leetcode.com/problems/verifying-an-alien-dictionary Standard question, did on time. Discussed complexities.
Q2: https://leetcode.com/problems/binary-tree-vertical-order-traversal - Again a standard question, finished right on time.

R3: Coding:
Q1: Unable to find this on LC. Should be easy/medium - Was asked to find the number of times the array changes in direction - ascending/descending. Ex: [1,2,3,4,3,4] OP: 2 (1-4 ascending, then 4-3 descending, so change=1, 3-4 ascending again, so change=2)
Did this on time but did not handle couple of edge cases - this is where things started to go downhill. Interviwer had to prode and help me with an edge case. I changed the code to handle it.
Q2: https://leetcode.com/problems/top-k-frequent-elements/
Now this is the most interesting part of the interview. I have done this problem n number of times. So, started to explain how I would approach it using heap and solve it in O(nlogk) complexity. The interviewer insisted that it would not be O(nlogk) but O(nlogn). I did not understand why. He then went on chatting me up, I tried various different approaches other than heap all of which he rejected and then he finally said I need to use BST to solve this! By this time I reached end of 45 mins and could not even code anything for Q2.

R4: System Design:
One of the standard *** system design questions.
Ran the interviewer through the standard template. Half way through I was stopped and asked to explain how I would design APIs for this. I explained the important APIs, their params, response structures, protocols I would use etc. But he was not happy and said I was not covering all aspects of API design.

Heard back from FB 10 days later about the reject.

Feedback from recruiter:
R1 - I did very well and was marked as strong hire.
R2 - Did well, marked as hire.
R3 - No hire as I did not code Q2.
R4 - Good backend system design skills, covered DB, scalability aspects in detail but not adequate API design skills, missed explaining trade offs in detail, estimate calculations were not upto the mark.

Recruiter asked me to stay in touch and said he will help in retrying again after 9 months. Said the positive feedback was strong and if I work on my design skills, I should not have an issue.

My take aways:
I think being in the right frame of mind on the day of the interview is a deal maker or breaker - it is a no brainer, but I think it did turn things sour for me. The interactions in round 3 totally messed my head. To be honest I did not even give my best shot in R4. And thats my biggest regret.

I was quite comfortable with coding rounds and was always a little skeptical about system design round. So, the feedback was not a shocker to me. What I did not anticipate though was the API design angle in system design. I clearly told my recruiter that I would like to have a system design round, so I dont know why I was judged on API design. I gace my feedback but theres nothing to change now.

I have taken a break from LC after this - its been 2 weeks. I need to get back into the game though.

To all the other FB aspirants -
Practice coding well. I personally think FB coding questions are in medium range (most often) which can be cracked easily if you have practised enough. I had done around 170 LC questions before my onsite. All top 50 FB questions and others from the top 300 FB list.

System design is another beast though and I honestly need to find better resources to equip myself for the next attempt.

Comments (5)