American Express | Full Stack Developer | Gurgaon | Mar 2023 [Offer]

american express logo
american express
engineer iiigurgaon1.5 yearsOffer
August 3, 20233 reads

Summary

I interviewed for an Engineer III role at American Express in Gurgaon and successfully received an offer after completing three rigorous rounds that focused on React, Java, system design, and behavioral aspects.

Full Experience

Application Process

In March 2023, a recruiter reached out to me after finding my profile on Naukri.com. The entire interview process consisted of three online rounds and took about one month to complete.

Interview Round 1 (Technical: 1.5 hr)

This round had three interviewers: two with 1.5 years of experience and one with over 8 years of experience. I had previously informed them that I possessed basic knowledge of React JS, so the questions in that area were fundamental.

General & React JS Questions:

  • I started by introducing myself.
  • I then discussed my current project in detail.
  • The React questions covered foundational topics:
    • Do I use functional or class components?
    • How do I transfer data between components?
    • Explain stateless vs. stateful components with examples.
    • Describe the React lifecycle in detail, including scenarios for each stage.
    • Explain ComponentDidMount and ComponentWillUnmount with code.
  • An output code question related to React was given on chat, and I was asked to share my screen to solve it.

Java Questions:

  • What is a marker interface? Explain in detail with examples.
  • Describe the thread lifecycle.
  • What are the different methods to create a thread?
  • Discuss ways to manage deadlock.
  • Explain serialization/deserialization in detail.
  • What Spring and Java versions am I using in my current company?
  • What are the differences in features between Java 8 and earlier versions?
  • Describe different types of memory and how Java utilizes them.
  • What is immutability? Why is String immutable in Java?
  • Explain the singleton class with code.
  • Have I used Reflection API or Stream API?

Coding Problem:

I was given a problem involving two classes: class Student { id, section, house } and class School { id, name, Student id }. Given a List<Student> students and a List<School> schools, the task was to create a map where the key is the school name, and the value is a list of student IDs associated with that school.

Interview Round 2 (Technical: 1.5 hrs)

This round involved two senior engineers, one specializing in frontend and the other in backend.

General & React JS Questions:

  • The round began with me introducing myself and discussing my current project again.
  • The React questions moved towards design and concepts:
    • If 10,000 requests are coming to my API, how would I handle it?
    • Explain JWT authentication in detail, as I had mentioned working with it.
    • Describe the types of memory in a browser.
    • How would I handle a scenario where I've logged out of Facebook from one tab, but it needs to log out from all other open tabs in the browser using React?
    • What is middleware, and have I worked with any?
    • Another question on React lifecycle was asked.

Java Questions:

  • What is the Stream API?
  • Several questions on multithreading concepts.
  • An output question related to call by value/call by reference.
  • Discuss exception handling in detail: types of exceptions, common exceptions faced, and resolution strategies. An output question on exception handling was also included.
  • Explain the difference between Throwable and throws.

Interview Round 3 (Tech + Managerial: 1 hr)

This final round was heavily based on my resume, discussions around my current project, and behavioral questions.

  • I was asked to explain my project in depth.
  • Which REST API methods have I used in my project?
  • How do I optimize my code if I'm getting multiple requests simultaneously?
  • Explain the application deployment process in my current company.
  • How do I resolve merge conflicts in Git?
  • Why am I leaving my current company?
  • What products of American Express am I aware of?

Post Interviews

The recruiter reached out to me right after my final round to inform me that I had been selected. Within one week, they requested my details, and I received my offer letter two weeks after my selection.

Interview Questions (37)

Q1
Tell me about yourself
Behavioral

The interview started with a common introductory question: 'Tell me about yourself.'

Q2
Current Project Discussion
Other

I was asked to describe the current project I am working on, focusing on its details and my role.

Q3
React: Functional vs Class Components
Other

I was asked whether I use functional or class components in React and to discuss the differences.

Q4
React: Data Transfer Between Components
Other

Explain how data is transferred between different components in React applications.

Q5
React: Stateless vs Stateful Components
Other

Describe stateless vs stateful components in React, providing examples for each.

Q6
React Lifecycle
Other

Explain the React component lifecycle in detail and discuss scenarios where each lifecycle method is used.

Q7
React: ComponentDidMount and ComponentWillUnmount
Other

Explain the ComponentDidMount and ComponentWillUnmount lifecycle methods with code examples.

Q8
Java: Marker Interface
Other

What is a marker interface in Java? Provide details and examples.

Q9
Java: Thread Lifecycle
Other

Describe the lifecycle of a thread in Java.

Q10
Java: Methods to Create a Thread
Other

What are the different methods available to create a thread in Java?

Q11
Java: Managing Deadlock
Other

Discuss various ways to manage and prevent deadlock in Java applications.

Q12
Java: Serialization/Deserialization
Other

Explain serialization and deserialization in Java in detail.

Q13
Java: Tech Stack Versions
Other

What Spring version and Java version are you currently using in your company?

Q14
Java: Java 8 Features
Other

Describe the differences in features between Java 8 and earlier versions.

Q15
Java: Memory Management
Other

Explain different types of memory in Java and how Java utilizes them.

Q16
Java: Immutability and String
Other

What is immutability in Java? Explain why String is immutable in Java.

Q17
Java: Singleton Class
Other

Explain the concept of a singleton class in Java and provide a code example.

Q18
Java: Reflection/Stream API Usage
Other

Have you used Java Reflection API or Stream API in your projects?

Q19
Map School Name to Student IDs
Data Structures & AlgorithmsMedium

Given two classes: class Student { int id; String section; String house; } and class School { int id; String name; int student_id; }. You are provided with List<Student> students and List<School> schools. The task is to create a map where the key is the school name and the value is a list of student IDs associated with that school.

Q20
Tell me about yourself
Behavioral

The second round also started with an introduction: 'Tell me about yourself.'

Q21
Current Project Discussion
Other

Similar to the first round, I was asked to discuss my current project.

Q22
React: API Request Handling at Scale
System DesignMedium

If 10,000 requests are coming up on your API, how would you handle them in a React application context?

Q23
JWT Authentication
System Design

Explain JWT (JSON Web Token) authentication in detail, especially since I mentioned working with it.

Q24
Browser Memory Types
Other

Describe the different types of memory available in a browser.

Q25
React: Cross-Tab Logout
System DesignMedium

Suppose you have opened Facebook in multiple browser tabs. If you log out from one tab, how would you ensure that the user is logged out from all other open tabs using React?

Q26
Middleware Concept and Experience
Other

What is middleware? Have you worked on any middleware implementations?

Q27
React Lifecycle
Other

Again, I was asked about the React component lifecycle.

Q28
Java: Stream API
Other

Explain the Java Stream API and its functionalities.

Q29
Java: Exception Handling
Other

Discuss exception handling in detail. What are the different types of exceptions? What are common exceptions you face, and how do you resolve them? An output question on exception handling was also presented.

Q30
Java: Throwable vs Throws
Other

Explain the difference between Throwable and throws keywords in Java.

Q31
Explain your project
Other

This round focused heavily on my resume, and I was asked to explain my current project in detail.

Q32
Used REST API Methods
Other

What REST API methods have you used in your project?

Q33
Code Optimization for Concurrent Requests
System DesignMedium

How do you optimize your code if you are receiving multiple requests simultaneously?

Q34
Application Deployment Process
Other

Explain the process of deploying applications in your current company.

Q35
Resolving Git Merge Conflicts
Other

How do you resolve merge conflicts when working with Git?

Q36
Why Leaving Current Company?
Behavioral

I was asked about my reasons for leaving my current company.

Q37
Awareness of AmEx Products
Behavioral

What products of American Express are you aware of?

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!