Plaid Coding Interview Questions
100 Plaid coding interview problems with full optimal solutions — 31 easy, 50 medium, 19 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Plaid interviewer values, and a FAQ section.
Showing 13 problems of 100
- #31mediumfrequently asked
31. Add Two Numbers
Add two numbers represented as reverse-order linked lists. Plaid asks this because adding two arbitrary-precision balances digit-by-digit with carry is exactly how their ledger code handles cents that overflow JS Number precision.
- #32mediumfrequently asked
32. Longest Substring Without Repeating Characters
Find the length of the longest substring with no repeated characters. Plaid asks this as a sliding-window baseline before harder webhook-deduplication-window problems.
- #35mediumfrequently asked
35. 3Sum
Find all unique triplets that sum to zero. Plaid asks this because three-way reconciliation across a debit, a credit, and a fee is exactly this primitive — find three rows that net to zero.
- #41mediumfrequently asked
41. Search in Rotated Sorted Array
Search for a target in a sorted array that has been rotated. Plaid asks this because querying a circular buffer of transaction timestamps that wraps around a clock pivot is the same primitive.
- #47mediumfrequently asked
47. Group Anagrams
Group anagrams together from an array of strings. Plaid asks this because grouping merchant names that share the same character profile (after normalization) is a daily reality on their merchant-deduplication pipeline.
- #48mediumfrequently asked
48. Maximum Subarray
Find the contiguous subarray with the largest sum. Plaid asks this because finding the highest-net-deposit window in a transaction series uses exactly this primitive — Kadane's algorithm.
- #50mediumfrequently asked
50. Merge Intervals
Merge overlapping intervals. Plaid asks this because consolidating overlapping batch-windows (when ETL retries cover overlapping time ranges) is exactly this primitive.
- #54mediumfrequently asked
54. Edit Distance
Find the minimum operations to convert one string into another (insert, delete, replace). Plaid asks this because fuzzy merchant matching uses edit distance to collapse variants like 'STARBUCKS #234' and 'Starbucks #234A' into one canonical merchant.
- #69mediumfrequently asked
69. Validate Binary Search Tree
Determine if a binary tree is a valid BST. Plaid asks this because validating that a freshly-built merchant-category tree obeys its strict-ordering invariant is the same primitive — bugs in the invariant cause cascading mis-classification later.
- #70mediumfrequently asked
70. Binary Tree Level Order Traversal
Return the level-order traversal of a binary tree's values. Plaid asks this as a BFS baseline before harder graph-walks on payment-rail dependency trees.
- #74mediumfrequently asked
74. LRU Cache
Design an LRU cache with O(1) get and put. Plaid asks this because their idempotency-key store and recent-transactions cache both need O(1) bounded-memory LRU semantics.
- #75mediumfrequently asked
75. Word Break
Determine if a string can be segmented into a sequence of dictionary words. Plaid asks this because tokenizing a merchant string into known sub-tokens (e.g., 'AMZNMKTPLACE' -> 'AMZN' + 'MKT' + 'PLACE') is the same primitive.
- #77mediumfrequently asked
77. Clone Graph
Deep copy a connected undirected graph. Plaid asks this because their account-link graph (user -> bank -> account -> transaction) is exactly this kind of cyclic reference structure that must be cloneable for snapshot tests.