American Express interview experience Real time questions & tips from candidates to crack your interview

SDE - Intern

American Express
upvote
share-icon
4 rounds | 8 Coding problems

Interview preparation journey

expand-icon
Preparation
Duration: 2.5 months
Topics: C++, Data Structures, Algorithms, Operating Systems, Object Oriented Programming, Database Management System, Computer Networks
Tip
Tip

Tip 1 : Have confidence in Data Structures and Algorithms. Have your concepts very clear and then pick one coding platform and try to practice around 7-10 questions everyday with varying difficulty and different topics. Also solving questions is not enough, try to optimize it. Analyze its space and time complexities.
Tip 2 : Study properly about OOPS concepts. Coding Ninja's Data Structures and Algorithms course is great for preparing the OOPS concepts specifically. For OS and DBMS refer to your college notes and Coding Ninjas articles.
Tip 3 : Keep participating in coding contests. It helps you increase your problem solving skills.

Application process
Where: Campus
Eligibility: Above 7 CGPA
Resume Tip
Resume tip

Tip 1 : Add those skills, projects and achievements which are relevant to your role.
Tip 2 : Do not fake any skills, projects or achievements. 
Tip 3 : You do need to have a several number of projects. 1 good project with good knowledge of it will also do fine. The similar rule goes for skills also.
Tip 4 : Try to write achievements which proves your technical skills, leadership quality, communication skills or teamwork.

Interview rounds

01
Round
Easy
Online Coding Test
Duration120 minutes
Interview date28 Aug 2020
Coding problem2

The coding round was at 11 am in the morning. The questions were of medium level. The questions were purely based on Data Structures and Algorithms.

1. Sliding Maximum

Moderate
25m average time
85% success
0/80
Asked in companies
AmazonCognizantInfosys

You are given an array 'ARR' of integers of length 'N' and a positive integer 'K'. You need to find the maximum elements for each and every contiguous subarray of size K of the array.

For example
'ARR' =  [3, 4, -1, 1, 5] and 'K' = 3
Output =  [4, 4, 5]

Since the maximum element of the first subarray of length three ([3, 4, -1]) is 4, the maximum element of the second subarray of length three ([4, -1, 1]) is also 4 and the maximum element of the last subarray of length three ([-1, 1, 5]) is 5, so you need to return [4, 4, 5]. 
Try solving now

2. Longest Sub-string with at most K Distinct Characters

Moderate
35m average time
65% success
0/80
Asked in companies
GoogleAmazonSAP Labs

You are given string S of length N, and an integer K. Your task is to find the length of the longest substring that contains at most K distinct characters.

Try solving now
02
Round
Easy
Face to Face
Duration45 minutes
Interview date31 Aug 2020
Coding problem1

I was selected for the interview. The interview was conducted early in the morning at 10 am. The interviewer was very friendly and calm.

1. Technical Questions

1. Tell in detail about your one project. 
2. Questions related to the project were followed, such as what challenges I faced during the course of making the project.
3. What is copy constructor and where it can be used?
4. What is the difference between a reference and a pointer?
5. What are your interests?

6. Is there any technology that interests you and you would like to work upon?

03
Round
Easy
Telephonic
Duration30 minutes
Interview date1 Sep 2020
Coding problem2

This round was a mix of technical, puzzles and HR. The interview was fairly easy, The interviewer asked for my introduction and continued with the interview then.

1. Stack using queue

Moderate
25m average time
65% success
0/80
Asked in companies
AmazonDunzoOptum

Implement a Stack Data Structure specifically to store integer data using two Queues.


There should be two data members, both being Queues to store the data internally. You may use the inbuilt Queue.


Implement the following public functions :

1. Constructor:
It initializes the data members(queues) as required.

2. push(data) :
This function should take one argument of type integer. It pushes the element into the stack and returns nothing.

3. pop() :
It pops the element from the top of the stack and, in turn, returns the element being popped or deleted. In case the stack is empty, it returns -1.

4. top :
It returns the element being kept at the top of the stack. In case the stack is empty, it returns -1.

5. size() :
It returns the size of the stack at any given instance of time.

6. isEmpty() :
It returns a boolean value indicating whether the stack is empty or not.
Operations Performed on the Stack:
Query-1(Denoted by an integer 1): Pushes an integer data to the stack. (push function)

Query-2(Denoted by an integer 2): Pops the data kept at the top of the stack and returns it to the caller. (pop function)

Query-3(Denoted by an integer 3): Fetches and returns the data being kept at the top of the stack but doesn't remove it, unlike the pop function. (top function)

Query-4(Denoted by an integer 4): Returns the current size of the stack. (size function)

Query-5(Denoted by an integer 5): Returns a boolean value denoting whether the stack is empty or not. (isEmpty function)
Example
Operations: 
1 5
1 10
2
3
4

Enqueue operation 1 5: We insert 5 at the back of the queue.
  Queue: [5]

Enqueue operation 1 10: We insert 10 at the back of the queue.
  Queue: [5, 10]

Dequeue operation 2: We remove the element from the front of the queue, which is 5, and print it.
  Output: 5
  Queue: [10]

Peek operation 3: We return the element present at the front of the queue, which is 10, without removing it.
  Output: 10
  Queue: [10]

IsEmpty operation 4: We check if the queue is empty.
  Output: False
  Queue: [10]
Try solving now

2. Puzzle

There is a room with a door (closed) and three light bulbs. Outside the room, there are three switches, connected to the bulbs. You may manipulate the switches as you wish, but once you open the door you can’t change them. Identify each switch with its bulb. All bulbs are in working condition.

04
Round
Easy
Telephonic
Duration45 minutes
Interview date1 Sep 2020
Coding problem3

This was the last round for getting selected as an intern. However, this was a pure technical round. Only coding questions were asked. Also, at the end he asked me the question, Why American express?

1. Detect and Remove Loop

Moderate
10m average time
90% success
0/80
Asked in companies
Paytm (One97 Communications Limited)OracleDelhivery

Given a singly linked list, you have to detect the loop and remove the loop from the linked list, if present. You have to make changes in the given linked list itself and return the updated linked list.

Expected Complexity: Try doing it in O(n) time complexity and O(1) space complexity. Here, n is the number of nodes in the linked list.

Problem approach

1. Traverse linked list using two pointers, that is, slow and fast pointer
2. Move slow pointer by one and fast pointerby two.
3. If these pointers meet at the same node then there is a loop. If pointers do not meet then linked list doesn’t have a loop.

Try solving now

2. DBMS Questions

Explain Natural Join, Cross Join, Right Outer and Left Outer Join with diagrams. Also write queries using GROUP BY and HAVING.

3. Interval List Intersection

Easy
15m average time
85% success
0/40
Asked in companies
FacebookIntuitAmerican Express

You have been given two sorted arrays/lists of closed intervals ‘INTERVAL1’ and ‘INTERVAL2’. A closed interval [x, y] with x < y denotes the set of real numbers ‘z’ with x <= z <= y.

Now, your task is to find the intersection of these two interval lists.

The intersection of two closed intervals is a set of real numbers that are either empty or represented as a closed interval. For example, the intersection of [0, 2] and [1, 3] is [1, 2].

Input

Note :

1. Each list of intervals is pairwise disjoint.
2. 'INTERVAL1' and 'INTERVAL2' don't contain duplicate intervals.
3. If there is no intersection present in 'INTERVAL1' and 'INTERVAL2' return an empty array/list.

For example, if INTERVAL1 = [[0, 5], [7, 9], [10, 11]] and INTERVAL2 = [[0, 2], [3, 7], [12, 15]], then the intersection array/list will be [[0, 2], [3, 5], [7, 7]].

Try solving now

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

Which operator is used for exponentiation in Python?

Choose another skill to practice
Similar interview experiences
company logo
SDE - Intern
4 rounds | 10 problems
Interviewed by American Express
2153 views
0 comments
0 upvotes
company logo
SDE - Intern
1 rounds | 1 problems
Interviewed by American Express
1803 views
1 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 5 problems
Interviewed by American Express
613 views
0 comments
0 upvotes
company logo
SDE - Intern
4 rounds | 7 problems
Interviewed by American Express
919 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - Intern
3 rounds | 6 problems
Interviewed by Amazon
13856 views
4 comments
0 upvotes
company logo
SDE - Intern
4 rounds | 7 problems
Interviewed by Microsoft
13096 views
1 comments
0 upvotes
company logo
SDE - Intern
2 rounds | 4 problems
Interviewed by Amazon
9196 views
2 comments
0 upvotes