Level: Senior-Level
Round: Full Journey · Type: Multiple Types · Difficulty: 3/10 · Duration: 180 min · Interviewer: Unfriendly
Topics: REST API, Algorithms, Java, Garbage Collection, Heap, Stack, Multi-threading, Immutable Class, Equals and Hashcode, System Design, Behavioral Questions
Location: New York, NY, US
Interview date: 2022-02-15
The HR person gave me a meeting link. I thought I would be talking with HR, but I was asked to turn on my video and found an engineer interviewing me. The interviewer introduced himself and his team, then asked me to introduce myself and why I chose American Express. I wanted to say that they found me, but I didn't.
I was asked about my resume, how to create a REST API using Spring, how to secure the API, and then I was given a very simple algorithm question.
Two engineers asked me many basic Java questions, such as Garbage Collector, Heap, Stack, Multi-Thread, Immutable Class, equals() and hashCode(). They asked for my advice on how to coach junior engineers to write testable code.
In the remaining 30 minutes, I was given a simple problem that can't even be called an algorithm. Given a credit card String and some rules, I had to determine if it was a valid credit card and which company's card it was.
I spent the first 30 minutes discussing my resume. In the last 30 minutes, I designed a REST API endpoint. There was no deep dive into system architecture, but more focus on the design of the API's request and response. The problem was an API to support automatic credit card repayment, like the monthly automatic repayment we usually use, but behind the API.