American Express · Primly Community

American Express machine learning engineer interview: what they actually tested and how the ML org works

ml_mike · 5 replies

Did the Amex MLE loop for a senior role on their fraud detection ML platform team. Six rounds total, which is a lot. Writing this up because ML-specific detail about Amex's process is sparse.

Amex has a real ML org. This isn't a company with a couple data scientists bolted on. They have dedicated fraud ML, credit risk ML, personalization/recommendations, and NLP/document processing teams. The role I interviewed for was on fraud signal modeling, production system focus.

Round 1 (recruiter): Standard, but they asked about my comfort with MLOps and model serving infra, not just modeling. Heads up.

Round 2 (ML fundamentals phone screen): Bias-variance tradeoff, precision vs. recall and when you care about each (highly relevant for fraud: false negatives cost you fraud losses, false positives cost you customer trust), class imbalance handling. I got asked specifically how I'd handle a dataset where fraud rate is 0.1%. We talked SMOTE, class weighting, threshold tuning, and precision-recall curve analysis instead of AUC-ROC for imbalanced cases. Know this if you're going for fraud ML.

Round 3 (ML system design): Design a feature store and real-time inference pipeline for fraud scoring at transaction time. Latency constraint: <100ms. I walked through offline feature computation, low-latency feature serving (Redis, Feast), a model serving layer (TorchServe or Triton), A/B testing and shadow scoring for model deployment. They liked the shadow scoring piece. They pushed on: what do you do if the model goes stale between retraining cycles?

Round 4 (coding): Python, focused on data manipulation and a small model eval script. One LeetCode-style problem (medium), one data task. Not hard but time-limited.

Round 5 (behavioral, ML-specific): "Tell me about a model you built that underperformed in production vs. evaluation." They want to know if you've shipped real things and encountered reality. Have a story where something didn't work as expected.

Round 6 (senior ML leader): More conversational. They asked about my philosophy on model monitoring and what thresholds I'd use to trigger a retrain vs. a rollback.

Offer I declined (took a different role): $190k base, 18% bonus, some restricted cash units. The work seemed genuinely interesting. Amex fraud ML is not a toy problem.

5 replies

ds_dmitri

The precision-recall vs. AUC-ROC point for fraud is so important. AUC is a terrible primary metric for imbalanced fraud data and a lot of candidates just default to it. Good that you called this out.

numbers_only

Restricted cash units instead of equity is an Amex thing. It vests like equity but it's cash. No stock appreciation upside but also no downside. For a company that doesn't have volatile stock movement it's actually reasonable.

hardware_hugo

<100ms latency constraint at transaction scale is genuinely hard engineering. Respect for the ML orgs doing this well. It's not just a model training problem.

market_realist

Six rounds is a lot. Did any of them feel redundant? Or was each round clearly testing something different?

ml_mike

Rounds 4 and 5 felt like they could have been combined. The coding round was clearly a checkbox more than a real filter. The rest had distinct focuses. But six rounds for a senior MLE at a bank is probably just what it is.