The process took multiple months as I was not available. The recruiter did an excellent job in making sure that I took the interview.
The interview lasted 45 minutes and started with details about my previous work experience, which took about 20 minutes. I was then left with 20 minutes for the programming question.
He gave me a problem related to a Binary Search Tree (BST). Obviously, I needed to draw the tree, which is difficult on a phone interview. I started by exploring multiple approaches. He then specifically told me what I needed to do, for example, "Give only a recursive solution" or "You can only store a few things, no extra space."
In the end, I was able to solve it with a minor hint. He was also telling me to fix bugs as I was coding and to indent the code according to his standards.
Overall, it was a good experience, but I did not get the offer. They are looking for people who can code in like 10 minutes, as I was able to code in 15-20 minutes. They want bug-free code and will only go forward with the best candidate. I think even if you make a minor mistake, you are out, as there is someone else who will solve it perfectly. Therefore, try to solve it perfectly!
Another important lesson: If you get the option of a phone versus an in-person interview, I would say go for the in-person interview, as it gives the interviewer the chance to see what you are doing on paper versus imagining that over the phone.
Serialize and deserialize a BST
The following metrics were computed from 359 interview experiences for the Meta Software Engineer role in Menlo Park, California.
Meta's interview process for their Software Engineer roles in Menlo Park, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Meta's Software Engineer interview process in Menlo Park, California.