Fiverr · Software Engineer
Updated · 2026-10-02

Fiverr Software Engineer
Interview Guide

THE 60-SECOND BRIEF

As a Software Engineer at Fiverr, you will play a critical role in shaping the future of the world’s leading marketplace for freelance services. Fiverr operates at a massive global scale, connecting millions of active buyers and sellers across thousands of digital service categories. This requires a highly sophisticated, low-latency, and resilient technical infrastructure that can handle millions of concurrent transactions, real-time communication, complex search queries, and secure payment processing. In this role, you will be responsible for building, optimizing, and maintaining the core services that power the Fiverr platform. Your work will directly impact how users discover talent, collaborate on projects, and conduct business globally.

This guide is scoped to a Software Engineer candidate at Fiverr.

Fiverr candidates report 5 rounds over 4-6 weeks. The stages below are what candidates describe, not a published process.

JavaScriptSystem DesignAlgorithms

26 min read

Browse Software Engineer questions

See the practice prompts

22Practice promptsAcross five skill areas

As a Software Engineer at Fiverr, you will play a critical role in shaping the future of the world’s leading marketplace for freelance services. Fiverr operates at a massive global scale, connecting millions of active buyers and sellers across thousands of digital service categories. This requires a highly sophisticated, low-latency, and resilient technical infrastructure that can handle millions of concurrent transactions, real-time communication, complex search queries, and secure payment processing. In this role, you will be responsible for building, optimizing, and maintaining the core services that power the Fiverr platform. Your work will directly impact how users discover talent, collaborate on projects, and conduct business globally. Whether you are working on frontend UI components, scaling backend microservices, or implementing cutting-edge AI integrations, you will face complex engineering challenges that require a deep understanding of web technologies, data structures, and system design. Fiverr values engineers who are not only technically proficient but also highly collaborative and product-minded. You will work closely with cross-functional teams, including product managers, designers, and data scientists, to turn ambitious product visions into stable, production-ready code. The engineering culture is fast-paced and data-driven, demanding a high level of ownership, agility, and a continuous desire to learn and innovate.

01

HR Screening Call

reported

Initial call to discuss your background and expectations.

What to demonstrate

  • Initial call to discuss your background and expectations
  • Depth in JavaScript

How to prepare

  • Be able to walk your CV end to end in two minutes, and say why this company specifically.
  • Have your salary expectations, notice period and location constraints ready, and ask for the rest of the loop in writing.
Fiverr Software Engineer candidate reports ↗
02

Live Coding Session

reported

Technical round with a team lead or senior engineer focusing on coding skills.

What to demonstrate

  • Technical round with a team lead or senior engineer focusing on coding skills
  • Depth in JavaScript

How to prepare

  • Answer aloud and timed: Given a list of strings, write an algorithm to find the shortest unique prefix for each word in the array.
  • Answer aloud and timed: Given an array of integers and a target sum, determine if there is a pair of numbers that sum up to the target.
Fiverr Software Engineer candidate reports ↗
03

System Design Session

reported

Assessment of your system design capabilities in a technical interview.

What to demonstrate

  • Assessment of your system design capabilities in a technical interview
  • Depth in JavaScript

How to prepare

  • Answer aloud and timed: Implement a function to map a random number generator from rand5 to rand7.
  • Answer aloud and timed: Implement the debounce design pattern in vanilla JavaScript to optimize high-frequency event handling.
Fiverr Software Engineer candidate reports ↗
04

Architectural Interviews

reported

Deeper discussions on architectural concepts with group managers and directors.

What to demonstrate

  • Deeper discussions on architectural concepts with group managers and directors
  • Depth in JavaScript

How to prepare

  • Answer aloud and timed: Build a functional, real-time chat component using React or vanilla JavaScript that calls a mock API, displays incoming responses, and handles message submissions.
  • Answer aloud and timed: Create a fully responsive "To-Do" web application within a strict time limit, demonstrating clean layout structure using HTML and CSS.
Fiverr Software Engineer candidate reports ↗
05

Final Interview

reported

Concluding interview with an executive or HR representative.

What to demonstrate

  • Concluding interview with an executive or HR representative
  • Depth in JavaScript

How to prepare

  • Answer aloud and timed: Explain how you would optimize a large-scale web application for search engine optimization (SEO) and fast initial page loads.
  • Answer aloud and timed: Solve a series of CSS styling challenges, including complex element alignment, flexbox/grid layouts, and responsive design adjustments.
Fiverr Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Understand the Fiverr Marketplace

Take the time to explore the Fiverr platform as both a buyer and a seller. Understanding the core user flows—such as searching for a gig, messaging a seller, placing an order, and managing a project—will give you invaluable context during system design and product-related questions.

02

Clarify Framework Constraints

In frontend coding challenges, clarify your technical options early. While some interviewers might have a preference, you generally have the right to choose your preferred framework (such as React or Vanilla JS) for building UI components like chat apps or to-do lists.

03

During frontend tasks, clarify your technical constraints early

While some interviewers may have a preference, you generally have the right to choose your preferred framework (such as React or Vanilla JS) for building UI components like chat apps or to-do lists.

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

19 technical prompts0 include a worked solution

Implement a Power Set algorithm to generate all possible subsets of a given set of numbers.

medium
Coding & Algorithms

Implement a Power Set algorithm to generate all possible subsets of a given set of numbers.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Given a list of strings, write an algorithm to find the shortest unique prefix for each word in the array.

medium
Coding & Algorithms

Given a list of strings, write an algorithm to find the shortest unique prefix for each word in the array.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Given an array of integers and a target sum, determine if there is a pair of numbers that sum up to the target

medium
Coding & Algorithms

Given an array of integers and a target sum, determine if there is a pair of numbers that sum up to the target.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Implement a function to map a random number generator from `rand5` to `rand7`.

medium
Coding & Algorithms

Implement a function to map a random number generator from rand5 to rand7.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Explain how you would optimize a large-scale web application for search engine optimization (SEO) and fast ini

medium
Frontend & UI Engineering

Explain how you would optimize a large-scale web application for search engine optimization (SEO) and fast initial page loads.

Approach
  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.
Follow-up
  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Built from the rounds and topics Fiverr candidates report.

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 the Fiverr loop
  • Write out the reported sequence: HR Screening Call, Live Coding Session, System Design Session, Architectural Interviews, Final Interview.
  • For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.

Deliverable: A one-page map of the 5 reported rounds, with the weakest marked.

02Work JavaScript
  • Spend the session on JavaScript, which Fiverr candidates report being tested on.
  • Write one worked example in JavaScript and time yourself on it.

Deliverable: One timed worked example in JavaScript.

03Work System Design
  • Spend the session on System Design, which Fiverr candidates report being tested on.
  • Write one worked example in System Design and time yourself on it.

Deliverable: One timed worked example in System Design.

04Work Algorithms
  • Spend the session on Algorithms, which Fiverr candidates report being tested on.
  • Write one worked example in Algorithms and time yourself on it.

Deliverable: One timed worked example in Algorithms.

05Answer out loud: Coding & Algorithms
  • Answer aloud, timed: Implement a Power Set algorithm to generate all possible subsets of a given set of numbers.
  • Answer aloud, timed: Design and implement an LRU (Least Recently Used) Cache data structure with efficient lookup and insertion times.

Deliverable: Spoken answers to 2 reported Coding & Algorithms question(s), under time.

06Answer out loud: Frontend & UI Engineering
  • Answer aloud, timed: Implement the debounce design pattern in vanilla JavaScript to optimize high-frequency event handling.
  • Answer aloud, timed: Build a functional, real-time chat component using React or vanilla JavaScript that calls a mock API, displays incoming responses, and handles message submissions.

Deliverable: Spoken answers to 2 reported Frontend & UI Engineering question(s), under time.

07Answer out loud: System Design & Architecture
  • Answer aloud, timed: Design a URL shortening service (like TinyURL), explaining your choice of database, caching strategy, and API design.
  • Answer aloud, timed: Architect a real-time messaging and chat system capable of supporting millions of active users with minimal latency.

Deliverable: Spoken answers to 2 reported System Design & Architecture question(s), under time.

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

Behavioural rounds judge the decision you made and what it cost.

Estimate work you have never done and defend the range

hard
estimationbackfillsexpand-contract

You are asked to estimate a change you have never attempted: add a column to a 100-million-row table, populate it, move reads across, and drop the old shape. Give a range with the assumptions that generate it, including batch size, the signal your backfill throttles on, and wall-clock hours, and name the three unknowns that would move the number most. Then describe a real estimate you gave under comparable ignorance: how you expressed its uncertainty, what you committed to, and how wrong you turned out to be.

Approach
  1. Decompose into independently deployable steps before estimating anything: add the column nullable, write both shapes, backfill in batches, verify, move reads, stop writing the old shape, drop it. That is four deploys spread over days, and the calendar estimate is dominated by them rather than by the loop's runtime.
  2. Do the arithmetic aloud for the part that has arithmetic in it: batch size times number of batches times per-batch duration, at a write rate the primary can absorb alongside roughly 1.2k writes per second of production traffic. The loop is throttled by replication lag and lock waits, not by how fast it can issue statements.
  3. Price the schema step by its lock rather than its statement duration. In PostgreSQL an ALTER TABLE taking ACCESS EXCLUSIVE waits for every open transaction on that table while later queries queue behind it, so a millisecond change issued during a thirty-second analytics query stalls that table for thirty seconds. Adding a nullable column with a non-volatile default avoids a rewrite from version 11; a new index wants CREATE INDEX CONCURRENTLY, which cannot run inside a transaction block and leaves an invalid index behind if it fails.
  4. Express the answer as a range whose endpoints each trace to a stated assumption, then name the cheapest experiment that collapses it, which is almost always running one real batch against the real table and multiplying.
Follow-up
  • How do you verify the backfill genuinely finished, given rows written by production traffic while it ran?
  • Where does the backfill resume from after a worker is killed mid-batch, and what makes that resume point trustworthy?

Unblock an engineer without taking the keyboard

easy
mentoringleasesat-least-once

A teammate has spent two days on a job handler that occasionally writes duplicate rows. They are certain the queue is delivering twice by mistake. You suspect a lease expiring under a slow handler, so the job is running concurrently with itself. Describe how you have unblocked someone in this position: what you asked before offering a hypothesis, what you showed them rather than told them, and what you left them owning. Then say what you would do if their theory turned out to be the right one.

Approach
  1. Ask before diagnosing, and ask for things answerable from data they already have: the attempt count on the job rows that produced duplicates, the handler's observed duration against its lease expiry, and whether the duplicate rows share a natural key that a unique constraint could have caught.
  2. Teach the shape rather than the answer. A lease cannot distinguish a dead worker from a slow one, so a handler that outruns its lease is running twice by design, and deploys deliver the other half by killing handlers mid-run on every rollout. Both of their candidate theories produce identical duplicate rows, which is why the evidence has to come from timings rather than from argument.
  3. Hand over a checklist they execute: a natural key on every write the handler performs so the second copy collides rather than appends, the record of intent written before any external effect, a lease heartbeat while running, and the metric that shows it working.
  4. Keep ownership with them deliberately. Pair on the first write, then step back; if you finish it yourself you have closed one ticket and left the same person stuck on the next redelivery.
Follow-up
  • How would you distinguish a genuine double-delivery from a lease expiry using only the data already stored?
  • Their handler calls an external endpoint before recording that it did. What do you tell them to change first?

Tell callers you do not own that their integration breaks

medium
deprecationcompatibilitystakeholders

A field in a write endpoint's response must change shape. You own the endpoint; you do not own the four internal callers or the outbound webhook consumers who read it. Describe a deprecation you were responsible for: what you shipped first, how you established who was actually reading the field, the window you gave and what set its length, what you did about the consumer who never moved, and how you decided removal was safe. Name the signal you used, not the announcement you sent.

Approach
  1. Establish the reader set empirically rather than from a wiki of owners: per-field usage counters keyed by principal, or access logs attributed to a consumer. State the blind spot of whichever you pick, since a consumer that reads the field only on a monthly job will not appear in a week of logs.
  2. Ship additive first. Populate the new field alongside the old one so no reader is forced to move, which is also what keeps a rolling deploy safe, because old and new instances answer the same requests at the same time and a rollback must still find the old shape present.
  3. Set the window from the slowest legitimate consumer's release cadence, not from your calendar, and decide separately what to do for a consumer with no release process at all, such as an external webhook endpoint you can only email.
  4. Convert silence into evidence before you rely on it: a short, low-traffic removal window that makes a still-dependent consumer fail visibly and loudly while you are watching, rather than at three in the morning after you have moved on.
Follow-up
  • How would you detect a consumer that reads the field only during a monthly export?
  • One caller refuses to move and has a commercial relationship behind it. What changes in your plan and what does not?
  • 01

    You are asked to estimate a change you have never attempted: add a column to a 100-million-row table, populate it, move reads across, and drop the old shape. Give a range with the assumptions that generate it, including batch size, the signal your backfill throttles on, and wall-clock hours, and name the three unknowns that would move the number most. Then describe a real estimate you gave under comparable ignorance: how you expressed its uncertainty, what you committed to, and how wrong you turned out to be.

  • 02

    A teammate has spent two days on a job handler that occasionally writes duplicate rows. They are certain the queue is delivering twice by mistake. You suspect a lease expiring under a slow handler, so the job is running concurrently with itself. Describe how you have unblocked someone in this position: what you asked before offering a hypothesis, what you showed them rather than told them, and what you left them owning. Then say what you would do if their theory turned out to be the right one.

  • 03

    A field in a write endpoint's response must change shape. You own the endpoint; you do not own the four internal callers or the outbound webhook consumers who read it. Describe a deprecation you were responsible for: what you shipped first, how you established who was actually reading the field, the window you gave and what set its length, what you did about the consumer who never moved, and how you decided removal was safe. Name the signal you used, not the announcement you sent.

PracHub preparation framework ↗
How difficult are the technical interviews at Fiverr?

The interviews are moderately difficult to challenging, depending on the role level. They focus heavily on practical coding ability, real-world system design, and algorithmic thinking rather than obscure academic puzzles. Thorough preparation in web fundamentals, React, and system scalability is highly recommended.

Fiverr Software Engineer candidate reports ↗
What is the average timeline for the hiring process?

For the standard virtual process, it typically takes between 2 to 4 weeks from the initial HR screen to a final offer. If you participate in a "Hiring Day," the entire process is condensed, and you can receive a decision within 24 to 48 hours.

Fiverr Software Engineer candidate reports ↗
Does Fiverr allow the use of search engines or AI tools during the interview?

Generally, standard coding interviews expect you to write code without the aid of search engines or AI tools to assess your core knowledge. However, for specific "AI-assisted" interview tracks, you will be explicitly provided with AI tools like Claude and evaluated on how effectively you utilize them.

Fiverr Software Engineer candidate reports ↗
What is the engineering culture like at Fiverr?

The culture is highly collaborative, fast-paced, and product-focused. Engineers are encouraged to take extreme ownership of their work, run experiments, and contribute to product decisions. There is a strong emphasis on continuous learning and leveraging modern technologies.

Fiverr Software Engineer candidate reports ↗
What topics does Fiverr test in interviews?

Fiverr interviews most often cover React, System Design, CSS, SQL, and JavaScript. The exact emphasis depends on the specific role you apply for.

Fiverr Software Engineer candidate reports ↗
Sources & methodology 3 sources ↗

No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.