HomeBlog › Zillow Coding Interview Questions

Zillow Coding Interview Questions: Map Search, Home Values, and Listing Data

Home search starts on a map. Here is what that means for Zillow engineering interviews: geospatial queries over listings, reasoning about home values, listing data that never stops changing, and the consumer product instincts that tie them together.

Most people meet Zillow through a map. They drag it to a neighborhood, set a price range, and expect the pins and the list beside them to update at once - showing homes that are genuinely still available. Behind that simple experience sit three hard problems: answering location queries quickly across a very large set of homes, estimating what homes are worth while being honest about the uncertainty, and merging listing data from many sources so it stays accurate as homes move from for sale to pending to sold.

This guide covers the process candidates commonly describe, the topics worth prioritizing, the domain themes that make natural material for coding and design rounds, representative problem types, and a two-week plan. We describe patterns rather than claiming to know specific questions: question sets rotate, and fluency with the underlying ideas is what carries into the room.

How the Zillow interview process tends to run

The stages below reflect what candidates commonly report, as an outline rather than a promise. The number and order of rounds, the tools, and whether there is an online assessment all vary by team and level, and processes change over time, so confirm your own schedule and language options with your recruiter.

StageWhat candidates commonly describePrep focus
Recruiter conversationRole, team, level, and logisticsAsk whether the team is consumer-facing, search, data, or platform - it changes what to practice
Technical screenLive coding in a shared editor, sometimes preceded by an online assessmentMedium-level data structures and algorithms, explained as you go
Final interviewsSeveral conversations, commonly virtualCoding, system design for experienced roles, and behavioral questions
DecisionInterviewer debrief and recruiter follow-upConsistent signal across every round

Coding topics to prioritize

Candidates commonly report standard data structures and algorithms problems, some of them framed around homes, prices, and places. A sensible order of priority:

Map search: the geospatial core

Searching for homes is a spatial query with extra constraints. The visible map defines an area - usually a rectangle, sometimes a shape the user draws or a boundary such as a neighborhood or school zone - and the system has to return the matching homes inside it, filtered, sorted, and paged, quickly enough that panning feels smooth.

The mechanics of spatial indexing - geohashes, quadtrees, and other schemes that turn a two-dimensional position into a key you can store and scan - are covered in our mapping system design walkthrough. Listing search layers different problems on top of those mechanics:

Here is the flavor of a coding problem in this space: index listings so that a map-view query does not have to scan every home.

import math
from collections import defaultdict

CELL = 0.01  # grid cell size in degrees (about 1.1 km north-south)

class ListingGrid:
    def __init__(self):
        self.cells = defaultdict(list)          # (row, col) -> listings

    def _cell(self, lat, lng):
        return (math.floor(lat / CELL), math.floor(lng / CELL))

    def add(self, listing):
        self.cells[self._cell(listing["lat"], listing["lng"])].append(listing)

    def in_view(self, south, west, north, east, max_price=None):
        r0, c0 = self._cell(south, west)
        r1, c1 = self._cell(north, east)
        found = []
        for r in range(r0, r1 + 1):
            for c in range(c0, c1 + 1):
                for home in self.cells.get((r, c), []):
                    if not (south <= home["lat"] <= north and west <= home["lng"] <= east):
                        continue                # edge cells overlap the view only partly
                    if max_price is not None and home["price"] > max_price:
                        continue
                    found.append(home)
        return found

The strong answer states the cost - proportional to the cells the view touches plus the listings inside them, instead of every listing in the index - and then anticipates the follow-ups. Cell size is a trade-off: small cells mean visiting many buckets when the user zooms out, while large cells mean filtering many out-of-view homes when zoomed in, which is why multi-resolution schemes choose a level from the zoom. Updates matter as much as reads, because prices and statuses change constantly, so keep a map from listing ID to cell for cheap removal. Wide views should return counts per cell rather than every home. And a view that crosses the 180th meridian, where west is greater than east, has to be split into two ranges.

Home values: reasoning about valuation

The Zestimate is one of Zillow's best-known features. Zillow describes it publicly as an estimate of a home's market value rather than an appraisal, drawing on public records, listing data, and information submitted by users, along with home details, location, and market trends. That is the right level for an interview too: you do not need, and should not claim, any knowledge of how Zillow's models work internally.

When valuation comes up - most likely for data, machine learning, or pricing-adjacent roles - clear reasoning matters more than any particular formula. Concepts worth being able to discuss:

Talk about error, not just accuracy: an estimate that is right on average can still be badly wrong for the specific home someone is about to buy or sell. Say how wrong it can be, for whom, and how you would find out.

Listing data from many sources

Search is only as good as its data, and listing data is messy by nature. It arrives from multiple listing services (MLSs) and brokerages, from agents and owners posting directly, from rental managers, and from county public records such as assessments and recorded sales - each with its own format, update schedule, and reliability. Industry standards such as the RESO Data Dictionary aim to make listing fields consistent, but engineers still normalize, match, and reconcile. The design themes that follow:

Deciding how stale a cached value may be is a close cousin of the price-freshness problem in our Expedia coding interview guide. With listing data, much of the difficulty sits upstream, in reconciling sources before anything reaches a cache.

Consumer product engineering

Zillow is a consumer product used on the web and in mobile apps, so engineering choices show up directly in how it feels. For product-facing teams, it helps to show you think about that:

For the delivery side of alerts - user preferences, rate limits, retries, and deduplication - our notification system design walkthrough covers the parts that are not specific to real estate.

Representative problem types

These are problem types that fit Zillow's domain, alongside the standard data structures and algorithms problems candidates commonly report. Treat them as categories to practice, not as a list of actual prompts:

What interviewers tend to value

On integrity: the point of preparing is to understand these trade-offs well enough to reason about them live. Follow the rules your interviewer sets for each round, and expect follow-up questions that change the constraints - the part that only real understanding survives.

A two-week Zillow prep plan

  1. Days 1-3: Hash maps, multi-key sorting, and string normalization, framed as deduplicating listings from several sources.
  2. Days 4-5: Geometry for maps - bounding boxes, haversine distance, and point-in-polygon - then implement the grid index above and extend it with removals and per-cell counts.
  3. Days 6-7: Heaps for nearest-home queries, then intervals and event histories for status timelines and price changes.
  4. Days 8-10: Design practice out loud: map-based home search, a listing ingestion pipeline with freshness targets, and saved-search alerts.
  5. Days 11-12: Valuation concepts: comparable sales, outliers, uncertainty ranges, and error broken down by segment. Go deeper if your role is in data science or machine learning.
  6. Days 13-14: Behavioral stories mapped to Zillow's published values - including a data-quality problem you found and fixed - and a timed solo mock with one coding problem and one design prompt.

Keep your reasoning organized in the live round

CoPilot Interview is a desktop AI interview assistant built natively for Windows and macOS. In live coding, system design, and behavioral rounds, it suggests structure - an approach to try, a skeleton for a design, or points to organize an answer around. There is a permanent free tier if you want to see whether it fits the way you work.

See how it works

FAQ

What is the Zillow software engineer interview process like?

Candidates commonly describe a recruiter conversation, a technical screen with live coding, and a set of final interviews, commonly virtual, covering coding, system design for experienced roles, and behavioral questions. Some roles reportedly add an online assessment. The number and order of rounds vary by team and level, and processes change over time, so confirm the details with your recruiter.

What kind of coding questions does Zillow ask?

Candidates commonly describe standard data structures and algorithms problems, sometimes framed around real-estate data such as listings, prices, addresses, and locations. Useful areas to practice include hash maps and sorting, heaps for nearest-home and top-k queries, intervals and event histories, and basic geometry such as bounding boxes, distances, and point-in-polygon tests.

Do I need to know how the Zestimate works?

No insider knowledge is expected, and you should not claim any. Zillow publicly describes the Zestimate as an estimate of a home's market value, not an appraisal. What helps is reasoning clearly about valuation concepts: comparable sales, data quality and outliers, uncertainty ranges, and measuring error across regions and home types. Data science and machine learning roles are likely to go deeper.

Does Zillow ask geospatial or map search questions?

It depends on the team, but map-based search is central to the product, so location problems are a natural fit for coding and design discussions. Be ready to filter listings inside a map view, compute distances correctly, test whether a point lies inside a boundary, and explain how a spatial index or grid avoids scanning every home.

What should I study for a Zillow system design interview?

Practice map-based home search with filters and paging, a listing ingestion pipeline that merges many sources and keeps status current, saved-search alerts that match new listings against stored searches, and serving precomputed home-value estimates. In each design, say how fresh the data needs to be and what the user sees when it is not.