Got referred through a friend at FB. They contacted me 1-2 weeks later via email. Set up a phone chat that the recruiter initially missed, but we rescheduled. Once we had a phone conversation she said they can move really fast: ~1 week to make an offer.
I went on site for a first round interview (since I'm local to the area). The interviewer was nice. She asked me to describe what I work on now. Then we jumped into two coding problems. I interpreted the problem as a Hamming Distance problem and asked if it was, she kind of shrugged it off -- I don't think she knew what Hamming Distance meant. I coded a solution on a laptop (new trial process they were doing), but it turned out we were not talking about the same problem. In retrospect, the problem she was describing was Levenshtein Distance. I had the feeling she only knew the solution to the problem because she had the answer sheet.
The second problem was another classic DP problem. Finding the sum of 1's in a submatrix. I went on to describe the recurring relation for the subproblem in the linear case. She didn't want me to do that and she quickly said the solution to the 2D case was a generalization of the 1D case.
Because of the novelty of the laptop in the interview and the misunderstanding of the initial problem, the recruiter fought for me to do another phone screen even though the first one didn't go that well.
The second interview I opted for a phone interview. This time the interviewer seemed more knowledgable and came into FB through an acquisition. I was asked what I work on now and some hard problem I solved in the past. Again two interview questions were asked (using collabedit). The first was to list out all the paths in a binary tree which was simple. I did make some mistakes and corrected it in the code as we talked through use cases. The second problem was checking if a string was a palindrome for strings with symbols and spaces in them which again is easy. I did solve both problems, but in the beginning the interviewer stated he's looking for accuracy and performance. My tree traversal was a simple preorder traversal using recursion and the palindrome involved one loop.
Apparently the second interview did not go well even though I provided correct solutions in both. I guess the interviewer was serious when he said he's looking for correctness -- I guess you need to be able to code compilable/error-free code in a text editor.
The recruiter and onsite coordinator were very helpful and the interviewers were very friendly. However, the style of FB interviews seems to be that you should study and know by heart common interview puzzles/algorithms/DP problems and be able to reproduce that error free.
Preguntas de entrevista [1]
Pregunta 1
Levenshtein Distance, Sum of 1's in a submatrix, Print all paths of a binary tree, Palindrome
Took about a month from start to finish, which felt longer than I expected. After a couple of initial phone screenings, I faced a challenging technical round focused on system design. It was during this round that I was asked to describe overcoming a major career challenge. Interestingly, I had just reviewed a similar framework on PracHub, which helped me articulate my thoughts clearly. Overall, I appreciated the depth of the process and ended up accepting the offer.
Preguntas de entrevista [1]
Pregunta 1
Describe Overcoming a Major Challenge in Your Career
The entire process usually takes 3–8 weeks, depending on scheduling and the specific role. Coding interviews heavily emphasize common DSA topics such as arrays, strings, trees, graphs, BFS/DFS, heaps, hash maps, and dynamic programming. System design becomes increasingly important for E4+ positions.
Preguntas de entrevista [1]
Pregunta 1
Given an array of integers and a target value, return the indices of two numbers that add up to the target
Unexpectedly, the first question in the technical round felt familiar. It was about finding a subset of strings with unique character concatenation — same problem I had worked through on PracHub a few days earlier. The interview included a recruiter screen followed by a rigorous pair of technical interviews where I tackled data structures and algorithms alongside system design concepts. After successfully answering a few more challenging DSA questions, I received an offer. The entire experience was intense but ultimately rewarding, and I happily accepted the position.
Preguntas de entrevista [1]
Pregunta 1
Given an array of strings, pick a subset whose concatenation contains no duplicate characters, and return the maximum possible length of that concatenation.