← Back to Directory

Ziprecruiter

Large Enterprises

ZipRecruiter is an online employment marketplace that connects job seekers with employers using AI-driven matching technology. It is known for streamlining the recruitment process by distributing job postings across numerous job boards and proactively matching candidates to open positions.

5 interview notes · updated Jul 2026

Ziprecruiter·Software Engineer·Technical Phone Screen

Jun 2026
ZipRecruiter SWE interview centered on a system design coding problem that started simple and kept growing. The TTL extension was the real meat of it, and the discussion around expiration strategies went longer than I expected.
  • Design an in-memory key-value store where each key maps to a set of field-value pairs. Support operations like set, get, scan (returns all pairs sorted lexicographically by field), and scan by prefix.
  • Extend the key-value store to support TTL (time-to-live). Each operation now takes an explicit timestamp, and fields should expire a given number of time units after they're set. How do reads and writes behave when a field is expired or re-set?
  • Compare lazy expiration (skip expired fields on read) versus active background expiration. What are the trade-offs in terms of memory usage and latency?

“The base version wasn't too bad.”

View Post

Ziprecruiter·Software Engineer·Technical Phone Screen

Jun 2026
Ziprecruiter SWE interview that leaned hard into data structures and design tradeoffs. The main problem was building a voting system from scratch and defending every decision you made along the way.
  • Design and implement a hash-table-backed data structure for a restaurant voting system that supports vote(restaurant), unvote(restaurant), and getMostPopular(), tracking the top restaurant in real time.

“I started with the obvious hashmap of restaurant to count, which they were fine with, but then getMostPopular tripped me up.”

View Post

Ziprecruiter·Software Engineer·Technical Phone Screen

May 2026
Ziprecruiter SWE interview had me building an in-memory key-value store with nested fields from scratch. Decent problem, more design-heavy than I expected for a coding round.
  • Design and implement an in-memory key-value store class that supports nested fields under each key, with operations for set, get, setAndCompare, and setAndDelete.

“The basic set/get part felt fine, dict of dicts is pretty much the obvious move.”

View Post

Ziprecruiter·Software Engineer·Technical Phone Screen

May 2026
Ziprecruiter software engineering interview focused on extending an in-memory key-value store with scan operations, then getting into a real conversation about data structure tradeoffs for prefix lookups. Pretty design-heavy for what felt like a coding round.
  • Given an in-memory key-value store where each key maps to a collection of field-value pairs, implement a scan(key) operation that returns all field-value pairs for that key sorted lexicographically by field, returning empty if the key doesn't exist.
  • Extend the key-value store with a scan_by_prefix(key, prefix) operation that returns only the field-value pairs whose field names start with the given prefix, again in lexicographic order.
  • Compare the time complexity of your scan and scan_by_prefix implementations across different data structure choices, such as an unsorted list with sort-on-read, a sorted map or TreeMap, or a per-key trie.

“Straightforward enough on the surface.”

View Post

Ziprecruiter·Machine Learning Engineer·Technical Phone Screen

Apr 2026
Phone screen for an MLE role at Ziprecruiter. The coding problem was split into three parts and the prompt was long, so time management was a real factor. Conceptually not brutal, but you can lose time fast if you're not careful about how you structure things.
  • Given a list of objects where each has a string ID and other properties, implement functions to retrieve the next and previous ID for a given ID.

“The prompt was way longer than the actual difficulty warranted, which threw me off a bit at first.”

View Post