← American Express Interview Insights

American Express·AI Engineer·Onsite - System Design / Architecture·Senior

Senior
May 2026

Summary

Thirty-minute system design case at Amex for an AI Engineer role. The whole thing was a deep dive on building a RAG pipeline end to end, from raw document ingestion all the way through evaluation and ops. Dense but interesting.

Questions Asked (5)

Q1

Design a Retrieval-Augmented Generation system over a corporate document corpus. Walk through the full pipeline from ingestion to generation, including retrieval strategy, evaluation, and operational concerns.

System DesignTechnical Trade-offsAdaptability & Ambiguity
Author's notes

This is a big open-ended one and I think I frontloaded too much time on chunking strategy and not enough on the access control piece, which came up later as a follow-up and I was a bit scrambled.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and constraints (e.g., document types, scale, latency, compliance) to show adaptability. Then walk through the pipeline stages—ingestion, indexing, retrieval, generation—highlighting trade-offs at each step. Finally, cover evaluation metrics and operational concerns like monitoring, scaling, and security, tying back to American Express's regulatory environment.

Pro tip: Emphasize hybrid retrieval (dense + sparse) and re-ranking to balance recall and precision, and discuss how you'd handle ambiguous queries with query expansion or clarification. Also, mention the importance of data privacy and access control, which is critical in financial services.

1. Clarify Requirements and Constraints

Ask about document types (PDFs, emails, etc.), corpus size, update frequency, latency requirements, and compliance needs (e.g., PII, GDPR). This demonstrates adaptability and ensures the design meets business needs.

2. Design Ingestion and Indexing Pipeline

Outline document parsing (OCR, layout analysis), chunking strategies (fixed-size, semantic), embedding model selection (domain-specific vs. general), and vector database choice (e.g., Pinecone, Weaviate). Discuss metadata extraction for filtering.

3. Define Retrieval Strategy

Propose hybrid retrieval combining dense (embedding-based) and sparse (BM25) methods, followed by re-ranking (e.g., cross-encoder). Discuss query understanding (expansion, decomposition) and handling of ambiguous queries.

4. Design Generation and Post-Processing

Select an LLM (e.g., GPT-4, Llama) with appropriate context window, and design prompts to include retrieved chunks. Implement citation and fact-checking mechanisms to ensure accuracy and reduce hallucinations.

5. Plan Evaluation and Operations

Define offline metrics (retrieval: recall@k, MRR; generation: faithfulness, relevance) and online metrics (user feedback, latency). Discuss monitoring, logging, A/B testing, scaling, and security (access control, encryption).

Key Points to Mention

  • Hybrid retrieval (dense + sparse) and re-ranking for improved accuracy
  • Chunking strategies and their impact on retrieval quality
  • Evaluation metrics for both retrieval and generation (e.g., RAGAS, faithfulness)
  • Operational concerns: latency, cost, scalability, and monitoring
  • Security and compliance: access control, PII redaction, audit trails
  • Handling ambiguous queries via query expansion or user clarification

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

Q2

How would you handle multi-tenant access control when users should only retrieve documents they're authorized to see?

System DesignTechnical Trade-offs
Author's notes

Fumbled this a bit.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the multi-tenant model (shared vs. isolated) and the retrieval context (RAG, search, API). Then propose a layered defense: enforce tenant isolation at the data layer (e.g., row-level security or separate indexes) and apply authorization filters at query time, with audit logging. Emphasize that security must be built into the retrieval pipeline, not bolted on after.

Pro tip: Mention that in RAG systems, you must filter at the vector database level using metadata (e.g., tenant_id) before similarity search, not after, to avoid leaking data through embeddings or scores. Also, discuss the trade-off between performance and security when using shared vs. dedicated indexes.

1. Clarify requirements and constraints

Ask about tenant scale, data sensitivity, latency requirements, and whether tenants share infrastructure. This shows you tailor solutions to business needs.

2. Choose an isolation strategy

Decide between shared database with row-level security, separate schemas, or separate databases/indexes per tenant. Discuss trade-offs in cost, complexity, and security.

3. Enforce authorization at query time

Implement filters that inject tenant_id and user permissions into every query, including vector searches. Use parameterized queries to prevent injection.

4. Secure the retrieval pipeline

For RAG, ensure metadata filtering happens before similarity search. Consider encryption, tokenization, and access controls on embeddings.

5. Monitor and audit

Log all access attempts, set up alerts for anomalies, and regularly test for cross-tenant leaks. This ensures ongoing compliance and trust.

Key Points to Mention

  • Row-level security (RLS) in databases like PostgreSQL for shared tables
  • Metadata filtering in vector databases (e.g., Pinecone, Weaviate) to enforce tenant isolation before similarity search
  • Role-Based Access Control (RBAC) or Attribute-Based Access Control (ABAC) for fine-grained permissions
  • Trade-offs between shared and isolated resources: cost, performance, and security
  • Audit logging and monitoring for compliance (e.g., financial regulations at American Express)
  • Encryption of data at rest and in transit, and tokenization of sensitive fields

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

Q3

What chunking strategy would you use and why? How does chunk size affect retrieval quality?

System DesignTechnical Trade-offs
Author's notes

Felt okay here.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the use case and data characteristics, then propose a hybrid chunking strategy (e.g., semantic + fixed-size with overlap) that balances retrieval granularity and context. Explain how chunk size impacts retrieval quality in terms of precision, recall, and latency, and justify your choice with trade-offs relevant to the role.

Pro tip: Mention that chunk size should be tuned empirically using retrieval metrics like MRR or NDCG, and that you'd consider the embedding model's max token limit and the downstream LLM's context window. This shows you think about end-to-end system performance, not just chunking in isolation.

1. Clarify requirements and data

Ask about the document types, query patterns, and latency/accuracy constraints to tailor the chunking strategy.

2. Propose a chunking strategy

Describe a hybrid approach: semantic chunking for logical units, with fixed-size fallback and overlap to preserve context.

3. Explain impact of chunk size

Discuss how smaller chunks improve precision but may lose context, while larger chunks improve recall but introduce noise and increase latency.

4. Address trade-offs and tuning

Explain how to evaluate and tune chunk size using retrieval metrics and A/B testing, considering embedding model limits and LLM context window.

5. Conclude with recommendation

Summarize your recommended strategy and why it balances the trade-offs for the given scenario.

Key Points to Mention

  • Semantic vs. fixed-size chunking and when to use each
  • Effect of chunk size on retrieval precision and recall
  • Overlap between chunks to maintain context
  • Embedding model token limits and LLM context window constraints
  • Evaluation metrics (e.g., MRR, NDCG) for tuning chunk size
  • Latency and cost implications of chunk size

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

Q4

How would you evaluate the RAG system, specifically around faithfulness and answer quality?

System DesignA/B Testing & Experimentation
Author's notes

I went straight to automated metrics and the interviewer asked about human eval too.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining faithfulness and answer quality with concrete metrics, then describe a layered evaluation pipeline combining automated metrics, LLM-as-a-judge, and human review. Emphasize how you would validate the evaluators themselves and integrate evaluation into CI/CD and A/B testing for continuous improvement.

Pro tip: Always validate your LLM judge against a human-labeled gold set and report inter-annotator agreement; this shows you understand that evaluation is itself a system that needs to be trustworthy.

1. Define metrics and success criteria

Clearly define faithfulness (e.g., factual consistency with retrieved context) and answer quality (e.g., relevance, completeness, fluency) with measurable metrics and target thresholds.

2. Build a golden dataset

Curate a diverse set of queries and reference answers, including edge cases and adversarial examples, to serve as ground truth for evaluation.

3. Implement automated evaluation

Use a combination of lexical (e.g., ROUGE, BLEU), semantic (e.g., BERTScore, embedding similarity), and model-based (e.g., NLI for faithfulness, LLM-as-a-judge for quality) metrics.

4. Validate evaluators and calibrate

Compare automated metrics against human judgments on a subset, measure correlation and agreement, and calibrate thresholds to ensure reliability.

5. Integrate into CI/CD and A/B testing

Automate evaluation in the deployment pipeline, monitor production metrics, and run A/B tests to compare model versions and measure real-world impact.

Key Points to Mention

  • Faithfulness metrics: NLI-based entailment, factual consistency scores, and attribution to retrieved sources.
  • Answer quality metrics: relevance, completeness, fluency, and task-specific measures like F1 or exact match.
  • LLM-as-a-judge: using a strong LLM to score responses, with prompt engineering and bias mitigation.
  • Human evaluation: gold-standard annotation, inter-annotator agreement (e.g., Cohen's kappa), and periodic audits.
  • A/B testing: online evaluation with user engagement, satisfaction, and business KPIs.
  • Continuous monitoring: drift detection, feedback loops, and retraining triggers.

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

Q5

How would you keep the index fresh as documents are updated or deleted in the corpus?

System DesignTechnical Trade-offs
Author's notes

Re-indexing on doc changes is one of those things that sounds boring until you're actually building it.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scale and latency requirements, then propose a hybrid strategy combining incremental indexing for real-time updates with periodic full reindexing for consistency. Discuss trade-offs between freshness, cost, and complexity, and highlight monitoring and fallback mechanisms.

Pro tip: Emphasize the importance of idempotent update operations and a dead-letter queue for failed updates to ensure reliability at scale, which shows production maturity.

1. Clarify Requirements

Ask about update frequency, acceptable latency, corpus size, and consistency needs to tailor the solution.

2. Choose Indexing Strategy

Propose incremental indexing for real-time updates and periodic full reindexing to handle deletions and drift.

3. Handle Deletions and Updates

Use soft deletes, tombstones, or versioning to manage deletions and updates without breaking the index.

4. Ensure Reliability

Implement idempotent operations, retries, and a dead-letter queue for failed updates to maintain consistency.

5. Monitor and Optimize

Set up metrics for index freshness, query latency, and error rates, and adjust batch sizes and schedules accordingly.

Key Points to Mention

  • Incremental indexing vs. full reindexing trade-offs
  • Handling deletions with soft deletes or tombstones
  • Idempotency and exactly-once semantics for updates
  • Use of change data capture (CDC) or message queues for streaming updates
  • Monitoring index freshness and query performance
  • Cost and resource considerations for large-scale corpora

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