[ OK ]de64919b-67c9-4e5f-abeb-0f23721eff61 — full writeup
[ INFO ]category: Behavioral · Multiple Types difficulty: 6 freq: first seen: 2026-04-07
[6][MULTIPLE TYPES]Behavioral QuestionsAI System DesignRAG (Retrieval Augmented Generation)Document RetrievalDebuggingPython
$catproblem.md
American Express — AI Engineer ✅ Passed
Level: Senior-Level
Round: Full Journey · Type: Multiple Types · Difficulty: 6/10 · Duration: 120 min · Interviewer: Neutral
Topics: Behavioral Questions, AI System Design, RAG (Retrieval Augmented Generation), Document Retrieval, Debugging, Python
Location: New York, NY, US
Interview date: 2026-01-15
Summary
Interview Rounds Overview
Round 1: Technical Interview (Behavioral and AI System)
Round 2: Karat Interview (AI System Design and Coding)
Details
Round 1
I interviewed with a principal engineer for an hour. I was asked behavioral questions and AI system design questions. These questions were sometimes related to my previous project experiences, or answered based on the interviewer's examples. The questions included:
Your Key Project Stories
What is an agent vs LLM vs RAG?
How do agents get capabilities?
Memory in Agents
Performance Evaluation
Safety & Prompt Injection
Concurrency & Multi-User Systems
Long-Running Multi-Agent Systems
How to build durable systems?
Round 2
I had a Karat interview, scheduled in the evening PST, so the interviewer was a person who spoke English and was very friendly. The interview consisted of two parts:
30 minutes: AI system design case related to a RAG + Document Retrieval system. I was asked what type of materials the company might have and what technical challenges I would expect to encounter when building a system to support these type of queries.
20 minutes: Karat debugging and reading comprehension. The key was not the amount of code, but catching the test failure signals. There were several Python classes and objects. I had to debug and identify which function tests were failing, why they were failing, and how to fix them. There were two questions. One question involved modifying an existing function, and the other involved writing a new function.