American Express Interview Experience for SDE (6-months Internship+FTE)
American Express came to our college on 15th September 2020.
Round 1(OT): We had to finish 3 questions within 1.5 hours. I finished in 58 mins. The following questions were asked:
- Check whether a given point lies inside a triangle or not.
- Given a string consisting of lowercase letters of the English alphabets, we must split the string into a minimal number of substrings in such a way that no letter occurs more than once in a substring. Return the minimum number of substrings.
- Write a function ‘Solution’ that, given an array, A consisting of N integers, returns the number of fragments of A whose sum equals 0. Return -1 if this number exceeds 1,000,000,000. This problem is similar to Number of subarrays having sum exactly equal to k. Problem link.
Round 2(Technical): This round went on for 45+ mins.
- Started with an introduction.
- Determine the number of set bits in a number(both signed and unsigned). They’ll focus on corner cases mostly for any coding question.
- Describe all notations used for calculating the time complexity of a problem. Followed up with a couple of numerical to calculate time complexity.
- Asked me about my favorite subject(I mentioned Operating Systems).
- How scheduling works(wanted a thorough understanding and explanation of the working).
- What is pre-amption? How priority scheduling works(wanted to know the implementation). Explain the whole process including context switches and how we store the states.
- How do we run a bigger program on a system with less RAM (Concept of virtual memory).
What is swapping? (Again wanted a thorough explanation, I kind of got stuck a little bit here).
Round 3(Technical): This round went on for 45 minutes.
- Introduce yourself.
- Write a function to return all duplicate elements in an array. I started with a brute-force approach and further optimized it. He asked me the difference between both approaches and asked me about how to determine which approach to use.
- Explain your project. (I explained it in layman’s terms and in sequence. Go into minute technical details only when asked. There were no counter questions).
- Tell me about your strengths and weaknesses.
- Difference between design-time polymorphism and run-time polymorphism. (I used real-life examples).
- Have you done any project on DBMS(I said no, but feel free to ask me anything). Then he asked me the concept of normalization, why we use normalization, and explain all forms of normalization.
It was the end of the interview, told me to ask him any questions. I asked him about the recent technologies AmEx is working upon.
Round 4(HR): This round went on for about an hour.
- How your day is going? What went right today?
- How do you evaluate yourself based upon the previous rounds?
- If you have to give yourself a tagline, what would it be?
- Since your major is not from CSE, how would you adapt to the software role, if you get it?
- There were a plethora of situation-based questions. For example, if you have an important project going on but some other department of your domain wants you to switch to their department, what would you do?
In the end, 4 were selected for FTE, and 4 were selected for a 6-month internship, including me.