There was a phone interview with two very weak, very easy technical questions (e.g., basics of binary search).
I then went in for a day with two 45-minute interviews, followed by another day with three interviews. Due to scheduling constraints, they scheduled next-day interviews, which meant one interviewer didn't show up. I had to find the recruiter, who found me someone else after some apologies and hassle.
The interviews tended to be very similar. First, I'd be asked to talk about some interesting research I did. After that, I'd have one or more algorithm/coding questions. The first part involved explaining the solution to an algorithmic problem, and the second part was to code it up. Sometimes one of these parts was omitted, but every interviewer wanted to see code on the whiteboard.
I liked the open feel of the office and culture, but found that people seemed more driven by the company's success and profit than by the fun problems they got to work on. This left me a little less attracted. However, for someone with more interest in business success than I have, that might be ideal. I'm sure there are interesting problems there, and plenty of smart people are present in a flexible environment.
The vacation time is among the best, though other benefits are still lacking (e.g., investment matching).
Compensation included a large proportion of stock grants, the value of which is still uncertain.
Due to my timidity, I did not engage in any compensation negotiation. My recruiter also did not bring up the possibility of increasing it, which surprised me given that they knew I had a competing offer. I found that somewhat unwelcoming, but perhaps it's standard.
Suppose you have a matrix of numbers. How can you easily compute the sum of any rectangle (i.e., a range [row_start, row_end, col_start, col_end]) of those numbers?
How would you code this?
The following metrics were computed from 2 interview experiences for the Meta Machine Learning Software Engineer role in Palo Alto, California.
Meta's interview process for their Machine Learning Software Engineer roles in Palo Alto, California is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Meta's Machine Learning Software Engineer interview process in Palo Alto, California.