← Paxos Interview Insights

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

SeniorPrefer not to say
Apr 2026

Summary

System design round at Paxos for a software engineering role, centered on a market surveillance platform with some tricky routing and scalability constraints. The PM framing threw me a little but the core problem was pure distributed systems.

Questions Asked (1)

Q1

Design a market surveillance platform for financial exchanges that ingests trading orders and detects potential market manipulation, supporting two separate detection algorithm types: one that must process all orders from a given trader on the same instance, and another that routes all orders from a given exchange to a single dedicated instance. Each algorithm type can be independently scaled, and the system must handle very high throughput with strong availability.

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

This one took me a minute to untangle.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then design a high-level architecture that separates ingestion, processing, and detection layers. Focus on how to partition data to satisfy the two algorithm types: one keyed by trader and one keyed by exchange, ensuring independent scaling and high availability. Discuss trade-offs between consistency, latency, and throughput, and propose a concrete technology stack.

Pro tip: Emphasize that the partitioning strategy is the core challenge: use a message queue with key-based routing (e.g., Kafka) to ensure orders for a given trader or exchange go to the same partition, and design stateless processing instances that can scale horizontally. Also, mention the need for a distributed state store for algorithms that require maintaining state across orders.

1. Clarify Requirements and Constraints

Ask about expected throughput (orders per second), latency requirements, data retention, and consistency needs. Confirm that the two algorithm types must be independently scalable and that strong availability is critical.

2. High-Level Architecture

Propose a layered architecture: ingestion layer (API gateway, load balancers), message queue (e.g., Kafka) for buffering and routing, processing layer (stateless workers for each algorithm type), and storage layer (for state and results). Ensure each layer can scale independently.

3. Partitioning and Routing Strategy

Design partitioning to satisfy algorithm requirements: for trader-based algorithms, partition by trader ID; for exchange-based algorithms, partition by exchange ID. Use a message queue with key-based partitioning to route messages to the correct consumer group. Ensure that each partition is processed by a single instance to maintain state consistency.

4. Scaling and Availability

Explain how to scale each algorithm type independently by adding more consumers/partitions. For high availability, use replication for the message queue and state store, deploy across multiple availability zones, and implement failover mechanisms. Discuss trade-offs between consistency and availability (e.g., CAP theorem).

5. Data Storage and State Management

Choose a distributed state store (e.g., Redis, Cassandra, or a custom in-memory store with replication) for algorithms that need to maintain state across orders. For trader-based algorithms, state can be sharded by trader ID; for exchange-based, by exchange ID. Ensure durability and low-latency access.

Key Points to Mention

  • Use of Kafka or similar message queue with key-based partitioning to route orders to the correct processing instance.
  • Independent scaling of each algorithm type by having separate consumer groups and partitions.
  • State management: distributed cache or database for maintaining per-trader or per-exchange state, with replication for fault tolerance.
  • High availability: multi-AZ deployment, replication, and automatic failover; consider active-active or active-passive setups.
  • Trade-offs: latency vs. consistency, exactly-once vs. at-least-once processing, and cost vs. scalability.
  • Monitoring and alerting: track throughput, latency, and detection accuracy; implement backpressure and dead-letter queues.

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