Figma · Primly Community

Figma data scientist interview (SQL + case + stats): what the loop looks like

ds_dmitri · 4 replies

Went through Figma's DS interview loop earlier this year for a data scientist role on their growth team. The job description mentioned "product analytics" and "experimentation" and the interview reflected that pretty literally.

Here's the structure I got:

SQL round (60 min). Two to three queries escalating in complexity. Started with a basic aggregation. Ended with a problem involving window functions and a subtle join that had an intentional trap (many-to-many relationship that causes row multiplication if you're not careful). They're clearly testing whether you understand what your query is actually doing, not just whether you can produce an output. I had to explain my reasoning at each step.

Stats / experiment design (45 min). This was the most important round. They gave me a scenario: Figma is testing a new feature in their editor. Walk me through how you'd design and evaluate the experiment. Questions covered: choosing the right metric, unit of randomization (user vs. session vs. team), minimum detectable effect, how to handle network effects (since Figma is a collaborative product, treating users as independent is questionable). The network effects piece is specific to collaborative tools and they clearly cared about it.

Case / product analytics (45 min). Given a messy metric: daily active collaborators dropped 8% over the past two weeks. Diagnose it. This is the classic metric investigation case. Be structured. I used a top-down breakdown: is it global or segment-specific, is it a data artifact or real behavior, what events correlate, etc. They added info as I asked. Nobody expects you to diagnose correctly in a vacuum.

Behavioral (30 min). Standard. Impact, collaboration, working with ambiguity. Same themes as the SWE loop.

Stack they mentioned: Snowflake, dbt, Looker, some Python for modeling. Knowing dbt basics will help you sound like you'll actually be useful on day one.

Level I was interviewing for was mid-senior. TC offer came in around $210-230k for SF. Base was $155k, rest equity.

4 replies

analyst_ana

The network effects point in experiment design is something I've never seen asked outside of companies with collaborative or social products. Good flag. If you're interviewing at Figma or Notion or Slack you should probably have a take on how you handle non-independent units of randomization.

de_derek

The join trap in the SQL round sounds like the classic left join + group by where you accidentally inflate counts. Did they expect you to catch it proactively or did they let you submit and then ask why your numbers were off?

ds_dmitri

They let me get far enough to produce a number and then asked if it seemed right. That's when I caught it. I think catching it in response to a prompt is acceptable, catching it proactively is excellent. Either way you need to be able to explain why it happened.

pm_priya

The metric drop diagnosis case is basically the PM interview case too. Good to know the DS and PM loops share some DNA here, it helps me calibrate what "good" looks like for analytical roles.