A recruiter from the US reached out to me on LinkedIn. After a very friendly and informative chat on the phone where the role and interview process were laid out to me, I was scheduled for a one-hour phone screen with a team in the US. This was very helpful as it meant I didn't need to take any time off work, being based in London.
The phone screen consisted of four SQL questions based off a fairly generic retail chain schema, and then four Python algorithms to solve. I answered all four SQL questions, but only three Python questions as we ran out of time. Overall, the phone screen was a good experience, and the interviewer was pleasant to talk to and responsive as I talked through the problems with her.
Less than 24 hours later, I got a response from my recruiter who congratulated me on passing the phone screen. I was then passed on to a London-based recruiter who contacted me a couple of days later. She walked me through what to expect on the onsite and gave me some preparation material (which I suggest you thoroughly read and practice in your own time – honestly, this was essential to my success), and a date was set for two weeks' time.
When I arrived onsite, I was greeted by one of the talent coordinators and taken to a room with a giant whiteboard. My first interview was a behavioral screen, and unfortunately, this is the one part of the process that I really wasn't impressed by. I was asked fairly generic questions by an interviewer who was clearly reading them verbatim from a laptop screen. There was no follow-up to any questions and no real discussion to be had, which felt a bit deflating. It was almost as if the interviewer was not invested in the process or in me as a candidate, but from reading online, this is fairly standard, so I didn't take it personally.
This was followed by three technical rounds assessing my product sense (what metrics would be good to capture for x scenario) and then writing SQL and Python code. In one of them, I also had to design an OLAP schema for a product and write queries on it. It was challenging but fair. All three interviewers were incredibly engaging, and I genuinely felt that they wanted to get the best out of me and see me succeed. In many ways, it felt more like a brainstorming session rather than an interview, which made it a really fun process.
Halfway through, I was also given an office tour by an engineer who wasn't interviewing me and had a short break in the cafe. It was a good chance to get a feel for the office culture.
After it was all over, it took three working days to receive feedback and get an offer sent through. Again, the recruiter here was fantastic and took the time to talk through the package and all of the benefits. I accepted.
Overall, the recruitment and interview process at Facebook was one of the best professional experiences I've ever had. The preparation I did beforehand and the onsite itself really sharpened my skills and made me push myself and discover what I'm capable of. The whole process was also managed incredibly well by both the interviewers and the recruitment team. I now can't wait to get started!
SQL - Between "Medium" and "Hard" on Leetcode. They expect you to know all of your JOINs, as well as subquerying and partition windows.
Python - Around "Medium" on Leetcode. Mostly around data structures.
The following metrics were computed from 19 interview experiences for the Meta Data Engineer role in London, United Kingdom.
Meta's interview process for their Data Engineer roles in London, the United Kingdom is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Meta's Data Engineer interview process in London, United Kingdom.