I applied through a recruiter. The process took 3 weeks. I interviewed at Meta in Feb 2017
Interview
They seemed backed up with interviewee candidates; the first interview I could get was a couple weeks after we scheduled it. After the initial recruiter interview, there were a pair of online technical interviews, one which was SQL based and one which was in a programming language of your choice (I picked Python3). Neither were particularly hard although given my minimal python experience I should have drilled more on solving simple problems.
Interview questions [1]
Question 1
How to do certain types of SQL filtering in one pass rather than using two queries unioned together.
Begins with an application review and recruiter screening, followed by a technical phone interview that assesses SQL, data modeling, data warehousing, ETL processes, and coding skills in languages such as Python or Java. Successful candidates then proceed to onsite or virtual interviews, which include multiple rounds covering coding, system design, data architecture, problem solving, and behavioral questions.
Interview questions [1]
Question 1
Tell us about yourself and why you want to work for us
I applied online. I interviewed at Meta (New York, NY)
Interview
Prepare technical concepts, and practice previously asked questions as much as you can find online. 4 rounds in the total process. It's easy as long as you just practice a LOT.