DEV Community

Leon Wei
Leon Wei

Posted on • Originally published at on

Facebook data engineer interview case study

Jake, one of our latest mentees, recently accepted a great data engineer job offer from Facebook.

Here is what the whole process looks like:


Candidate: Jake

How it gets started: applied in May, a friend did an internal referral

Job level: E5

Year of Experience: 5 - 10

Degree: M.S & B.S. in CS

Offer: Yes

TC: ~450K USD

Location: Menlo Park, CA

Interview process: 2 months

Preparation: 2 months

Has a job: yes

Decide to join: Yes

Technical screen round 1:
Python and SQL

Technical screen round 2:

Final round (met 4 people)



Data Modeling

Leadership/Behavioral questions

Sample Python questions (4 questions to be completed in one hour)

  1. Fill the None values with the previous none None value

[1, None, 1, 2, None] --> [1, 1, 1, 2, 2]

Tips: You have to pay attention if there are consecutive Nones.

  1. Write a function to return a list with words that don't have a match (case sensitive) between two strings

("Facebook is an awesome place", "Facebook Is an AWESOME place") --> ["is", "Is", "awesome", "AWESOME"]

  1. Write a function that counts the frequency of a character

('missisipi', 's') --> 3

  1. Write a function that returns the key of the nth largest value in a dictionary

Example: {'a': 1, 'b': 2, 'c': 100, 'd': 30}

n : 2 (2nd largest value)

output: 'd'

Sample SQL questions

Percentage of paid customers who bought both product A and product B
Percentage of sales attributed by promotion on the first day and last day of promotions.
For each product A, find the top 5 other products that people also bought.

Discussion (0)