← Back to Directory

Notion interview notes, page 1 of 3

Mid-sized

Most of these Notion write-ups come from Software Engineers (25), then Data Scientists (2) and Product Managers (2). The most reported rounds are the technical phone screen (21), the hiring manager screen (2), the take-home assignment (2) and the cross-functional panel (1).

29 interview notes · updated Jul 2026

Notion·Software Engineer·Onsite - Cross-functional / Panel

Apr 2026
A 30-minute cross-functional screen at Notion for a Data Engineer role, basically just one big collaboration question stretched across the whole call. Pretty focused, almost weirdly so.
  • Walk me through a project where you worked closely with a Data Science partner. How did you split responsibilities, keep communication going, and handle disagreements? What came out of it, and what would you change about how you two worked together if you did it again?

“This was basically the entire interview.”

View Post

Notion·Product Manager·Onsite - Product Sense / Strategy

Apr 2026
PM interview at Notion with a single product analytics case. Just one question but it had a lot of surface area and I don't think I covered it as cleanly as I wanted to.
  • Free sign-ups on Notion have dropped by 25%. How would you diagnose what's causing it?

“I jumped straight into segmentation before actually clarifying what 'free sign-ups' even meant to them.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
Notion data engineer interview with a SQL-heavy technical screen. One meaty question about simulating purchase behavior using window functions. Felt like they wanted to see if you'd actually think through edge cases rather than just recite syntax.
  • Given a customers table with a budget column and a products table with a price column, simulate each customer buying as many products as possible starting from the cheapest. For each customer, return the list of product IDs they can afford. How would you approach this in SQL?

“The window function angle is the key insight here.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
SQL technical screen for a Data Engineer role at Notion. One question, pretty focused, they wanted to see if you could chain aggregations cleanly and think about edge cases without being prompted.
  • Given an events table and a users table with plan types, write a SQL query that finds the plan type most associated with the single most popular event type.

“My first instinct was to just join everything and group by both event_type and plan_type at once, which felt cleaner but actually makes the logic murky.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
Notion SWE interview with a coding problem that looks trivial at first glance but opens up into a decent systems conversation. The core question was straightforward, the follow-ups less so.
  • Given a list of key-value pairs, write a function that groups them by key and returns the sum of values for each distinct key.
  • How would you modify your solution to support other aggregation functions like MAX instead of just SUM?
  • If the dataset is too large to fit in memory, how would you process it efficiently?

“Pretty standard aggregation problem, basically a group-by-sum.”

View Post

Notion·Software Engineer·Take-home Assignment

Apr 2026
Notion SWE interview that was basically a hands-on Spark data pipeline exercise. You spin up a local environment and work through a cleaning and transformation task using DataFrame APIs. Pretty practical, no LeetCode tricks.
  • Set up a local Spark environment and build a data cleaning and transformation pipeline that reads CSV or JSON files, applies a series of transformations, and writes the output back to disk.

“The core of the whole thing.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
This was a technical phone screen for a Data Engineer role at Notion, continuing a DAG implementation exercise into query API territory. The focus was on graph traversal and caching strategy, with a lot of follow-ups.
  • Given a node in a DAG, implement a method to return all nodes it transitively depends on (ancestors), and another to return all nodes that transitively depend on it (descendants).
  • How would you cache the results of ancestor and descendant queries if the graph is read frequently but updated rarely?
  • What is the time and space complexity of your get_ancestors and get_descendants implementations?

“Felt okay on the BFS/DFS part but fumbled a bit explaining why I'd pick one over the other for this specific case.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
Interviewed for a Data Engineer role at Notion. The technical portion had a SQL focus and this particular question on self joins was the main thing I was sweating over.
  • Given a table that references itself (like an employees table with a manager_id column, or a transactions table pointing to a previous transaction), write a SQL query using a self join to combine each row with its related row. Walk through your aliasing approach, the join condition, and how you'd handle rows that have no match (like a top-level employee with no manager).

“I knew self joins conceptually but fumbled a bit on the aliasing when I started writing it out.”

View Post

Notion·Software Engineer·Hiring Manager Screen

Apr 2026
Behavioral round with the hiring manager for a Data Engineer role at Notion. Three classic prompts with probing follow-ups on each, pretty standard stuff but the follow-ups are where it actually gets uncomfortable.
  • Why do you want to work at this company, and why are you leaving your current role?
  • Walk me through a project you're most proud of, covering how you framed the problem, your approach to the solution, your specific contributions, and what the outcome was.
  • Tell me about a piece of constructive feedback your manager gave you and what you did with it.

“Two questions bundled into one and they absolutely probe both separately once you answer.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
SQL-heavy technical screen for a data engineering role at Notion. One question, pretty focused, centered on aggregation logic and the edge cases around it.
  • Given a transactional or event table, write a SQL query that groups rows by one or more columns and returns aggregate metrics per group. Walk through your reasoning on GROUP BY rules, when to use HAVING versus WHERE, and how you handle NULLs in grouped columns.

“I got the basic query down fine but stumbled a bit when they pushed on NULLs.”

View Post