Applied for Data Engineer, Analytics (University Grad) position via recruiter. I initially appeared for an internship interview last summer and didn't make it but my recruiter forwarded my resume to colleagues and they had a position matching my profile so got contacted by another recruiter.
Similar to what others have mentioned on Glassdoor:
1) HR Screen: A set of questions where you can answer in one word or true or false to check your basic knowledge in Programming and Databases.
Ex. When a program calls itself what is it called? What do you call a loop which never ends? etc.
2) Phone Interview: 45 minutes, involves 5 SQL and 5 Python question, was able to complete all 10 questions within ~35 minutes.
Interviewer was really interested in knowing my thought process and helped me on one or two problems where I got stuck. Got invitation for Onsite immediately within ~1-2 hours of Phone Interview. Questions similar to what others have posted on Glassdoor.
Python: Recursion, While Loop, Dictionaries, Lists etc.
SQL: Group By, Subqueries, Joins etc.
3) Onsite Interview:
I was invited to Menlo Park office for three full stack interviews (1 hour each) and one lunch interview (1 hour). Questions involved coming up with right metrics to solve the given problem, SQL Modeling, ETL Process Design, writing algorithms/programs in language of your choice etc. Lunch interview was pretty casual, questions like Why Facebook?, Best day at work etc. I was able to provide solutions to all the given problems and at the end interviewers gave a chance to ask questions. Also I did get stuck few times and interviewers gave tips to help me come out of the problem. It is really important to explain them clearly what your thought process is, they are really into up to what scale you can think and how will you solve problem which are big in nature. Questions in onsite interview do represent the type of problems you would solve at Facebook. The resources provided by my recruiter for preparation were amazing and did represent the exact nature of problems asked in interview.
Waited to almost three weeks as it was during Thanksgiving Holidays and later got a call from my recruiter that I got an offer for Data Engineer, Analytics role at Menlo Park office.
Resources: To improve my programming skills I did practiced on sites like LeetCode, HackerRank and also InterviewCake.com material helped me practice for interview. Going through various visualization examples etc. would also help. Also went through some of the recent Facebook Quarterly Results to see what metrics really matter to them. Also check out their Engineering Blogs etc. in case if you get time.