← Atlassian Interview Insights

Atlassian·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Apr 2026

Summary

System design round at Atlassian for a software engineer role. The whole thing was one massive question about kiosk infrastructure at global scale, and it went deep fast. Walked away feeling like I covered maybe 60% of what they were actually probing for.

Questions Asked (1)

Q1

Design a system for refilling game cards at 125,000 physical kiosks worldwide, supporting both credit card and cash payments. Cover the kiosk-to-backend protocol, offline mode during network outages, idempotency for refill transactions, payment authorization and reconciliation, cash handling with audit trail, fraud and chargeback handling, software update distribution, fleet monitoring and alerting, and capacity/hot-shard concerns. Also discuss failure modes: double-charges, lost refills, kiosk compromise, and network partitions.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

This was a beast.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then outline a high-level architecture that separates kiosk edge logic from backend services. Dive into critical flows like payment authorization, idempotent refill, and offline sync, while addressing failure modes and trade-offs. Conclude with operational aspects like monitoring, updates, and fraud handling.

Pro tip: Emphasize idempotency and reconciliation as the backbone of reliability; show how you'd design for exactly-once semantics in a distributed, occasionally connected system. Mention that cash handling requires physical audit trails and periodic reconciliation to detect discrepancies.

1. Clarify Requirements and Scale

Ask about expected transaction volume, kiosk connectivity patterns, payment provider integrations, and regulatory constraints. Establish non-functional requirements like latency, availability, and consistency.

2. High-Level Architecture

Propose a layered architecture: kiosk edge (with local storage and offline queue), API gateway, payment service, refill service, inventory service, and monitoring. Discuss data flow for online and offline modes.

3. Deep Dive into Critical Flows

Detail the refill transaction flow: payment authorization, idempotent refill request, and reconciliation. Explain offline mode: queueing transactions, syncing when online, and conflict resolution.

4. Address Failure Modes and Trade-offs

Discuss double-charges (idempotency keys, deduplication), lost refills (write-ahead logging, retries), kiosk compromise (secure boot, encryption), and network partitions (CAP theorem trade-offs, eventual consistency).

5. Operational Excellence

Cover software updates (staged rollout, rollback), fleet monitoring (heartbeats, metrics), alerting, and capacity planning (sharding, hot partitions). Mention fraud detection and chargeback handling.

Key Points to Mention

  • Idempotency keys and deduplication for refill transactions to prevent double-charges
  • Offline mode with local queue and sync protocol, including conflict resolution and reconciliation
  • Payment authorization flow with pre-auth/capture and reconciliation with payment providers
  • Cash handling: secure storage, audit trail, and periodic reconciliation with physical counts
  • Fraud prevention: anomaly detection, rate limiting, and chargeback handling process
  • Fleet management: software update distribution (e.g., staged rollout), monitoring (heartbeats, metrics), and alerting
  • Capacity and hot-shard concerns: sharding strategy, caching, and load balancing
  • Failure modes: network partitions (CAP trade-offs), kiosk compromise (secure boot, encryption), and data consistency

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.