Whatnot Software Engineer interview questions

25 Software Engineers have shared notes from their Whatnot interviews, with the questions they were asked in each round. That is 78% of the 32 Whatnot interview notes on Screna AI.

25 Software Engineer interview notes

Whatnot·Software Engineer·Technical Phone Screen

Jul 2026
Coding interview at Whatnot for a Software Engineer role. The task was building a functional Tic-Tac-Toe app in 45 minutes, which sounds trivial until you're actually in it trying to keep state clean and not embarrass yourself.
  • Build a working Tic-Tac-Toe mobile app within 45 minutes. It needs a 3x3 grid, two local players alternating turns, win and draw detection, move prevention after the game ends, a status display, and a reset button.

“The scope felt manageable at first but the win detection logic is where I started second-guessing myself.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jul 2026
Interviewed for a software engineer role at WhatNot and came out of it feeling genuinely rattled, less because of the problems themselves and more because of how the interviewer handled the feedback mid-interview. Two coding questions each with follow-ups in 40 minutes, and the back half turned into a pretty uncomfortable experience.
  • Given a string, remove all runs of consecutive duplicate characters. Follow-up: what if a run can contain any number of matching characters, not just pairs?
  • Merge two sorted arrays and return a sorted array of their squared values. Follow-up: handle negative numbers in the input arrays.

“The base version was fine, stack-based, explained complexity, tested it.”

View Post

Whatnot·Software Engineer·Onsite - System Design / Architecture

Jul 2026
One system design question for a software engineer role at Whatnot. Short and to the point, nothing else to report.
  • Design a platform like LeetCode from scratch.

“Classic system design prompt but there's actually a lot hiding under the surface.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jul 2026
Whatnot software engineer interview with a two-part coding problem around building a content safety filter for a chat platform. The problem started straightforward but the follow-up pushed into trie territory pretty fast.
  • Given a list of chat messages and a list of banned words, return only the messages whose text contains none of the banned words. Tokenization is whitespace-only, punctuation stays attached to tokens, and matching is case-insensitive.
  • Extend the filter to support banned phrases (multi-word sequences). A phrase matches only if its words appear as consecutive tokens in the message, in order, case-insensitively. The follow-up asks you to do this efficiently using a single left-to-right pass over each message's tokens rather than checking every phrase independently at each position.

“The punctuation rule is what trips people up.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jun 2026
Did a technical phone screen for a software engineer role at Whatnot. Pretty short session, just one coding problem and that was about it.
  • Given a sorted array of integers, return a new array of the squares of each number, also in sorted order.

“Classic two-pointer problem once you see it, but I fumbled around for a bit thinking about just squaring everything and sorting after.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jun 2026
Technical phone screen for a software engineer role at Whatnot. One coding problem, pretty algorithmic, centered on text filtering with a Trie. They also wanted a complexity discussion at the end which I wasn't fully prepared for.
  • Given an array of messages (each a dict mapping a username to text) and a list of unsafe multi-word phrases, filter out any message whose text contains one of those phrases as a contiguous word sequence. Tokenize correctly so punctuation doesn't break matches. Implement using a Trie over phrase tokens, then discuss time and space complexity.

“This was a meaty one.”

View Post

Whatnot·Software Engineer·Onsite - System Design / Architecture

Jun 2026
System design round at Whatnot for a software engineer role, focused entirely on building a direct messaging system for an e-commerce marketplace. Pretty deep dive, lots of follow-ups, and the multi-device consistency angle caught me more off guard than I expected.
  • Design a direct messaging system for an e-commerce marketplace where buyers and sellers can chat one-on-one, with real-time delivery when online and SMS/email fallback when offline.
  • Is the messaging strictly one-to-one, or should the data model account for group threads from the start?
  • What delivery semantics would you target: at-least-once with client deduplication, or exactly-once? Is any message loss acceptable?
  • Walk through how a client recovers a missed message after disconnecting mid-delivery, with no loss and no duplicates.
  • Two devices from the same user read the same conversation simultaneously and both try to advance the read cursor. How do you keep that state consistent?
  • How do you guarantee strict per-conversation message ordering when the store is sharded and multiple app servers might assign sequence numbers for the same conversation concurrently?
  • How would you extend this design to support group conversations without rewriting the core delivery path?
  • How do you make offline SMS and email notifications idempotent and debounced so a user offline for an hour with 20 messages doesn't receive 20 separate texts?

“This is the core question and it ate up most of the session.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jun 2026
Whatnot software engineering interview that was basically one meaty coding problem about tries and user journey reconstruction. The interviewer pushed for an optimized single-pass solution after I got the naive version working, which I did not fully see coming.
  • Given a list of log records in the form [user_id, timestamp, action], reconstruct each user's chronological action sequence and insert all sequences into a shared trie where each node's count reflects how many users passed through that prefix. Return the trie with counts.

“Got the basic approach pretty quick: group actions by user, sort by timestamp, walk each user's sequence and insert into a trie while incrementing counts.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jun 2026
Whatnot phone coding round for a software engineer role, 60 minutes, one problem the whole time. I understood the concept well enough but couldn't finish the implementation and got rejected.
  • Given a log of user actions with timestamps (user_id, time, action), build a summary of unique action paths and how many distinct users followed each path. Output as an indented tree. Logs may arrive out of order.

“I knew the shape of the solution pretty fast: group by user, sort by time, build a trie, DFS print with indentation.”

View Post

Whatnot·Software Engineer·Technical Phone Screen

Jun 2026
Whatnot software engineer screen, two-part coding problem on dot products. Part one was straightforward, part two pushed into sparse vector territory which is where things got more interesting. No behavioral stuff, just the problem.
  • Implement a function that computes the dot product of two equal-length integer arrays.
  • Now assume the vectors are very long but mostly zeros. Represent them as sorted lists of (index, value) pairs and compute the dot product efficiently without iterating over the full length.

“Pretty easy warmup.”

View Post