Facebook | E5/6 | Seattle | Oct 2020 [Reject]
Anonymous User
4243

Status: Experienced (17+ yrs)
Position: E6
Location: Seattle, WA
Date: Oct 19, 2020

Facebook recruiter reached out from LinkedIn during end of Aug 2020. Scheduled a phone screen with one of the hiring managers from Bay Area.

Initial Technical phone screen (45 min) with a hiring manager: Around Sep 14 2020

  • Behavioral questions
  • About overall experience, Technical Leadership, standard LP (Leadership principle questions), System design discussion.
  • Algorithm question
  • How to remove nodes with a value 0 from a linked list of integers. (time given is 10 min).
    Explained the approach and completed with an clean code.

Result: Passed
The recruiter reached out saying the hiring manager wanted to proceed with second phone screen with a deep dive coding interview.

2nd technical phone screen (45 min) with a Sr. Sofware Engineer: ... Around Sep 21 2020

  • Algorithm question 1:
  • Find a LCA of two given nodes in a BinaryTree given the root node (put in different words).
  • Provided a brute force approach and also discussed about optimization and coded the solution in 15-20 minutes.
  • Algorithm question 2:
  • Add two binary strings and return a binary string.
  • Provided an optimized solution and completed the code in 20 minutes.
  • Just a casual chat of 5 to 10 minutes about the interviewers team, tech stack they used at their work, facebook work culture etc...

Result: Passed
The recruiter reached out requesting schedule for Onsite interviews.

I took almost 4-5 weeks to prepare. (I am on a parental leave as well :))
Onsite (4 rounds): Oct 19 2020

Round 1: Ninja coding
Algorithm Question 1:
There is a lock with 4 keys and each key is a set of digits from [0....9] where the lock could be opened by moving the keys one at a time both forward and backward [9 to 0] and [8 to 9] etc. The initial key combination of the lock is always [0000]. Given a target key combination such as [2101] find the minimum number of times the keys need to be turned to open the vault.

Took sometime to find the solution and completed and validated the code in 30 minutes (Bit slow in arriving to the solution)...

Algorithm Question 2: A variation of the same problem above
There are set of dead end keys where if any of the combination is arrived the lock cannot be opened. Find the minimum number of operations required to acheive the target.
[0000]->[2101]
dead ends = [1000, 0011, 1011]... etc
Solution Provided: Use BFS to generate intermediate keys and check against the set of dead ends.
Ran out of time coding the solution but had some pseudo code as per discussion with the interviewer. The interviewer seems to be agreed with the approach.

Round 2: Jedi round (A hiring manager)

  • Behavioral questions (30 min): Quick introduction from both sides (interviewer/candidate) ( 1-2min)
  • Tell me about a time when you had a conflict with your manager or a peer. What did you do?
  • Tell me about a time when you had faced technical challenge and how did you resolve?
  • Some standard LP questions..
  • Algorithm question 1: (15 min)
  • Find the longest common prefix from a given set of strings.
  • Explained different approaches and finished the code using Horizontal scanning approach (10 min)
  • Remaining 5 min discussed about growth opportunities, work culture etc at Facebook.

Round 3: Ninja coding

  • Algorithm question 1: (10 min)
  • Find the product of all the elements in array except itself.
  • Explained different approaches and finished the code using optimal approach (10 min)
  • Algorithm question 2: (20 min)
  • Convert a given BST (binary search tree) into a sorted, circular, doubly linkedlist using inplace approach.
  • Explained the approach of using DFS (inorder traversal) and pointer linking and completed, tested, debugged code.
  • Remaining 5 min discussed about facebook engineering practices etc..

Round 4: Behaviroal + System design

  • Behavioral questions (10 min): Quick introduction from both sides (interviewer/candidate) ( 1-2min)
  • Standard LP questions.
  • System Design question 2: (20 min)
  • Design a system that could hack a website containing deep links (urls).
  • Constraints:
    1. How do you handle duplicate data not being stored? - Discussed about hashing and key management techniques.
    1. How do you handle your servers/services not communicating with central server (to avoid the other servers in your network to detect the activities perfomed by a node) ? - I think the interviewer is expecting the system to be using some sort of P2P or XMPP protocols used in instant messaging systems. ( I wasn't able to discuss these protocols instead I have provided a high level approach using HTTP, Microservices architecture etc..)
  • Discussed about the requirements, constraints, provided estimates in storage, resource throughput, latency etc.., provided an architecture diagram using google drawings.
  • Remaining 5 min discussed about facebook's boot camp, culture, interviewers project/team, tech stack etc..

Result: ...[Reject]

Feedback being techical skills not at par with the expectations.
I believe Round 1 slowness in code complete and Round 4 not giving expected answers to the second constraint could be the reasons for the red flag.

Lesson's learned:
I would say practice more such that you can detect the patterns from the questions being asked and that would save time and increase speed. Also do more research on the company's products/services that helps in sys design. The last round was from an engineer at Whatsapp and they are expecting the candidate to know about some sort of design/architecture of their products (I was able to look online after the interview to know what techiniques are used in this case 2nd constraint) and deep dive into various architecture models like client/server, microservices, monolithic, distributed computing etc.

Finally a bit of luck as well, as there is a possibility of elimination at each round. However, I enjoyed the interviewing experience and thanks to leetcode commuity for providing a platform to help candidates succeed. I would continue practicing and continue with my quest of possible new opportunity.... All the best to all of you who are preparing for interviews..

Comments (18)