HomeBlog › Etsy Coding Interview Questions

Etsy Coding Interview Questions: Discovery, Seller Tools, and Engineering Culture

A marketplace where many listings have no barcode or shared product page, plenty exist exactly once, and engineers have long written in public about shipping small changes often - and how all of that shapes the interview.

A hand-thrown mug, a decades-old denim jacket, and a hand-dyed skein of yarn have one thing in common: none of them comes with a barcode, a manufacturer description, or, very often, a second copy. That is everyday reality on Etsy, a marketplace for handmade goods, vintage items, and craft supplies sold by independent sellers, many of them running a shop on their own. (Under Etsy's rules, vintage items must be at least 20 years old.) Search, recommendations, and seller tools all have to work without the shared product catalog that most retailers lean on, and that shapes much of what Etsy engineers build.

Etsy is also closely associated with a particular engineering culture - frequent small deployments, heavy use of metrics, experiments, and blameless postmortems - largely because its engineers wrote about these practices in public for years on the company's Code as Craft blog. This guide covers the loop candidates commonly describe, the domain themes worth understanding, how that culture can surface in your rounds, the types of problems to practice, and a two-week plan. We describe problem categories, not invented "leaked" questions: question pools rotate, and pattern fluency is what transfers.

The Etsy engineering loop

Candidates typically describe a process shaped roughly like the table below. The stages, their order, and the format of each round vary by team, level, and hiring cycle, and processes change, so confirm your specific schedule with your recruiter.

StageWhat happensFocus
Recruiter callRole, team, level, and whether the role is remote, hybrid, or office-basedBackground and motivation
Technical screenA live coding problem; some candidates describe a more practical exerciseWorking code, communication
Final interviewsSeveral rounds, commonly virtualCoding, design (level-dependent), behavioral and collaboration
DecisionInterviewers debrief, recruiter follows upSignal across all rounds

Ask which product area the role supports - search and discovery, recommendations, seller tools, payments, ads, or infrastructure are all plausible - and whether your coding rounds expect code that actually runs. The answers tell you whether to spend your extra time on ranking, product-flavored design, or practical coding.

Search and discovery for one-of-a-kind items

Most e-commerce search can lean on a product catalog: one canonical record per product, with a brand, a model number, and structured attributes, and many offers attached to it. On Etsy, many listings are their own product. That changes the problem in several ways:

Etsy also runs Etsy Ads, which lets sellers set a daily budget to promote their listings in search and elsewhere on the site, so ranking questions can touch on how sponsored and organic results share a page. You do not need to know Etsy's actual models; you need to reason clearly about signals, sparse data, and fairness to sellers.

Seller tooling for one-person businesses

Many Etsy sellers photograph, list, price, pack, ship, and answer messages themselves. For them, seller tools are the job rather than an admin panel, and design questions in this area reward empathy for someone doing everything alone. Themes that fit:

Where this differs from Shopify: our Shopify coding interview guide covers a platform where each merchant runs their own storefront and often brings their own traffic. An Etsy seller shares one marketplace with many other shops and typically relies on its search and recommendations to be found. That is why seller tools and discovery overlap here: helping a seller write a findable listing is as much a product problem as processing their orders.

Recommendations when inventory sells out

Our recommendation system design walkthrough covers the standard architecture - candidate generation, ranking, and the cold-start problem. The Etsy-specific wrinkle is the inventory itself:

Topic emphasis for the coding rounds

Candidates' descriptions vary: some report standard data structure and algorithm problems, others more practical exercises where working, readable code is the point. Prioritize roughly in this order:

Deploying often and experimenting carefully

Etsy's engineers have written publicly, over many years, about deploying small changes to production many times a day with a one-button tool they called Deployinator, using feature flags to turn changes on gradually, and measuring the effect of what they ship. StatsD, the widely used metrics daemon, was introduced on Code as Craft in 2011, and John Allspaw's 2012 post there on blameless postmortems - reviewing incidents to understand how the system allowed a mistake rather than to punish whoever made it - is still widely cited. Older posts may not describe how Etsy works today, so treat them as culture rather than a map of the current stack.

How this can show up in an interview:

For the mechanics of A/B testing - assignment, primary and guardrail metrics, and sample size - our Booking.com coding interview guide covers the basics. What is different in a two-sided marketplace is interference. Buyers in the treatment and control groups compete for the same one-of-a-kind items: if a ranking change helps treatment buyers find and buy a particular listing, control buyers can no longer buy it, so a naive comparison can overstate the effect. Seller-facing changes raise a different problem - they may need to be randomized by shop rather than by buyer, which means fewer units and noisier results. Naming this trade-off, and a mitigation such as randomizing by shop or by market, is a strong signal in any experimentation discussion.

Representative problem types

Below are the kinds of problems worth practicing: common interview patterns, set in the problems a marketplace of unique items creates. They are categories, not a list of reported prompts.

Here is the flavor of the constrained re-ranking type: take a relevance-ordered list and cap how many listings any single shop can place on a page, backfilling if too few shops matched.

from collections import defaultdict

def diversify(ranked, max_per_shop, page_size):
    # ranked: list of (listing_id, shop_id), best match first
    if max_per_shop < 1:
        raise ValueError("max_per_shop must be at least 1")
    page, held_back = [], []
    shown = defaultdict(int)                  # shop_id -> listings already on the page

    for listing_id, shop_id in ranked:
        if len(page) == page_size:
            break
        if shown[shop_id] < max_per_shop:
            page.append(listing_id)
            shown[shop_id] += 1
        else:
            held_back.append(listing_id)      # keep rank order for the backfill

    # Too few shops matched to fill the page: use the best held-back listings.
    for listing_id in held_back:
        if len(page) == page_size:
            break
        page.append(listing_id)
    return page

The strong answer notes that this is one O(n) pass that keeps relevance order among the listings it shows, and walks through the edge cases: an invalid cap, an empty input, and a query where only one shop matches, which is exactly what the backfill handles. Then it offers follow-ups: a sliding cap for infinite scroll, such as no more than two listings from one shop in any ten consecutive results; a soft penalty instead of a hard limit; keeping pagination consistent so a held-back listing appears on the next page; and how you would test whether diversity actually helps buyers and sellers, given the interference problem above.

What interviewers look for

A word on integrity: prepare thoroughly and reason honestly in the room. Practical rounds and design follow-ups tend to ask why your approach works and what you would change next, and real understanding is what holds up.

A two-week Etsy prep plan

  1. Days 1-3: Fundamentals - hash maps, strings, and sorting. Build a tiny inverted index over listing titles and tags, and query it.
  2. Days 4-6: Heaps and merging, then greedy re-ranking: top-k by score, a k-way merge of ranked lists, and the per-shop cap above with its follow-ups.
  3. Days 7-8: Trees and taxonomy traversal, plus a small listing class with variations and personalization that you extend twice with requirements you did not plan for.
  4. Days 9-11: Design. Practice search for unique items, recommendations that drop sold-out listings quickly, and a seller statistics pipeline. Our system design reference is a quick refresher on the building blocks.
  5. Days 12-13: Behavioral stories: an incident you helped resolve and what changed afterwards, a feature you shipped gradually, and a time you spoke up for a group of users other than the obvious one.
  6. Day 14: One timed coding problem and one design prompt, run end to end in the environment you will use on the day, followed by a short written note on what to tighten.

Clear thinking in the live round, not just in practice

CoPilot Interview is a desktop AI interview assistant for Windows and macOS that surfaces structured approaches and talking points during live coding, design, and behavioral rounds. There is a permanent free tier, so you can try it in a practice session before deciding whether you need more.

Try it free

FAQ

What is the Etsy coding interview like?

Candidate accounts generally describe a recruiter call, a technical screen, and a final set of interviews covering coding, design for experienced engineers, and behavioral and collaboration questions. Accounts of the coding rounds differ - some describe standard data structure and algorithm problems, others practical exercises where clean, working code is the main signal. Formats vary by team and level, and processes change, so confirm the details with your recruiter.

Why is search at Etsy different from search at other e-commerce companies?

Many Etsy listings are handmade or vintage items with no barcode, no manufacturer description, and no shared product record, and some exist exactly once. Titles, tags, attributes, and photos are written by sellers, and queries often describe a style or an occasion rather than a specific product. That makes query understanding, image and text similarity, sparse data, and diversity across many small shops central to the problem.

Does Etsy ask system design questions?

Design rounds are commonly reported for mid-level and senior engineers. Natural themes include search and ranking for unique items, recommendations that drop sold-out listings quickly, seller tools such as shop statistics or bulk listing edits, and shipping changes safely with feature flags and monitoring. Expectations vary by team and level, so ask your recruiter what to prepare.

What is Etsy's engineering culture known for?

Etsy is widely associated with continuous deployment, feature flags, heavy use of metrics, experimentation, and blameless postmortems, largely because its engineers wrote about these practices publicly on the Code as Craft blog. StatsD, a widely used metrics tool, came out of Etsy. Older posts may not reflect current tools, but the underlying ideas - small reversible changes, measuring impact, and learning from incidents without blame - are worth bringing into design and behavioral answers.

What should I study for an Etsy software engineer interview?

Cover hash maps, strings and text processing, heaps and sorting, greedy re-ranking, and tree traversal, and practice writing readable, tested code. For design, practice search and recommendations for unique inventory, seller-facing tools, and safe rollouts with metrics. Add behavioral stories about collaboration, an incident you learned from, and a change you shipped gradually.