Sezzle · Software Engineer
Updated · 2026-09-20

Sezzle Software Engineer
Interview Questions & Guide 2026

THE 60-SECOND BRIEF

Sezzle provides digital payment and point-of-sale financing products.

Prepare for payment engineering by making money arithmetic, operation identity, state transitions and reconciliation explicit.

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

Money correctnessIdempotent payment stateClear incident decisions

11 min read

Practice 11 Software Engineer prompts
11Practice promptsAcross five skill areas
4With worked solutionsIncluded in the practice prompts

Start with the ledger, not the screen. A checkout button can time out after the payment service has already accepted an operation. Give the order, payment intent and attempt separate identities so a retry can discover the recorded result instead of charging twice.

The official careers page emphasizes payment solutions, ownership and communication. The company overview describes a consumer payment platform. Those sources support product context; they do not verify a fixed interview loop or the exact questions below.

Keep money and time contracts explicit. Use integer minor units or an exact decimal type, record the currency and define how remainders are allocated. For status, prefer an append-only event history or a conditional version update over a sequence of ambiguous booleans.

Reconcile independent evidence. A user-facing confirmation, processor callback and internal ledger entry can arrive at different times. Design a repair path that compares them without turning every late event into another financial action.

Visual walkthrough

Explore your preparation priorities

Choose a focus to see how to prepare.

STAGE 1 / 3

Define what saved means

Contract: identify the 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 an idempotent checkout payment flow

PracHub practice map for a payment state change. Select a checkpoint to connect the system contract, concurrency boundary and failure response to a practice prompt.

01

Define the payment contract

editorial

Name the logical order, payment intent and attempt. State the amount, currency and result each identity can represent.

What to demonstrate

  • Exact money representation
  • Operation identity

How to prepare

  • Run the installment exercise with awkward remainders.
  • Describe a retry after a lost response.
Read the source
02

Protect payment state

editorial

Model authorized, captured, failed and refunded transitions. Reject an event that conflicts with the stored order or moves the state backward.

What to demonstrate

  • State-machine reasoning
  • Concurrency control

How to prepare

  • Draw two callbacks racing for the same intent.
  • Write the latest-state SQL before designing a cache.
Read the source
03

Make recovery auditable

editorial

Compare gateway events, internal attempts and ledger rows. Keep a review queue for mismatches rather than silently creating another payment.

What to demonstrate

  • Reconciliation
  • Safe incident response

How to prepare

  • Reproduce the duplicate-charge timeline.
  • Prepare a story about a high-impact correctness decision.
Read the source

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 the three save outcomes to reason about a payment state change: a confirmed write, a version conflict and a lost response.

01

Using floating-point arithmetic for money

Use integer minor units or an exact decimal type and keep currency explicit.

02

Treating a timeout as a failed charge

Preserve operation identity and query the durable result before allowing another financial action.

03

Deduplicating only in application memory

Enforce uniqueness at the durable write boundary and retain the accepted result.

04

Hiding reconciliation mismatches

Expose an auditable review state and separate repair from automatic external side effects.

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

Split an amount into deterministic installments

mediumWorked solution
MoneyArraysValidation

Given nonnegative integer cents and a positive installment count, return installments whose sum is exact and whose values differ by at most one cent. Allocate any remainder to the earliest installments. Reject invalid inputs.

Approach
  1. Use divmod(total, parts) to get the common amount and remainder.
  2. Add one cent to the first remainder entries. This is O(parts) time and output space.
Worked solution 35 min
  1. Validate integer inputs and a positive installment count.
  2. Use quotient and remainder; distribute one extra cent to the earliest remainder positions.
  3. Check both the exact sum and the maximum difference between installments.
Python
def split_installments(total_cents, parts):
    if not isinstance(total_cents, int) or not isinstance(parts, int):
        raise TypeError("integer inputs required")
    if total_cents < 0 or parts <= 0:
        raise ValueError("invalid amount or count")
    base, remainder = divmod(total_cents, parts)
    return [base + (1 if i < remainder else 0) for i in range(parts)]

Scroll sideways to view long lines.

EXPECTED RESULT[251, 250, 250, 250] for 1001 cents split four ways.
Follow-up
  • How would a different legal or product allocation policy change the contract?

Apply payment events once

medium
Hash mapsIdempotency

Given tenant, intent ID, event ID, state and amount records, preserve first-seen order. Ignore exact replays, but reject reuse of an event ID with different content.

Approach
  1. Key deduplication by tenant and event ID, then store a fingerprint of the accepted content.
  2. Validate that every event matches the intended payment identity before changing state.
Follow-up
  • How will you expire deduplication records without accepting a very late replay?

Count recent payment attempts

medium
Sliding windowQueuesBoundaries

Implement add(timestamp) and count(now) for attempts in (now - 10, now]. Timestamps are nondecreasing, equal timestamps are distinct attempts and the clock may advance without a new attempt.

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 payment 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. Keep timestamps in a deque and remove values at or before now - 10 before returning the count.
  2. Reject a backward clock. Every timestamp enters and leaves once, so updates are amortized O(1).
Follow-up
  • How would you count per customer while limiting memory for inactive customers?

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
01Define the payment contract
  • Map order, intent, attempt and provider event identities.
  • State amount, currency and success evidence.

Deliverable: A payment state map

02Make money exact
  • Run the installment solution.
  • Add awkward remainders and invalid inputs.

Deliverable: A tested money function

Practice prompt ↗
03Protect state transitions
  • Write latest-state SQL.
  • Deliver tied and out-of-order events.

Deliverable: A state transition table

Practice prompt ↗
04Reconcile evidence
  • Run the capture query.
  • Add another tenant and repeated attempts.

Deliverable: A verified reconciliation fixture

Practice prompt ↗
05Design retries
  • Walk through lost client and provider responses.
  • Name the atomic uniqueness rule.

Deliverable: An idempotent checkout design

Practice prompt ↗
06Debug duplication
  • Reproduce the second-charge race.
  • Define safe remediation evidence.

Deliverable: A failure timeline

Practice prompt ↗
07Rehearse decisions
  • Explain one correctness story and one delivery disagreement.
  • Review the weakest system assumption.

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 high-impact correctness decision

medium
JudgmentCommunicationOwnership

Describe a change involving money, identity or access where you found a plausible but incorrect result.

Approach
  1. State your responsibility, the information available and the consequence of being wrong.
  2. Explain the decision, the verification step and what changed afterward.
Follow-up
  • What new evidence would make you choose differently?

Resolve a delivery-versus-safety disagreement

medium
JudgmentCommunicationOwnership

Describe a real disagreement about shipping a risky change. What evidence and guardrails changed the decision?

Approach
  1. State your responsibility, the information available and the consequence of being wrong.
  2. Explain the decision, the verification step and what changed afterward.
Follow-up
  • What new evidence would make you choose differently?

Communicate during an uncertain payment incident

medium
JudgmentCommunicationOwnership

Tell a story where the team did not yet know whether an external action had succeeded.

Approach
  1. State your responsibility, the information available and the consequence of being wrong.
  2. Explain the decision, the verification step and what changed afterward.
Follow-up
  • What new evidence would make you choose differently?
  • 01

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

Sezzle — Careers
Are these verified Sezzle interview questions?

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

Sezzle — CareersSezzle — Company overview
Should I use one particular language?

Use the language named in your opening. The examples use Python and SQLite to make the contracts runnable; 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.