Placement Experience - Shivam Kapoor (Visa)

I have seen a lot of people struggling during the placement session. But one person I have seen is my friend Shivam Kapoor. His calm nature inspired many of us during our placement journey. I have seen him struggle and as the saying goes "Der aaye par durust aaye" he achieved what he deserved. So today we are going to share with you, the journey of this kind-hearted person in his own words.


Summer Vacations of 2nd and 3rd year are one of the most crucial times of the college life for a student who aspires to land a job in a software firm. The amount of effort put in by a student during this time largely determines his or her performance in the upcoming placement and intern session. In order to ace the placement session, it is extremely important to have in-depth knowledge of the core subjects and have all the algorithms on fingertips. In this article, I'll be sharing how I prepared and my interview experience.


Preparation Strategy

Resume building

Building a good resume is extremely important as it is is going to tell the interviewer about the candidate and hence will determine the direction of your interview. It leaves a good impression on the interviewer if you have some noteworthy achievements which can either be in the form of contest ranks, ratings on different platforms or having podium finishes in some of the contests or the achievements can be from the co-curricular side, i.e., apart from your studies. Try to keep the resume short and precise and explain your projects in a line or two so that the person reading your resume has a basic idea about the same.

Aptitude

Asked only in a handful of companies and according to me, it doesn’t make much of a difference so you can skip it. You can solve puzzles from different sites as many companies ask puzzles in the intern interviews and sometimes even in the placement interviews.

Coding 

Everyday practice is extremely important so that the person remains in touch and his/her flow is not broken. Try to solve at least  5-10 problems daily from sites such as GeeksForGeeks, InterviewBit, Leetcode, etc as the questions come directly from these sites and if a solved problem comes in the coding round it becomes a cakewalk for the candidate. Apart from solving problems, your first aim should be to have all the standard algorithms on the tip of your fingers so that once you see a problem related to a particular algorithm you should have a way to solve it. Give regular contests on Codeforces as it will help to assess yourself, give you an idea of how the framed problems are asked and you will get used to the time-based competitions.

Core Subjects

The following are the main subjects from which questions are asked in the interviews. 
  1. Operating System -  The most important core subject, you can prepare for this subject by reading the articles from GFG or you can even read from the class notes.
  2. DBMS -  In the database mainly the SQL queries are asked so it is important to be efficient in the same. You can practice queries from Hackerrank and read the theory part from W3schools. Also go through the Entity-Relationship chapter as it is asked sometimes.
  3. Networking -  Asked only in a few companies, articles from GFG and class notes will suffice.
  4. Object-Oriented Programming - If you have mentioned this in your resume, then definitely you will be questioned on this. GeeksforGeeks or Text Books (Hebert Schildt) are the best sources for this topic. Always learn a real life example of all the concepts as it is the real life applications which are asked the most.
  5.  Apart from this go through the interview experiences and solve the different questions which are asked, this will help you to cover diverse variety of questions.

HR

In order to ace this round you just need to be confident. Once you are selected for the interview rounds of a company go through its site and have an idea about what the company is into and what all are its different offerings. In the HR round, most of the time you are asked some questions which test your basic knowledge about the company and when you share some interesting facts about the company, it reflects your interest.

My Interview Experience

Round 1: Coding Test

4 coding questions
Time Limit - 75 minutes.

  1.  Total number of palindromic substrings present in a given string.
    Constraints – length of string <= 10000
    N^2 solution passed all but 2 test cases, even when this is the best possible solution of the given problem.
  2. A variation of Rod Cutting Problem (Dynamic Programming)
    The constraints given in the problem were very unrealistic however a normal recursive DP solution (not even memorized solution) passed all the test cases.
  3.  I don’t remember this problem but it was an implementation heavy problem with lots and lots of corner cases and this problem took the majority of the time and only a few were able to solve it completely.
  4. I don’t remember this problem.

    I solved 2 problems completely (Q2 and Q3) and 2 problems partially (Q1 & Q4). People who solved at least 2 problems completely were selected for the interviews. The key to cracking the coding round is to solve problems as fast as you can and go for the brute-force solution when you do not know the optimized solution because many times it happens that the test cases are extremely weak and the brute solution passes all the test cases just like Q2 in my case.

Round 2: Interview

The round started with the mine introduction and then the interviewer introduced himself.
  • Given a number of words we need to sort them such that the even places are sorted in ascending order and odd places are sorted in descending order.
    Example – Input :- {aab, bbc, abb} Output :- {abb, aab, bbc}
He asked me to write only the comparator sort function for the problem. This was followed by a brief discussion on my Projects. Since one of my projects involved the database he switched over to questioning me on the database. He created 3 tables and asked queries involving joins. Then he asked the SQL query for finding the highest and 2nd highest salary from the table given.
The round lasted around 30-35 minutes.

Round 3: Interview

  1. Q- Nuts and Bolts Problem
    He wrote the problem and asked if I knew the problem. I told him YES, I know the problem and I have solved the problem in the past, he said that since you know the problem we won’t be wasting any time on this and straight away moved to my resume.
  2. He then started questioning me on OOPs (Object Oriented Programming) as I had mentioned it in my resume. He questioned me what is polymorphism and its types (Overloading and Overriding), then he moved on to what is Operator Overloading.
  3. Implement Operator Overloading by overloading the greater than ‘>’ operator. Given a class employee determine the employee with a greater salary, if salaries are the same then determine the one with the greater age by overloading the greater than ‘>’ operator.
  4. Next he asked me to design a Media Player using the concepts of Object-Oriented Programming and implement features such as play, replay, pause and shuffle the playlist. He gave me enough time and I came up with a comprehensive solution implementing all the functionalities in the problem statement. He pointed out small mistakes which I corrected and he seemed quite satisfied.
  5. char *ptr = ”HELLO” convert it into   “HOLLO” and  “HOLLOW”.
    The first part can easily be solved by changing ‘E’ to ‘O’, ptr[1] = ‘O’.
    The second part was the tricky one as the memory is dynamically allocated in case of the pointer and you cannot simply append ‘W’ at the end of the ptr using ptr[5] = ‘W’. So here we needed to dynamically change the size of memory allocated for ptr. For this, I used realloc to increase the size of memory occupied by ptr by 1.
    Solution -
    char *ptr1 = realloc(ptr, strlen(ptr)+1);
    ptr1[5]=’W’.
While I was explaining to him the solution he stopped me saying this was what he wanted to see and he was done with this round.
The Interviewer was very helpful and pointed out to very small mistakes I had committed in my solutions and hence helped me to correct them.
This round lasted around 50-60 minutes.

Round 4: Interview

The interview started with a general introduction. The interview was very friendly again this time and made me comfortable by asking a few questions on my personal experiences.
He then started with his questions I was required to store the record of the students of the college how will I store the data show in the form of a Database diagram as well as using a class diagram. He then asked how data is stored in a database and asked me if I need to store only unique entries how will I do that. I said that we can use the SET data structure where each tuple will act as an element of the set. He then started asking about what is SET, how it is implemented. I told him about the Balanced Binary Search Tree(BST), which is the implementation of a SET. Then he asked how insertions and deletions are performed in a BST. He just wanted to see the example, not the code. He asked me if I had anything to ask, I asked a question and the round was over.
This round lasted about 30-40 minutes.

Round 5: Interview

As soon as I went he had a complete report about my coding round and starting asking about how were the questions and how did I solve them. Then he asked if I was comfortable with SQL and gave me a table and asked to delete all the redundant rows. I tried the problem and gave him an approach as I couldn’t give the exact query.
Then the interviewer asked if I had any question, I asked him how is VISA, from an employee point of view. He then shared with me about his life at VISA.
This round lasted for 15 minutes.

After all the rounds, we were asked to wait for the results. I was very tensed during this time. Since I had seen a lot of rejections in the last rounds of many companies and I did not wanted it to happen again. Rejections break your inner-strength and you start to judge your capabilities. The same was happening with me. But I was continuously diverting my mind by continuously saying "Jo hoga acche ke liye hi hoga". At last, one TPR came to me and said happily that you are selected. Hearing this I hugged and cried with tears of joy and excitement. Finally, the day had come when I could sit back and relax without worrying furthermore about the job, as now I had got one. So this was my experience hope you would like it.

TIP: 

Rejections are a part of life and one cannot succeed every where in the very first attempt, so my advice would be to not get disappointed with one rejection because then the mind won't be focused and the person will ruin the upcoming interviews as well. Just believe in yourself and remember your day will come.

The key to the interview process is to keep the interviewer involved every time and tell him whatever your approach is. Most of the time the interviewer will guide you to the solution with some hints or will tell you to change your approach if you are completely off-track. Don’t keep the approach to yourself thinking that it is definitely going to be wrong.
Try to practice the codes on paper as most of the time you will have to write the code to the problem and not just give your approach.

If you want to share your experience with us, mail us at sachinagarwal793@gmail.com


Comments