I came onsite for what was described as an hour-long introductory and technical interview. I was greeted by the recruiter and shown around the office (FB NYC), then we chatted for 10-15 minutes. The engineer then arrived, and we started the technical part of the interview, which took 45+ minutes (we ran over).
First, the interviewer asked about Hadoop, as I had mentioned using it at my current job. I used Hadoop for machine learning tasks, so we discussed the details of the system.
The rest of the interview involved coding on a whiteboard. The questions progressively increased in difficulty.
The first question was: Given two string representations of binary numbers (e.g., "1001", "10"), write a function that adds them and returns the result as a string as well (e.g., "1011").
The next question had several parts:
(a) First, write a function to calculate the Hamming distance between two binary numbers. (b) Write a function that takes a list of binary numbers and returns the sum of the Hamming distances for each pair. (c) The solution I initially provided for (b) was O(n^2). I was then tasked with finding a more efficient solution. I struggled significantly and was eventually guided to the solution with many hints from the interviewer.
After that, I had a chance to ask questions of the interviewer, and then we were done. I don't know if I've made it to the next round or not.
(a) First, write a function to calculate the Hamming distance between two binary numbers.
(b) Write a function that takes a list of binary numbers and returns the sum of the Hamming distances for each pair.
(c) Find a solution for (b) that works in O(n) time.
The following metrics were computed from 150 interview experiences for the Meta Software Engineer role in New York, New York.
Meta's interview process for their Software Engineer roles in New York, New York is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Meta's Software Engineer interview process in New York, New York.