Stubhub · Software Engineer
Updated · 2026-09-20

Stubhub Software Engineer
Interview Questions & Guide 2026

THE 60-SECOND BRIEF

StubHub operates a marketplace where buyers and sellers transact in live-event tickets.

Prepare for marketplace engineering by making inventory ownership, versioned listings, idempotent checkout and reconciliation explicit.

The reviewed official pages do not establish one universal interview sequence. Use these exercises, then map them to the format and stack named in your invitation.

Scarce-inventory correctnessVersioned marketplace stateTrustworthy recovery

9 min read

Practice 11 Software Engineer prompts
10Company bank questionsSnapshot · Sep 20, 2026 PT
13Candidate experiences ↗Read their reports
11Practice promptsAcross five skill areas
4With worked solutionsIncluded in the practice prompts

Model ownership before checkout. Search results can be stale, so define where availability becomes authoritative and what a reservation owns.

Official StubHub pages describe a live-event ticket marketplace and an API for marketplace access. Those sources support marketplace context; they do not verify a universal interview loop or the exact exercises below.

Version listing changes. Seller edits, imports and search projections can arrive out of order. Keep raw evidence and make the projected state rebuildable.

Treat timeout as uncertainty. A lost response after reservation, payment or order creation requires lookup by stable identity before the system repeats a scarce-inventory action.

Visual walkthrough

Explore your preparation priorities

Choose a focus to see how to prepare.

STAGE 1 / 3

Define the contract

Contract: identify durable state and the evidence that confirms it.

YOUR PREPARATION
  • Name the logical operation and the state visible before confirmation.
  • List the invariants a retry must preserve.
Try a related exerciseDesign a ticket reservation flow

PracHub practice map for marketplace. Select a checkpoint to connect the contract, concurrency boundary and failure response to a practice prompt.

01

Define inventory ownership

editorial

Name listing, reservation, checkout and order identities plus the transition that grants temporary ownership.

What to demonstrate

  • Concurrency boundaries
  • Expiry semantics

How to prepare

  • Race two buyers.
  • State what expiry means during payment.
Read the source
02

Protect listing versions

editorial

Reject stale or conflicting updates without losing the raw marketplace event.

What to demonstrate

  • Versioning
  • Auditability

How to prepare

  • Deliver updates out of order.
  • Rebuild the search projection.
Read the source
03

Reconcile ambiguous checkout

editorial

Separate reservation, payment and order evidence before releasing inventory or asking a buyer to try again.

What to demonstrate

  • Idempotency
  • Incident response

How to prepare

  • Lose the checkout response.
  • List evidence needed before release.
Read the source

13 candidate reports. Individual accounts describe a particular role and hiring cycle.

Software Engineer

Stubhub Software Engineer interview with a 75-minute pair programming round

HR Screen → Online Assessment → Onsite → OtherOutcome: rejected

My interview process started with an HR behavioral round, followed by a CodeSignal assessment and then a face-to-face technical sequence. The technical portion included a 75-minute pair programming round and a system design round. The process ended after the system design interview, and I was rejected at that final technical stage. It felt like a typical multi-round pipeline, but the rejection se…

Read full experience
Software Engineer

Stubhub Software Engineer interview with a shortened project deep dive

HR Screen → OtherOutcome: rejected

I started with a recruiter screen that already felt off. There was a missed call, and after I reached back out, I waited about two weeks just to hear about moving to the next round. When I was scheduled for the hiring manager interview, the hiring manager I was connected with didn't match what the email said. The project deep dive also didn't match the schedule. It was supposed to last 45 minutes…

Read full experience
Software Engineer

Stubhub Software Engineer interview with repeated scheduling problems

HR Screen → OtherOutcome: rejected

The process started with scheduling, and it quickly became clear that it wasn't being handled with much care. The recruiter didn't show up for the originally scheduled interview at all. After I reached out to reschedule, I didn't get a real response. I joined the rescheduled call anyway, only for the recruiter to arrive late and act as if the situation was an inconvenience rather than something t…

Read full experience
Software Engineer

Stubhub Software Engineer: email-system design and an early coding cutoff

HR Screen → Technical Screen → OtherOutcome: rejected

My process started with a friendly recruiter screen about my background and previous work. I could tell the recruiter was listening for specifics, and we went past the scheduled time because I kept adding context. A couple of weeks later, I still hadn’t heard back, and I eventually received an automated rejection. The technical rounds focused more on practical engineering ideas than on algorithms…

Read full experience
Software Engineer

Stubhub Software Engineer interview: Codility, CodeSignal, and resume-based technical screen

Online Assessment → Technical ScreenOutcome: rejected

The process moved quickly into online testing and stopped just as fast. I took a Codility-style assessment with a limited time window and submitted everything before time ran out, but I never heard back. At another stage, I completed a CodeSignal assessment with several LeetCode-style questions. The focus was on getting working solutions rather than writing the most elegant algorithms. I ran out…

Read full experience

PracHub editorial advice for the preparation topics above.

Visual walkthrough

Follow the state, not just the happy path

Choose a scenario to trace what changes.

The expected version still matches the stored state.

  1. 01Edit version 3Edit version 3.
  2. 02Compare versionCompare version.
  3. 03Save version 4Save version 4.
WHAT YOUR SYSTEM SHOULD DO

Commit one new version and return durable confirmation.

Use three outcomes to reason about marketplace: a confirmed write, a version conflict and a lost response.

01

Treating search as authoritative inventory

Recheck availability at an atomic reservation boundary.

02

Creating a new checkout identity after timeout

Reuse the logical checkout and return its recorded result.

03

Projecting stale listing updates

Require monotonic versions and retain an auditable conflict path.

04

Joining tickets directly to payouts

Aggregate both sides at order grain before reconciliation.

Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.

8 technical prompts4 include a worked solution

Merge available seat ranges

mediumWorked solution
IntervalsSorting

Given inclusive seat-number ranges within one row, validate and merge overlapping or adjacent ranges without mutating the input.

Approach
  1. Sort a copy by start.
  2. Extend the last range when the next start is at most last_end + 1.
Worked solution 35 min
  1. Validate integer inclusive ranges.
  2. Merge overlap or adjacency.
Python
def merge_seat_ranges(ranges):
    clean = []
    for start, end in ranges:
        if not isinstance(start, int) or not isinstance(end, int) or start < 1 or end < start:
            raise ValueError("invalid seat range")
        clean.append((start, end))
    clean.sort()
    merged = []
    for start, end in clean:
        if merged and start <= merged[-1][1] + 1:
            merged[-1] = (merged[-1][0], max(merged[-1][1], end))
        else:
            merged.append((start, end))
    return merged

Scroll sideways to view long lines.

EXPECTED RESULT[(1, 8), (10, 12)] for [(3, 8), (1, 3), (10, 12), (11, 11)].
Follow-up
  • How would obstructed-view or price attributes change the merge key?

Accept listing updates once

medium
Hash mapsVersioning

Given seller, listing ID, version and payload records, keep the newest version, ignore exact replays and reject conflicting payloads for one version.

Approach
  1. Store the latest version and a fingerprint per listing.
  2. Reject version regression and conflicting reuse before changing availability.
Follow-up
  • How do you support an authorized correction to an older event?

Count recent reservation attempts

medium
QueuesRate limits

Implement add(timestamp) and count(now) for attempts in (now - 10, now]. Timestamps are nondecreasing and equal timestamps are distinct.

Visual walkthrough

Which events still count?

ROLLING TOTAL+2units
(0, 10]Events in window: 2
In windowExpiredNot arrived

The left boundary is excluded; the right boundary is included. Drag past an event to see it enter, then expire 10 seconds later.

See the event values
  • At 0s: +1expired
  • At 5s: +1in window
  • At 10s: +1in window
  • At 14s: +1not arrived
  • At 19s: +1not arrived

Synthetic reservation attempts at 0, 5, 10, 14 and 19 seconds. Drag the clock: the interval is (now - 10, now], so the lower boundary is excluded.

Approach
  1. Use a deque.
  2. Expire timestamps at or before the lower boundary.
Follow-up
  • How would you apply independent limits per event and account?

A seven-session PracHub practice plan with one reviewable artifact per session. Adjust the pace to your experience and interview date.

Small steps. Visible outcomes.0 / 7 completed
ONE WEEK · YOUR PACE

Prepare, practise & reflect

One practical outcome each day. Spend longer where you need it.

0 / 7 done
01Map marketplace identities
  • Define listing through order IDs.
  • Mark authoritative state.

Deliverable: An inventory state map

02Practice interval logic
  • Run the range solution.
  • Add adjacent and invalid ranges.

Deliverable: A tested range function

Practice prompt ↗
03Query payout evidence
  • Run the payout query.
  • Add a refund scenario.

Deliverable: A verified SQL fixture

Practice prompt ↗
04Design scarce inventory
  • Race two reservations.
  • Define expiry during payment.

Deliverable: A reservation design

Practice prompt ↗
05Design listing replay
  • Deliver updates out of order.
  • Rebuild the search view.

Deliverable: A listing ingestion design

Practice prompt ↗
06Debug overselling
  • Reproduce the lost-response race.
  • Name the uniqueness rule.

Deliverable: A failure timeline

Practice prompt ↗
07Rehearse decisions
  • Explain one user-trust decision.
  • Review one peak-event plan.

Deliverable: Two evidence-backed stories

Practice prompt ↗Practice prompt ↗

Expand any day for tasks and deliverables. Your progress is saved on this device.

Use real examples. Name your responsibility, the evidence available at the time and what changed after the decision.

Explain a customer-impact decision

medium
Customer focusIncidents

Describe a real incident or product decision where user trust and delivery speed were in tension.

Approach
  1. Name the affected workflow and evidence.
  2. Explain containment, communication and the decision threshold.
Follow-up
  • Which metric or user signal changed afterward?

Resolve a marketplace trade-off

medium
StakeholdersTrade-offs

Tell a story where two user groups or business partners needed incompatible behavior.

Approach
  1. Represent both constraints fairly.
  2. Show the reversible experiment or policy boundary that supported the decision.
Follow-up
  • What did you choose not to optimize?

Prepare for a high-demand event

medium
ReliabilityPlanning

Describe a time you prepared a system for a predictable traffic spike or critical deadline.

Approach
  1. Explain capacity evidence and failure modes.
  2. Show load testing, degradation and rollback choices.
Follow-up
  • What surprised you under real load?
  • 01

    Bring one result you improved and one decision you changed after seeing evidence.

StubHub — About us
Are these verified Stubhub interview questions?

No. They are PracHub editorial exercises informed by official marketplace and careers context. The reviewed official pages do not publish a universal question list.

StubHub — About usStubHub — Marketplace API introduction
Should I use one particular language?

Use the language named in your invitation. The runnable examples use Python and SQLite to expose the contracts; translate the tests and invariants to your interview stack.

Is seven days enough?

The checklist is a suggested sequence, not a readiness guarantee. Repeat weak areas and follow the schedule for your exact interview.

Sources & methodology 5 sources ↗

Official role evidence, timestamped platform data and clearly labeled preparation advice.