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 31 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.
- #5easysometimes asked
5. Remove Element
Remove all occurrences of a value from an array in-place and return the new length. Plaid asks this because filtering out pending or void transactions before ETL is exactly the same shape.
- #6easysometimes asked
6. Search Insert Position
Find the index where a target value should be inserted into a sorted array. Plaid asks this because finding the slot to splice a new ledger entry into a sorted journal is exactly this primitive.
- #7easysometimes asked
7. Plus One
Increment a non-negative integer represented as an array of digits. Plaid asks this because incrementing big-integer balances (cents stored as digit arrays) without overflow is a real ledger primitive.
- #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.
- #9easysometimes asked
9. Binary Tree Inorder Traversal
Return the inorder traversal of a binary tree's node values. Plaid asks this as a tree-recursion baseline before harder traversal problems on transaction-category hierarchies.
- #10easysometimes asked
10. Same Tree
Check if two binary trees are identical in structure and values. Plaid asks this as a baseline for harder tree-equality problems like checking whether two transaction-category snapshots match.
- #11easysometimes asked
11. Symmetric Tree
Check whether a binary tree is a mirror of itself. Plaid asks this to test mirrored-recursion fluency before harder graph-symmetry problems.
- #12easysometimes asked
12. Maximum Depth of Binary Tree
Return the maximum depth of a binary tree. Plaid asks this as a baseline for harder tree-depth problems on category hierarchies of varying depths from different financial institutions.
- #13easysometimes asked
13. Balanced Binary Tree
Determine if a binary tree is height-balanced. Plaid asks this because their internal category trees must stay balanced for predictable lookup latency — and detecting imbalance is the prerequisite for triggering a rebuild.
- #14easysometimes asked
14. Minimum Depth of Binary Tree
Return the minimum depth of a binary tree — the shortest root-to-leaf path. Plaid asks this because finding the nearest leaf in a category tree is exactly how they pick the shallowest classification for new transactions.
- #15easyrarely asked
15. Pascal's Triangle
Generate the first numRows of Pascal's triangle. Plaid asks this as a DP-warm-up that exercises the 'each row depends on the previous' pattern used in their rolling-window financial aggregations.
- #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.
- #17easysometimes asked
17. Valid Palindrome
Determine if a string is a palindrome after removing non-alphanumerics and lowercasing. Plaid asks this as a string-normalization warm-up before harder merchant-name canonicalization problems.
- #18easysometimes asked
18. Single Number
Find the number that appears exactly once in an array where every other number appears twice. Plaid asks this because finding the un-matched ledger entry in a reconciliation pass has exactly this shape.
- #19easysometimes asked
19. Linked List Cycle
Detect whether a linked list has a cycle. Plaid asks this as a baseline before harder graph-cycle problems on account-link chains and OAuth refresh-token graphs.
- #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.
- #21easysometimes asked
21. Two Sum II - Input Array Is Sorted
Given a sorted array, find two indices whose values sum to a target. Plaid asks this to verify you exploit sortedness — same shape as finding two transactions on a sorted balance-history that net to a target gap.
- #22easysometimes asked
22. Majority Element
Find the element that appears more than n/2 times in an array. Plaid asks this because identifying the dominant merchant category across a user's transactions has the same shape.
- #23easysometimes asked
23. Rotate Array
Rotate an array to the right by k steps in-place. Plaid asks this because shifting a circular buffer of recent transactions by a rotation amount has the same shape.
- #24easyrarely asked
24. Reverse Bits
Reverse the bits of a 32-bit unsigned integer. Plaid asks this as a bitwise-fluency check before harder hash-collision and idempotency-key problems.
- #25easyrarely asked
25. Number of 1 Bits
Count the number of set bits in an unsigned integer. Plaid asks this as a bitwise warm-up before harder bitmask problems on account-feature flags.
- #26easyrarely asked
26. Happy Number
Determine whether a number eventually reaches 1 under repeated digit-square-sum, or cycles forever. Plaid asks this because cycle detection on transformation sequences is the same algorithm as detecting OAuth refresh-token loops.
- #27easysometimes asked
27. Isomorphic Strings
Determine if two strings are isomorphic — one character maps to one other character consistently. Plaid asks this because tokenizing merchant strings under a consistent mapping is the same 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.
- #30easysometimes asked
30. Invert Binary Tree
Invert (mirror) a binary tree. Plaid asks this as a recursion warm-up before harder category-tree transformations.
- #73easysometimes asked
73. Convert Sorted Array to Binary Search Tree
Convert a sorted array into a height-balanced BST. Plaid asks this because indexing a sorted financial-category list into a balanced lookup tree for O(log n) range queries is exactly the same primitive.