Skip to main content

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.

  • #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.

  • #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.

Plaid Coding Interview Questions — Full Solutions — InterviewChamp.AI