American Express recently visited Punjab Engineering College, Chandigarh for placements offering Internship+Full Time offers for TECH as well as EDA/CFR roles. The recruitment process of Amex consisted of 3 rounds for both the roles.
There was a CGPA criteria of 7.0 and was open to all circuital branches.
Online Test (29.08.2020): It consisted of 3 coding questions which were purely based on Data Structures and Algorithms.
- Find the length of the longest switching sub-array. An array is called switching if all numbers in even positions are equal and all numbers in odd positions are equal.
- It was a long passage question on Dynamic Programming but the solution was really easy.
- Given a string S consisting of N lowercase letters, return the minimum number of letters that must be deleted to obtain a word in which every letter occurs a unique number of times.
"aaaabbbb" should return 1, as when we delete
1 a or 1 b , a and b will have different frequencies.
The major point to note in the coding round was that they did not have any time or space limit, so brute force solutions were also accepted.
The result of my test was declared just as the test ended and I scored a 100%, but they took a long time to release the final shortlist. There was a gap of about a week between the test and interviews.
Interview Day (05.09.2020): Tech Role and Analyst, 19, and 23 people respectively were shortlisted for the interviews. Fortunately, I was shortlisted for both the roles.
Round 1: It was a Technical plus HR round that lasted for 30 minutes.
Print the two patterns.
You are given a number if the number is positive, then
- If n is divisible by 3, print “GO”
- If n is divisible by 5, print “SLEEP”
- If n is divisible by both 3 and 5, print “RETIRE”
If the number is = 0, then throw an exception and print that you have entered 0. If the number is negative, then throw an exception and print that you have entered a negative number.
- Where do you see yourself after 2-3 years?
- There was also some discussion on extra-curricular activities that I mentioned in the resume.
- What irritates you? This was a funny one.
- Some discussion on projects.
- What do you want to know about me?
- What are your relations with your colleagues and teachers?
Round 2: This was just a 13 minutes interview wherein it took 3 min for my intro., so 10 min.
- How many stacks are used to implement a queue?
- What is the difference between a reference and a pointer? Explain with an example.
- Puzzle: There is a bulb in a room, you are outside the room and there are 3 switches, what is the minimum number of times you need to open the door to know to which switch the bulb belongs.
- What are your interests?
- What projects have you done and your field of interest?
Round 3: This round was purely technical and lasted for 45 min, no introduction straight to the point.
- Given a linked list of characters, tell if it is a palindrome linked list or not.
I gave the two pointer approach. Then he said what if we are provided with the length of the list. I said that we will move forward in the list till n/2 nodes and then the same approach as above. Then he said what if we had to do it with a stack. I said we will add elements into the stack till n/2 nodes and then start popping elements while simultaneously traversing the linked list from the (n/2+1)th node till n if the character at the top of the stack and the current character match. Finally, if the stack is empty then will return true else false.
Question on DBMS: You are given a student table and a course table with primary keys -> roll number and course_id in each respectively. Since we know that a student can enroll in many courses and a course can be taken by many students, so how will you establish normalization here in many to many relationships.
We will create a third table that will store only two columns which are the Primary Keys of both the tables and they together can uniquely identify records in both the tables.
I thought of it but did not reach the solution at once, it took me 3 – 4 attempts for it but he didn’t tell me anything, and finally, I got to the solution.
My preference was the Tech Role, so as I was selected in this, I never had to give interviews for the Analyst role. In total 5 people were selected in the Analyst profile and 4 in the Tech profile.
In the end, I was offered a 6 months internship at Amex.
- Remain calm and confident while answering them.
- Having a positive attitude while talking to them has a great impact on your interview.
- Practice lots of questions from GeeksforGeeks and surely enroll in the Self Paced DSA course to clear all your concepts of DSA.