← Back to Directory

Pinterest interview notes, page 12 of 24

Large Enterprises

Most of these Pinterest write-ups come from Machine Learning Engineers (91), then Software Engineers (77) and Data Scientists (51). The most reported rounds are the technical phone screen (168), the system design round (37), the product sense round (14) and the behavioral / leadership round (5).

235 interview notes · updated Sep 2026

Pinterest·Machine Learning Engineer·Technical Phone Screen

May 2026
Pinterest MLE interview, two parts both centered on the same graph problem. Nothing behavioral, just algorithms the whole time. Left feeling okay about part one and a bit shaky on the follow-up.
  • You have a list of bus routes where each route is a loop of stops. Given a source stop and a target stop, return the minimum number of buses needed to travel from source to target, or -1 if it's not possible.
  • Follow-up: given the same bus routes setup, now support repeated queries asking for the minimum number of buses between any two arbitrary stops. How do you handle this efficiently?

“Went with BFS treating each route as a node rather than each stop.”

View Post

Pinterest·Software Engineer·Technical Phone Screen

May 2026
Pinterest coding round focused on a graph-based access control problem. The design angle made it feel more like a mini system design than a pure algorithms question, which I wasn't fully expecting.
  • Design and implement an access control API for a directed graph of resources. Specifically, implement grantAccess(from, to) and hasAccess(user, resource), where access propagates transitively along directed edges.
  • How would you handle revoking access in this system, and what are the trade-offs between computing reachability on the fly versus maintaining a precomputed closure?

“Started with BFS on hasAccess and felt pretty good about it until they pushed on what happens when the graph gets large and hasAccess is called constantly.”

View Post

Pinterest·Software Engineer·Technical Phone Screen

May 2026
Pinterest SWE interview with a graph connectivity problem that sounds deceptively simple until you realize the board co-membership angle makes the implicit graph pretty interesting to reason about. One round, mostly algorithmic.
  • You have a set of boards, each containing pins, and a list of direct pin-to-pin edges. Two pins are also considered adjacent if they appear on the same board. Given two pins, determine whether they are connected, and if so, return the shortest path length between them.

“The board co-membership part is what gets you.”

View Post

Pinterest·Machine Learning Engineer·Onsite - System Design / Architecture

May 2026
Pinterest ML engineer interview with a system design question around spam detection. Pretty open-ended, which I wasn't fully prepared for.
  • How would you design a spam detection system for Pinterest?

“I jumped straight into features and model choice before even defining what 'spam' means on the platform, which was a mistake.”

View Post

Pinterest·Software Engineer·Onsite - System Design / Architecture

May 2026
Pinterest system design round focused entirely on ad impression processing, building up from a batch query to a full streaming design with sliding windows. Pretty focused scope but the follow-up complexity caught me off guard.
  • Design a class that takes a list of ad impression log entries (each with an ad ID and timestamp) and returns the top-K ad IDs by total impression count.
  • Extend the design into a streaming system: implement ingestImpressions(adId, timestamp) and getCommonAds(K, windowSeconds) that only counts impressions within the last N seconds. How do you evict stale data efficiently, and what are the time and space complexity tradeoffs?

“Started with a hash map to count impressions per ad, then a min-heap of size K to track the top results.”

View Post

Pinterest·Software Engineer·Onsite - Behavioral / Leadership

May 2026
Pinterest behavioral round for a software engineer role. Three questions, all variations on the same theme of ownership and delivery. Not a hard round but it requires you to have real stories ready.
  • Walk me through a project you owned from start to finish. How did you scope it, execute it, and get it across the line?
  • Where did the requirements for that project come from, and how did you confirm you were building the right thing with the people who had a stake in it?
  • Tell me about a time you took on something that wasn't really your job. What pushed you to do it and what happened?

“I had a story ready but I frontloaded way too much context on the scoping phase and then rushed through the delivery part, which is probably what they actually care about.”

View Post

Pinterest·Software Engineer·Technical Phone Screen

May 2026
Pinterest SWE interview with a graph traversal problem dressed up as a shuttle routing puzzle. The core question was solid but the follow-ups kept coming and I wasn't fully prepared for how deep they wanted to go on memory optimization.
  • You have a set of circular shuttle loops, each defined by an ordered list of stop IDs that repeat indefinitely. You can board at any stop and ride to any later stop on the same loop, and switching loops counts as boarding a new shuttle. Given a source stop and a target stop, find the minimum number of shuttles needed to get from source to target, or return -1 if it's impossible. Walk through your data structures, the algorithm, and complexity for up to 100,000 total stops across all loops.
  • How would you modify your solution to output the actual sequence of shuttle loops taken, not just the count?
  • How would you handle weighted transfer penalties between loops, or restrictions where certain loops only operate during certain hours?
  • How would you reduce memory usage and avoid building an explicit loop-to-loop graph when the number of loops is very large?
  • What edge cases would you consider for this problem, specifically around the source equaling the target, isolated loops with no connections to others, and stops shared across multiple loops?

“I went with BFS where each node is a stop and edges connect stops reachable within the same loop.”

View Post

Pinterest·Software Engineer·Technical Phone Screen

May 2026
Pinterest SWE interview that was basically a graph problem dressed up in Pinterest-flavored language. Boards, pins, edges. The core ideas are standard but the multi-query structure kept things interesting.
  • Given a set of boards (each containing pins) and weighted edges between pins, implement a `connected(pin1, pin2)` function that returns true if there is any path between the two pins, treating both direct edges and shared board membership as connectivity.
  • Implement `shortestPinDistance(pin1, pin2)` that returns the shortest weighted distance between two pins, where shared board membership counts as a zero-cost edge.
  • Implement `shortestBoardDistance(boardA, boardB)` that returns the minimum shortest-pin-distance across all pairs where one pin is from boardA and the other is from boardB.
  • Discuss your data structure choices for the above queries and analyze their time and space complexity.

“Union-Find felt like the right call here.”

View Post

Pinterest·Data Scientist·Technical Phone Screen

May 2026
Pinterest DS interview with a meaty experiment design question around video feed ranking. The whole session was basically one long case, which I wasn't expecting. Walked away feeling okay about the design portion but pretty shaky on the readout interpretation.
  • Pinterest is considering increasing the share of video pins in the Home Feed from roughly 30% to 45%. How would you design a rigorous experiment to evaluate this change, including randomization unit, metrics, power analysis, and how you'd handle sequential looks or novelty effects?
  • Given Readout 1 showing a significant CTR lift (+20%) but also a meaningful increase in complaint rate (+30%) and a directionally negative 7-day retention, would you ship, iterate, or stop? How do you weigh the positive engagement signal against the guardrail violations?
  • In Readout 2, the crash rate increased significantly (+0.12pp, p=0.01) while CTR showed only a small lift and session time was flat. Does the CTR win justify shipping given the crash rate guardrail? What follow-ups would you require before full rollout?
  • If a randomized experiment isn't feasible for this feed change, what quasi-experimental approach would you use and what assumptions would you need to defend?

“This is where I spent most of my time.”

View Post

Pinterest·Machine Learning Engineer·Technical Phone Screen

Jun 2026
Pinterest ML Engineer technical screen, basically one big coding question the whole time. You build a Naive Bayes classifier from scratch using NumPy and then defend your design choices. Pretty focused interview, no fluff.
  • Implement a Naive Bayes classifier from scratch using NumPy. Your implementation should handle fitting class priors and per-class feature likelihoods, and predicting new samples using log-space computations for numerical stability.

“I asked upfront whether they wanted Gaussian or Multinomial and they said Gaussian, which helped a lot.”

View Post