Notion Coding Interview Questions
25 Notion coding interview problems with full optimal solutions — 14 easy, 10 medium, 1 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Notion interviewer values, and a FAQ section.
- #14easyfoundational
14. Binary Tree Inorder Traversal
Visit every node in a binary tree left-root-right — the same traversal order Notion's block engine uses to render nested page content, making this a direct window into how interviewers think about document structure.
- #15mediumfoundational
15. Binary Tree Level Order Traversal
Traverse a tree level by level using BFS — exactly how Notion's UI renders page hierarchies depth by depth when expanding a workspace sidebar, making this problem a direct stand-in for block-tree breadth expansion.
- #16mediumfoundational
16. Lowest Common Ancestor of a Binary Tree
Find the deepest node that is an ancestor of both p and q — a direct model of Notion's breadcrumb and mention-resolution logic, where the system must locate the nearest shared parent page between two linked blocks.
- #17easyfoundational
17. Diameter of Binary Tree
Find the longest path between any two nodes in a tree — a metric Notion would use to measure the worst-case traversal depth across a workspace's page hierarchy, tying depth-first search to real document-graph reasoning.
- #18mediumfoundational
18. Clone Graph
Deep-copy an undirected graph while preserving all edges — the exact operation Notion's backend performs when duplicating a page with its full backlink and relation graph, making cycle-safe traversal non-negotiable.
- #19mediumfoundational
19. Course Schedule
Detect whether a directed dependency graph has a cycle — the same topological check Notion runs when resolving database rollup chains and formula dependencies to prevent circular reference crashes.
- #20mediumfoundational
20. Group Anagrams
Bucket strings by their sorted-character signature — the same hash-map grouping Notion uses to cluster tags, block types, and database property values without scanning every entry on every lookup.
- #21mediumfoundational
21. Longest Substring Without Repeating Characters
Find the longest window of unique characters using a sliding pointer — Notion applies the same shrink-when-invalid pattern to its rich-text tokenizer, advancing a cursor only while the token stream stays well-formed.
- #22hardfoundational
22. Minimum Window Substring
Find the smallest window in a string that contains all required characters — the core algorithm behind Notion's full-text search highlight, which must locate the tightest snippet covering every query token in a document block.
- #23mediumfoundational
23. Merge Intervals
Collapse overlapping time ranges into non-overlapping spans — the algorithm Notion's calendar view runs every render to merge back-to-back event blocks into single visual bars without double-counting covered time.
- #24mediumfoundational
24. Word Break
Determine if a string can be segmented into valid dictionary words using DP — Notion's rich-text parser uses the same bottom-up reachability logic to tokenize markdown spans and inline code without greedy backtracking.
- #25mediumfoundational
25. Coin Change
Minimize the number of coins to reach an exact total using DP — a direct analogy to Notion's block-quota allocator, which must fill a usage limit with the fewest possible chunked operations of varying sizes.
- #1mediumfrequently asked
1. LRU Cache
Design an LRU cache supporting O(1) get and put. Notion asks this to test whether you can compose a hashmap with a doubly-linked list — the same pattern they use to cache hot blocks in the editor.
- #2easyfrequently asked
2. Two Sum
Given an array and a target, return the indices of two numbers that add to the target. Notion uses this as a warm-up to gauge how quickly you reach for a hashmap.
- #3easyfrequently asked
3. Valid Parentheses
Given a string of brackets, return whether it's properly nested and matched. Notion asks this because their block editor literally validates nested markdown delimiters this way.
- #4easysometimes asked
4. Merge Two Sorted Lists
Merge two sorted singly-linked lists into one. Notion uses this to check whether you can write clean pointer code — relevant to merging two CRDT operation logs.
- #5easyfrequently asked
5. Maximum Depth of Binary Tree
Return the maximum depth of a binary tree. Notion uses this as a recursion warm-up — page nesting in their workspace is conceptually the same tree.
- #6easysometimes asked
6. Invert Binary Tree
Swap left and right children of every node in a binary tree. Notion uses this as a one-minute tree-traversal opener.
- #7easysometimes asked
7. Same Tree
Determine whether two binary trees are structurally and value-wise identical. Notion uses this to introduce the dual-recursion pattern needed for CRDT operation comparison.
- #8easysometimes asked
8. Symmetric Tree
Determine whether a binary tree is a mirror of itself. Notion likes this for the dual-pointer recursion that introduces tree-symmetry thinking.
- #9easysometimes asked
9. Balanced Binary Tree
Determine whether a binary tree is height-balanced (heights of children differ by at most 1). Notion uses this to test the single-pass DFS trick that avoids O(n^2) recomputation.
- #10easysometimes asked
10. Path Sum
Determine whether a root-to-leaf path sums to a target. Notion uses this as a base case before extending to tree-aggregate problems.
- #11easysometimes asked
11. Pascal's Triangle
Generate the first numRows of Pascal's triangle. Notion uses this as a row-building warmup before harder DP grid problems.
- #12easyfrequently asked
12. Best Time to Buy and Sell Stock
Find the max profit from a single buy/sell of one stock. Notion likes this because it introduces the running-min trick — useful in throttling and rate-limit calculations.
- #13easysometimes asked
13. Valid Palindrome
Determine whether a string is a palindrome after stripping non-alphanumerics and lowercasing. Notion uses this as a two-pointer warmup.
Related interview-prep guides
Replit for Tech Interviews in 2026: The Full-IDE Take-Home Guide
Replit-for-hiring is the full-IDE take-home format. The candidate gets a forked Repl, hours or days to ship a working project, and a commit history the reviewer will scrutinize line-by-line. This guide breaks down what Replit captures, what it doesn't, and how a desktop AI setup pairs with the multi-day window.