I applied through a recruiter. The process took 2 weeks. I interviewed at Meta in Mar 2024
Interview
Reached out on LinedIn by a recruiter. After the initial call, this was followed by a technical screen by a Data Engineer that lasted for 45-50 minutes.
Questions revolved around querying using SQL and use of Python data structures.
Interview questions [1]
Question 1
Tested the knowledge of data structures found in the collections module as well as some sliding window problems.
I applied in-person. The process took 4 days. I interviewed at Meta in Jul 2024
Interview
There were 3 SQL questions, followed by 3 Python questions. You coded on a screen and were allowed to run the code as many times as needed.
Both sets of questions were very easy. I could have done them 15 years ago. I have 8 years of experience as a data engineer, so am not even sure why I am being asked to take a basic test?
I say the interview process is hard, because all coding tests are. You have to answer questions in a short time frame. If you knew the data and the problems naturally, as at work, you could do these questions easily. But as with all these tests, you are trying to understand the problem and the data.
In the SQL, you had to use a CTE and then a final query to filter out items. I did this correctly, but then I had a Cartesian join, and I couldn't start debugging in such a short time frame. The fix was to use WHERE x in (select x from cte1) Trivial, again, but it burns time, and it makes you feel stupid when the problem is super easy.
In my case, I had to dynamically format a SQL string. This is extremely trivial, and I got the method right, but it didn't register correct because there was a space at the end of my SQL string. Then, I didn't get it right because I formatted the strings with double quotes rather than single quotes. The parameter passed to the function was "", when it should have followed Python standards of None. So that tripped me up. I ended up burning a lot of time when on this small stuff.
Interview questions [1]
Question 1
SQL: count the number of items in a certain range (use SUM(CASE WHEN x < 100 then 1 else 0 end) as under_100, etc
Python: join 2 lists and sort (This just involves one line of code, so I was surprised)
Python: remove items with a certain key
Python: dynamically format SQL depending on the parameters passed
I applied online. The process took 2 months. I interviewed at Meta (Austin, TX) in Mar 2024
Interview
5 sql and 5 python questions, the speed is the challenge and trying to visualize the sql queries causes issues as there are too many rows to display. ask clarifying questions and plan before coding
Interview questions [1]
Question 1
filters, joins, case statements, counts, aggregations