Deutsche Bank came to our college for recruitment of FTE, in August 2020. The process consisted of 1 coding round, 2 technical interviews, and 1 managerial round, and 1 HR round. (Total 5 rounds)
Coding round: (90 minutes) The coding round consisted of 3 questions and was conducted on Hackerearth. (Total 120 marks)
- Q1: (20 marks) You are standing on the circumference of a circle of radius 10^10000. You can take steps in either the clockwise direction or the anticlockwise direction. Given a string consisting of ‘A’s for steps taken in the anticlockwise direction, ‘C’s for steps taken in the clockwise direction and ‘?’s for steps which can be considered for either direction, find the maximum distance reached from the initial position.
Input: AAAACC??AA? Output: 7
- Q2: (50 marks) Given an array of integers, you can perform any number of replacement operations on the elements in the array, such that supposing there are two elements a and b. You can put a+b in place of an only if 2*a>=b and you can replace similarly replace b with a+b only if 2*b>=a. Find the maximum number of positions the final element can be in.
Input: [1,3,4] Output: 2
- Q3: (50 marks) Find the maximum ways you can move to the nth floor of a building using three moves. Suppose you are on the ith floor, you can move either to the (i+1)th floor or to the (i+2)th floor or to the (i+3)th floor, but you can make the last move only k times. This problem was based on Dynamic Programming.
I solved Q1 and Q3 completely and got 30/50 in Q2.
33 students were selected from the first round. I was one of them. 🙂
First Technical Round: (45 minutes)
The interviewer asked me to introduce myself. After the introduction, she delved straight into technical questions. (No resume based questions in this round)
- Write a code to reverse a linked list (iteratively).
- Write a code to invert a binary tree.
- Favorite sorting algorithm.
- Implement (write code) merge sort on an array.
- Difference between quick sort and merge sort.
- Difference between arrays and linked lists.
- Difference between abstract classes and interfaces.
- Polymorphism and its types in Java. (Static and Dynamic Binding)
- Linear Regression ML problem (because I mentioned ML was one of my strengths).
- Puzzle: Place numbers 1 to 9 in a Circle such that sum of every triplet in a straight line is 15
- Discussion of the coin change problem.
- Write the main function for a basic problem in Java and then asked me to describe each keyword in the function prototype of the main.
- Is it necessary for the main function to be public?
- The time complexity for all the questions was asked.
24 people got shortlisted from this round (including me) 🙂
Second Technical Round: (45 minutes)
This interview was more focused on my resume, past experiences, projects, and problem-solving skills. The interviewer was very nice and introduced himself at first. He asked me to introduce myself, and he was very interested in my internships. We had a lengthy discussion on the projects I had worked on during my internships, and he kept asking me questions on them. Then he gave me a modified problem statement for one of my projects and asked me to implement an approach to solve it, which I did successfully. Since both of my internships and almost all of my projects were based on Deep Learning, he asked me technical questions related to them, and I happily answered all of them.
Next, he gave me a problem involving dynamic data structures and Machine Learning to be implemented in a vending machine.
Next, he gave me a scenario of a transaction failure in a database update and asked me to detect and classify the relations on the basis of some specific anomalies.
Finally, he gave me another scenario-based question on operating systems and multi-processing. I was required to suggest ways to develop a system of parsing through millions of files on a daily basis with a multi-processed approach.
At the end of the interview, he asked me whether I had any questions regarding the company, and I asked him one which he was very happy to answer.
This round was supposed to go on for 45 minutes, but it went on for almost an hour and thirty minutes, and for me, it was the most exciting round.
Tip: Never lie/exaggerate on your resume. You don’t always need to reach to the most correct/optimum answer. It is your problem-solving approach that the interviewer wants to assess. Think out loud whenever you’re trying out different approaches and don’t forget to take care of the edge cases.
Out of 24 students, 14 were shortlisted into the HR round.
Managerial Round / Professional Fitness Round: (30 minutes)
This round was an HR round of sorts, and the interviewer asked typical HR questions.
- Questions on my internships, how were the people in the companies where I had interned. What did you learn from them?
- What are the two most important things about working in a team?
- Is any member of your family posted in Government service?
- Do you have an Indian passport?
- Do you have any relatives who are currently employed in Deutsche Bank?
- Do you have any plans for higher studies?
- How many interviews did you have and how did you find the other interviewers?
- You’re from a Computer Science Engineering background. Why do you want to work in Deutsche?
Tip: This round is not to test your technical knowledge but to check whether you’ll be a good fit for the company or not and whether you satisfy all the values that they are looking for in the candidates. Be honest and answer all the questions confidently.
HR Round: (10 minutes)
This was a very brief and informal round and the interviewer asked me to describe my projects and internships in brief. Some basic background check questions followed and then he asked me whether I had any questions and I asked him about the work culture of the bank and he cleared all my doubts regarding the same.
The entire process took place over Skype Business Meetings. From the 14 students, they finally selected 9 people from the last two rounds. I am extremely happy to be one of them. 🙂
Thanks to GeeksforGeeks which has been my go-to website for algorithms, practicing codes, puzzles, as well as theory.