← Back to Directory

Notion interview notes, page 2 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·Technical Phone Screen

Apr 2026
Interviewed for a Data Engineer role at Notion and got hit with a pretty involved SQL window function problem. The kind of question that sounds manageable until you're actually writing it out under pressure.
  • Given a bids table with columns for bid ID, user ID, product ID, and bid time, write a query to find for each (user, product) pair: (a) the total number of consecutive bid sequences of length 3 or more by that user on that product, and (b) the longest such consecutive sequence. Consecutive means no other user's bid on the same product appears in between, ordered by bid time.

“The streak detection trick is the classic double ROW_NUMBER approach.”

View Post

Notion·Software Engineer·Onsite - System Design / Architecture

Apr 2026
Interviewed for a software engineering role at Notion and got a system design question to design Notion itself. Not much else to go on, but it's the kind of open-ended prompt that can go a hundred different directions depending on what you prioritize.
  • Design Notion. Walk through the architecture of a collaborative document and database product like Notion.

“This is one of those prompts that sounds clean but immediately fractures into ten different problems.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
Notion coding round for a Software Engineer role. The whole thing was one big design-and-implement problem around a text editor with undo/redo, plus complexity analysis and unit tests. Dense but kind of interesting once you got into it.
  • Design and implement a text document editor supporting insert, delete, undo, and redo operations. The delete should handle cases where k exceeds the current document length, and only effective deletes should be pushed onto the undo stack.
  • Analyze the time and space complexity of each operation in your editor implementation and justify your choice of data structures.
  • Write unit tests covering simple undo/redo flows, consecutive deletions, deletions that exceed the current document length, sequences with no insertions, and calling redo when there is nothing to redo.

“This took me longer than I expected to get right.”

View Post

Notion·Software Engineer·Technical Phone Screen

Apr 2026
Notion had me build a full interactive React component from scratch during a technical screen, which was more involved than I expected for a single session. The problem was scoped well but there were a lot of moving parts to juggle at once.
  • Build a React component that takes a JSON string as input and renders a collapsible, read-only tree view with support for arbitrarily deep nesting, graceful invalid JSON handling, per-node expand/collapse state, and a working demo using a specific nested object. Also explain your component structure, state shape, and complexity tradeoffs.

“This one ate up a lot of time.”

View Post

Notion·Data Scientist·Technical Phone Screen

Apr 2026
Notion data scientist interview with a pretty involved SQL/analytics case study built around document collaboration data. Three tasks, two CSVs, and enough edge cases to keep you busy for a while.
  • You have a table of document view events with a collaborator source field. Compute the distribution of how non-creator users arrived at documents, defined on distinct user-document pairs.
  • Given a target user ID, find which other users that person has collaborated with the most, where collaboration means both users appeared on the same document at least once. Return the user(s) with the highest shared document count.
  • Which country has users who are most likely to collaborate with others? Define a collaborating user as someone who appears on a document alongside at least one other distinct user, then compute a collaboration rate per country.

“Straightforward once you realize the dedup step matters.”

View Post

Notion·Product Manager·Recruiter / HR Screen

May 2026
Interviewed for a PM role at Notion. Just the one question from what I can tell, classic motivation screen stuff.
  • Why do you want to be a product manager?

“Blanked for a second because I thought I had a good answer rehearsed and then it just evaporated.”

View Post

Notion·Software Engineer·Technical Phone Screen

May 2026
Interviewed for a Data Engineer role at Notion and got a SQL window function question that was more involved than I expected. Not a bad experience but it required knowing the details, not just the concept.
  • Given a transactions or events table, write a SQL query using a window function to compute a per-row metric within partitions. For example: rank each user's purchases by date, calculate a running revenue total per customer, or find the difference between consecutive events. Also explain how PARTITION BY and ORDER BY work inside OVER, and how window functions differ from GROUP BY.

“I knew window functions well enough to write the query but stumbled a bit explaining why it's different from GROUP BY.”

View Post

Notion·Software Engineer·Technical Phone Screen

May 2026
Notion Data Engineer interview, first part of a three-part coding problem centered on building a DAG class from scratch. Pretty foundational stuff but they go deep on the design choices afterward.
  • Implement a DAG class from scratch with at least add_node and add_edge methods, where add_edge must reject any edge that would introduce a cycle.

“The core implementation felt manageable but I underestimated how much they'd dig into the cycle detection piece.”

View Post

Notion·Software Engineer·Technical Phone Screen

May 2026
SQL-heavy technical screen for a data engineering role at Notion. Just one question but they really wanted to dig into it, kept pushing with follow-ups.
  • Given a parent table and a related child/transactional table, write a SQL query that returns all parent rows along with any matching child rows, including parents with no matching children. The interviewer expected proper LEFT JOIN syntax, NULL handling on the unmatched side, aliasing, and asked you to extend it to multiple joined tables.

“Felt fine at first, wrote the basic LEFT JOIN no problem.”

View Post

Notion·Data Scientist·Take-home Assignment

May 2026
SQL take-home for a DS role at Notion, three questions around a doc collaboration dataset. Pretty clean problem set, nothing crazy algorithmic, but the collaboration rate definition question had more nuance than I expected.
  • Given a table of document access events, compute the distribution of how collaborators ended up on documents, including counts and percentages.
  • For a given input user ID, find the other user they have collaborated with the most, where collaboration means both users appear on the same document page.
  • Which country has users who collaborate the most? Define a collaboration rate per country, justify your numerator and denominator, then compute it.

“Seemed straightforward until I had to decide whether to count unique users globally or unique (page, user) pairs.”

View Post