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 26 problems of 100
- #1easyfrequently asked
1. Two Sum
Given an array of integers and a target, return indices of two numbers that sum to the target. Plaid asks this as a warm-up before harder ETL problems to verify you reach for a hash map rather than the nested-loop instinct.
- #2easyfrequently asked
2. Valid Parentheses
Determine if a string of brackets is balanced and properly nested. Plaid uses this to test stack reflexes before moving to nested JSON validation in webhook payloads.
- #3easyfrequently asked
3. Merge Two Sorted Lists
Merge two sorted linked lists into one sorted list. Plaid asks this because merging two pre-sorted streams of transactions from different bank feeds is a daily operation on their ETL pipeline.
- #4easyfrequently asked
4. Remove Duplicates from Sorted Array
In-place de-duplicate a sorted array and return the new length. Plaid asks this because de-duping near-duplicate transactions (same id, same amount, slight timestamp drift) is a daily reality on their ingestion pipeline.
- #8easyfrequently asked
8. Merge Sorted Array
Merge two sorted arrays in-place, where the first has extra trailing space to hold the second. Plaid asks this because merging a new batch of transactions into a pre-allocated buffer is a hot path in their ingestion code.
- #16easyfrequently asked
16. Best Time to Buy and Sell Stock
Find the maximum profit from buying and selling a stock once. Plaid asks this because computing max-drawdown style metrics over a price series is a familiar shape for their balance-history endpoints.
- #20easyfrequently asked
20. Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. Plaid asks this because tracking the running minimum balance over a transaction stream needs exactly this primitive.
- #28easyfrequently asked
28. Reverse Linked List
Reverse a singly-linked list. Plaid asks this as a pointer-juggling baseline before harder list problems on transaction history sequences.
- #29easyfrequently asked
29. Contains Duplicate
Determine if any value appears at least twice in an array. Plaid asks this because detecting duplicate webhook deliveries or duplicate idempotency keys is exactly this primitive.
- #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.
- #58hardfrequently asked
58. Minimum Window Substring
Find the smallest window in a string containing all characters of a pattern. Plaid asks this because finding the smallest time window covering all required transaction-types in a feed (e.g., debit, credit, fee) is the same primitive.
- #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.
- #83hardfrequently asked
83. Merge k Sorted Lists
Merge k sorted linked lists into one sorted list. Plaid asks this because merging k pre-sorted bank-feed streams into a unified ledger is exactly this primitive — it's their core ETL fan-in operation.
- #88hardfrequently asked
88. Trapping Rain Water
Compute how much water can be trapped between vertical bars. Plaid asks this as a two-pointer + running-max problem — the same shape they use to compute the cumulative un-allocated liquidity across a fluctuating balance series.
- #100hardfrequently asked
100. Serialize and Deserialize Binary Tree
Design serialize/deserialize for a binary tree. Plaid asks this because their merchant-category tree must be snapshot-able for caching and idempotent replay — they need a stable, deterministic serialization that survives round trips.