← Amazon Interview Insights

Amazon·Software Engineer·Technical Phone Screen·Intermediate

Intermediate
Apr 2026Remote

Summary

Amazon phone screen for SWE, implementation round where they handed me a JSON events pipeline problem and asked me to build a filter-and-routing service from scratch in Java. Time pressure was the real story here, not the design itself.

Questions Asked (1)

Q1

Design and implement a service that receives a continuous stream of JSON events and routes each event to the appropriate output queue based on a set of configurable filter expressions. Only a JSON parser helper is provided.

System DesignAPI & IntegrationsTechnical Trade-offs
Author's notes

The scope of this thing surprised me.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints, then propose a high-level architecture with key components like event ingestion, filter engine, and routing. Discuss trade-offs in filter expression evaluation, scalability, and reliability, and outline a simple implementation plan using the provided JSON parser.

Pro tip: Emphasize the importance of decoupling the filter configuration from the routing logic to allow dynamic updates without service restarts, and discuss how to handle malformed events gracefully.

1. Clarify Requirements

Ask about expected event volume, latency requirements, filter expression complexity, and output queue types. Confirm whether filters can be updated at runtime and how to handle errors.

2. High-Level Design

Outline components: event receiver, filter engine, router, and output queues. Consider using a pub/sub model for scalability and decoupling.

3. Filter Engine Design

Decide on a filter expression language (e.g., JSONPath, simple predicates) and evaluation strategy. Discuss parsing and compiling filters for performance.

4. Routing and Delivery

Design how events are matched to filters and routed to queues. Consider ordering, at-least-once vs exactly-once semantics, and backpressure.

5. Implementation Plan

Sketch a simple implementation using the JSON parser, focusing on modularity and testability. Mention potential libraries for filter evaluation if allowed.

Key Points to Mention

  • Scalability: horizontal scaling of event consumers and filter evaluation
  • Fault tolerance: handling malformed JSON, filter errors, and queue failures
  • Dynamic configuration: updating filters without downtime
  • Performance: efficient filter matching, possibly using indexing or compiled expressions
  • Trade-offs: simplicity vs flexibility in filter language, latency vs throughput
  • Monitoring and metrics: tracking event flow, filter matches, and errors

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