practice a little every day, paws crossed ♡
Software Engineer Interview Questions
Practice 9403 coding, system design and machine learning questions from 546 companies, sorted by role, topic and interview round. Every question has step-by-step hints, a code runner that supports 8 languages and an AI mentor; members also get the full solution walkthrough.
- 9403
- Questions
- 546
- Companies
- 11
- Topics
- 8
- Languages
Showing 1–30 of 1189 results
- Abnormal SecurityHardSoftware EngineerDesign a scalable photo deduplication service
Design a scalable photo deduplication service evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignTechnical Screen - AbridgeMediumSoftware EngineerDesign a Secure Medical Audio Pipeline
This problem tests your ability to design a secure, HIPAA-compliant audio processing pipeline that handles sensitive PHI (Protected Health Information) while ensuring scalability and reliability.
System DesignTechnical ScreenSecurityHIPAAAsynchronous Processing - AddeparMediumSoftware EngineerDesign a Multi-Region Event Ticketing System
This question tests the ability to design a highly concurrent distributed system that balances strong consistency for inventory management with high availability for a global, read-heavy user base.
System DesignTechnical ScreenDistributed SystemsConsistencyScalability - AdobeHardSoftware EngineerAnalyze end-to-end request latency
An Adobe software-engineer system-design screen on analyzing and optimizing end-to-end web request latency. The strong answer builds a client/network/server latency model, instruments both client (RUM) and server (OpenTelemetry, Server-Timing) with correlated traces, attributes frontend vs. backend time, investigates p95/p99 outliers, and ships layered optimizations behind SLO guardrails.
System DesignTechnical Screen - AdobeMediumSoftware EngineerDesign a Runtime Localization System
Design a runtime localization system for dozens of countries with locale and regional resolution, variables, plural rules, safe fallback, and offline-capable bundles. Address live copy updates, approvals, rollbacks, formatting, missing translations, cache behavior, and longer-text layout failures.
System DesignOnsite - AdobeHardSoftware EngineerDesign distributed word count without MapReduce
This question evaluates a candidate's competency in designing scalable distributed systems and large-scale data processing pipelines, focusing on ingestion, partitioning/sharding, partial aggregation and merging, global top‑K computation, fault tolerance, idempotency, and storage/serving concerns.
System DesignTechnical Screen - AdyenHardSoftware EngineerDesign scalable LRU cache and backtracking API
Design scalable LRU cache and backtracking API evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignTechnical Screen - AffirmMediumSoftware EngineerDesign Installment-Loan Payment Processing
Design installment-loan payment processing around a bank debit API available during one daily one-hour window. Unify manual and scheduled intents, prevent duplicate debits with durable idempotency and state transitions, reconcile unknown outcomes, apply accounting atomically, and notify through an outbox.
System DesignTechnical Screen - AffirmEasySoftware EngineerDesign a Ticketmaster-like ticketing system
This question tests your ability to design a high-concurrency booking system, focusing on preventing double-bookings, managing seat holds, and ensuring system availability during high-traffic events.
System DesignOnsiteConcurrencyDistributed SystemsCaching - AffirmHardSoftware EngineerDesign an A/B Testing Platform
Design a high-scale, low-latency experimentation and A/B testing platform capable of deterministic user bucketing, high-throughput exposure and metric ingestion, and automated statistical reporting.
System DesignOnsitesystem-designdistributed-systemsdata-engineering - AirbnbMediumSoftware EngineerDesign a Reliable Scheduler for Payment Jobs
Tests candidate's ability to design a mission-critical, fault-tolerant job scheduler for payment processing, focusing on lease claiming, idempotency, race condition handling, and reconciliation.
System DesignOnsitesystem-designdistributed-systemspayments - AirbnbMediumSoftware EngineerDesign a booking system
This question tests the ability to design a distributed reservation system that handles high concurrency, prevents double-booking, and ensures data consistency at scale.
System DesignOnsiteConcurrencyDatabaseDistributed Systems - AirbnbHardSoftware EngineerDesign a fast host listing metrics page
This question evaluates backend system design and data engineering competencies, including scalable API design, time-range aggregation correctness (handling partial overlaps and state changes), data modeling and indexing, caching and precomputation, and performance validation.
System DesignTechnical Screen - AirbnbHardSoftware EngineerDesign a group chat system
Airbnb's onsite system design round asks you to design the backend for a real-time group chat and messaging system: 1:1 and group conversations, near-real-time delivery, accurate unread counts, and full paginated history at roughly 1B messages a day and 5M concurrent connections. A complete answer covers the guarantees, APIs, data model and partitioning, write path and ordering, WebSocket fan-out and presence, offline delivery and multi-device sync, unread counts, membership changes, failure modes and observability. This walkthrough gives a corrected end-to-end reference answer for every part, including the trade-offs interviewers probe.
System DesignOnsite - AirbnbHardSoftware EngineerDesign a hot-listing waitlist API
Design a hot-listing waitlist API evaluates requirements, scale assumptions, API/data design, architecture, trade-offs, failure modes, and rollout in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.
System DesignOnsite - AirbnbHardSoftware EngineerDesign a multi-channel notification system
This question tests the ability to design a distributed, multi-channel notification system capable of handling high throughput, varying latency requirements across channels (e.g., email, push, SMS), and ensuring reliable message delivery.
System DesignTechnical ScreenDistributed SystemsScalabilityMessage Queues - AirbnbHardSoftware EngineerDesign a real-time chat system with hot groups
This problem tests your ability to design a distributed, low-latency messaging system that handles massive fan-out and identify trending group activities.
System DesignOnsiteDistributed SystemsWebSocketsCaching - AirbnbHardSoftware EngineerDesign a scalable consumer feature
This question evaluates a candidate's ability to design large-scale recommendation systems, covering system architecture, real-time serving and offline pipelines, personalization and ML modeling (candidate generation and ranking), data modeling/feature stores, caching and storage, monitoring, experimentation, and privacy/compliance skills.
System DesignOnsite - AirbnbHardSoftware EngineerDesign an A/B Testing Platform
Design an A/B testing platform with deterministic assignment, versioned experiment configuration, exposure logging, outcome attribution, and trustworthy analysis. Separate the latency-sensitive serving path from asynchronous metrics, support gradual ramps and overlapping tests, and detect bias, event loss, skew, and sample-ratio mismatch.
System DesignOnsite - AirbnbHardSoftware EngineerDesign an Airbnb wallet with holds and payouts
This question evaluates a candidate's competency in designing financial transaction systems, covering double-entry append-only ledgers, holds/authorizations and captures, refunds and payouts, multi-currency FX conversion and rounding, idempotency, concurrency safety, and auditable reconciliation.
System DesignTechnical Screen - AirbnbMediumSoftware EngineerDesign and implement an Airbnb wallet
This question evaluates system design and object-oriented design skills focused on transactional accounting, escrow-based payment flows, idempotency, and robust error handling, plus the ability to produce a runnable in-memory implementation.
System DesignTechnical Screen - AirbnbHardSoftware EngineerDesign multi-currency pricing end-to-end
This question evaluates understanding of multi-currency pricing and payments, covering currency selection UX, storage versus presentation currency, exchange-rate sourcing and locking, rounding and localization, tax and fee modeling, caching and cross-channel consistency, and API and data-model design in a distributed marketplace.
System DesignOnsite - AirbnbHardSoftware EngineerDesign rental watchlist and notification system
This question evaluates system architecture and scalability competencies, including data modeling for date-range watchlists, event-driven notification pipelines, time-zone and DST handling, consistency and concurrency semantics, idempotency, sharding/caching strategies, and privacy/analytics considerations.
System DesignOnsite - AirbnbHardSoftware EngineerDesign scalable notification system
Airbnb's onsite system design round asks you to design a notification system that delivers email, SMS, and push messages to millions of guests, hosts, and employees, supporting both event-triggered sends and large batch campaigns. A complete answer covers requirements and scale math, architecture and data flow for both modes, the data model and API, templating, user preferences and compliance, prioritization, deduplication and idempotency, retries and failover, scaling and backpressure, observability, and cost. This walkthrough gives a corrected end-to-end reference answer for every part, including the trade-offs interviewers probe.
System DesignOnsite - AirtableHardSoftware EngineerDesign JSON serialization for circular references
This question evaluates understanding of deterministic, cross-language JSON serialization and deserialization for object graphs with cycles, including concepts such as cycle detection, stable object identifiers, preservation of shared subobjects, traversal-order determinism, input validation/security, and time/space complexity.
System DesignOnsite - AirtableMediumSoftware EngineerDesign a lazy-initialized connection pool
Design a thread-safe, lazily initialized connection pool with a PooledConnection wrapper: reuse idle connections first, cap active connections, define exhaustion (block-with-timeout) and shutdown semantics, and analyze concurrency safety and complexity. A common Airtable software-engineering screen question.
System DesignHR Screen - AirtableMediumSoftware EngineerDesign a scalable search service with sharding
This question tests the ability to design a distributed search architecture capable of handling high-throughput indexing and low-latency queries across a massive dataset.
System DesignOnsiteDistributed SystemsSearch IndexingSharding - AirtableMediumSoftware EngineerDesign an async API with idempotency
This question tests the ability to design a distributed asynchronous processing system that ensures idempotency, data consistency, and reliable task execution under high concurrency.
System DesignOnsiteAPIIdempotencyAsync - AirwallexMediumSoftware EngineerDesign a High-Demand Ticketing System
Design a ticketing system for high-demand events. Connect requirements and APIs to data modeling, consistency, scaling, failure recovery, observability, and the important design trade-offs.
System DesignTechnical Screen - AirwallexMediumSoftware EngineerDesign a Large-File Analysis Report System
Tests system design skills in architecting a secure, multi-tenant pipeline for large file ingestion and asynchronous batch analytics with resumable uploads and idempotent job processing.
System DesignTechnical ScreenObject StorageDistributed SystemsIdempotency