The overall experience was okay — at least all the interviewers were superficially friendly. But two of them were more than 5 minutes late.
For every product sense question, they'd first ask you how you understood the product, then ask what dimensions there were (at this stage they just wanted a high-level list of entities), and finally what metrics you'd use.
The first question was a new one, about private accounts.
To clarify: the idea is that user A can set their account to private, so none of their posts are visible to people who don't follow them. It's really about the follow relationship — who follows whom. I didn't handle the product sense part of this one well and spent too long on it. If you're preparing for this, I'd suggest focusing on understanding what a drop in user engagement for this product would look like across different angles, and where you'd start investigating the cause. I don't think I hit the main points. You should also understand product analysis related to value proposition. In the end I only had time to do one SQL question and one Python question.
The SQL question was to find the number of active connections — make sure to clarify the requirements carefully. Example:
User A request_follow B, at time 1
User A follow_success/follow_reject B, at time 2
User A unfollow B, at time 3
So in the end A did not end up following B.
The Python question was simple: you're given a relationship dict, {A: [B,C], B:[C,D], C: [E]}, meaning A follows B and C. From the people that B and C follow, recommend to A anyone A doesn't already follow — just remember to dedupe.
The second question was ride sharing with a carpool feature. I had prepared well for this one and did 3+ SQL questions plus one Python question.
The SQL for this one was the easiest, since it barely used any CTEs — other posts had enough detail to cover it.
The Python question was about whether all the shared trips could be completed, solved with a sweep line.
The third question was Netflix video streaming. Other posts also cover this one in a lot of detail — for example, how to visualize a given metric.
The first SQL question was a simple aggregation. The second was a cumulative metric — you add today's metric to yesterday's, but today's id might not exist in yesterday's data, and yesterday's id might not exist in today's, so you need a full join.
The Python question was to group by category and get the content with the top 3 ratings.
Behavioral questions: what I'd gathered from other posts was enough to handle these. Focus on preparing conflict, deadline, an important project, and a time you persuaded someone with data. Note: the interviewer might dive deep into your examples.
Discussion
Loading comments…