Resume Shortlisting: This round was very integral as many people were rejected in this round because their profile didn’t resonate with what the company was looking for and some were even rejected on basis of CGPA. (Out of around 500 students, 163 were shortlisted for the further process). Make sure to focus on making a resume properly and don’t include stuffs that you are not confident about as it may backfire.
Online Test: Hosted on the AMCAT platform, it had 3 sections:
English: Had pretty simple questions, around 12 questions in 15 minutes related to grammar, vocabulary, and meanings. I was able to solve all of them with ease.
Business aptitude: Had several case studies along with some graphical representations wherein we were told to make the best choice possible. This was a tricky section as there is no perfect answer to any question, but we need to select the least incorrect in any circumstance. Reading English articles and books will help you save time and understand things in a better way. This section was pretty lengthy.
Coding section: There were 2 questions of medium-hard level difficulty which needed to be solved in 60 minutes.
- This was a pretty standard query-based segment tree problem wherein we can update the value at any index, and we needed to find how many indices within a given range is greater than a given threshold value. I was able to solve this in the first 10 minutes. However, after the test, I came to know that the test cases were weak enough so brute force also got the solution accepted.
- This was a graph-based problem wherein we were given two sets of points, and we needed to create a graph with weights equal to the square of Euclidean distance. Then the minimum sum of weight so that there is bipartite matching between the two sets and return the sum as the answer. Suppose if we have a 2D matrix then we needed to find the minimum sum of weights such that there is an exactly single element selected from each row and each column.
Out of 163 students,33 were shortlisted from the coding round.
Technical Interview: Held on zoom and lasted for around 1 hour. The panel had 3 members, and they were asking questions in a loop.
- Started with my introduction and soon they started discussing the project.
- I had done my PS-2 in a financial firm, so they were digging deep as to what my project was, the tech-stacks which were used and how did it impact the company
Questions about the Project:
- The problem statement, how did you approach it and project architecture?
- What were the tech-stacks which were used, the end results, and the whole journey of the software development life cycle?
- API used and why? I had used REST APIs, so they asked me features of REST APIs and why did we choose them over the other.
- Automation stuffs and how was it implemented.
Question on Problem-Solving: They asked me to choose an editor of my choice and gave me certain questions to solve, they wanted the whole code and the output also.
- The first question was, Given a long log file containing trillions of words separated by the delimiter as space, we have to basically find the word which has the maximum frequency. If there were many words with maximum frequency print all of them on a separate line. I first gave him a naive-approach wherein we will store all the words in a string array and then map the words with the frequency and find all the words with maximum frequency and return them. Then he asked me to optimize in terms of space, so instead of storing it in the array I directly used stringstream to find the words and hashing it there itself, kept a global variable to keep a count on maximum frequency. Finally, traversed the hashmap to get the words corresponding to maximum frequency and return the keys which had the value as maximum frequency. He asked me to run 3-4 test cases and my code was passing all of them
2. Second question was on a linked list, we need to right rotate a linked list by k places. I coded the solution and was able to pass the test cases as well.
3. Third question was, given two strings we need to find the number of times the first string is present in the other. I first gave him a naive approach and then optimized it using the KMP algorithm. They were satisfied with my approach and then slipped into the CS fundamentals subjects.
Question on OOP and OS:
- What are the thread and process? Whose context switch is fast and why?
- Differentiate between user-level and kernel-level threads?
- What is the critical section and how can we achieve synchronization in threads?
- What is the difference between binary semaphore and mutex?
- What are multithreading and practical examples of the same?
- What is polymorphism and how we achieve it in JAVA? Tell some examples.
- Types of design pattern in java, just the names.
- Deadlock conditions.
Lastly, he asked me about sorting algorithms and the complexities of the same. Then he asked me to code heap sort. I told him the pseudo code, and he was happy with that too.
Out of 33 students,12 were taken forward to the next round.
HR Round: Started with my basic introduction, and then he went on to the work experience and projects section. Wanted to know the area I would like to work upon. Asked about the problem statement I had solved in previous internships. Then he gave me a hypothetical scenario and asked my approach. The question was, how would you study a human brain using NN, and what activation-function, parameters tuning, and model analysis that you would do. I gave him an approach of CNN. This was basically to test my confidence and communication skills.
Finally, he offered me to ask a question.
I just thanked him for a great interviewing & learning experience with Wells Fargo during the entire process irrespective of I’ll be selected or not.
Finally, 11 students were selected, and I was one of those.
- Make your resume diligently and only include stuff that you are 100% sure about.
- Be confident throughout the process, even if you get stuck, don’t panic, the interviewers are very cordial, they will help you out.
- Think sound throughout the interview, even when you are asked to code in the technical round, keep talking about the approach and steps which you are taking, don’t code silently. Name the variables with some meaningful names as per the question, avoid using x and y.
- Be honest throughout the process and if you are not sure about anything, admit it there itself, don’t beat around the bush, they would catch you easily.
- Defend your CV, don’t include anything you are not that well-versed with, it will backfire.
CHEERS! ALL THE BEST!