Got the interview via internal referral. First step was with the HR. It was mainly to discuss about my interests and to decide which team I should be applying for. It was nice and it felt like HR was genuinely trying to understand what I like to then match me to the appropriate team.
After a couple of days I got an email from HR saying I would be interviewing with the Personalization team and that the first step would be to solve a takehome test. I won't describe the challenge, but it is very similar to one that can be found on the book "A Collection of Data Science Takehome challenges". Since I had prepared on that book, I could solve it fairly easily.
The next step was onsite interview with team members. The onsite interview was really long and it involved a lot of open ended questions (i.e. how would you do this? what kind of problems do you think you will encounter with this approach? etc.). After you would describe your approach, they would go into details a lot to make sure you actually have a clear idea of how to take the project from start to end.
It was a really hard interview, but it is facebook, so it is kinda expected. I got an offer and salary was really high so I was just happy to accept!