And finally, I could chill my way through college now

Arekhani
7 min readOct 29, 2022

--

Hello Everyone,

My name is Ashish Rekhani. I am a third-year undergraduate student of the Department of Computer Science and Engineering enrolled in its B.Tech Course. I will be interning at Nutanix as a Software Engineering Intern in the summer of 2023. In this blog I try to explain my preparation for the CDC Internship Drive and my experience of the interviews and the selection procedure.

Preparation

I will break this down into 2 sections:

August ’21 to December ‘21:

This was the phase I acquainted myself with the field of Competitive Programming. Since I had Algorithms 1 as a course this semester, I started familiarizing myself with the basics of C++ and STL and started giving contests as and when I could. This particular course covers a lot of important CP topics like Greedy, DP, Graph problems. Although I struggled with these during the course, it helped me lay down a strong foundation of DSA and helped me get comfortable with implementing the same in C++. Next came a break of 4 months from December till March wherein I didn’t give any contest but kept reading on new topics and practicing a few problems here and there. Even though I couldn’t get time to give contests, this simple habit ensured I didn’t completely lose touch with CP, while I improved my knowledge of advanced topics and data structures.

April ’22 to July ‘22:

This was the most important phase of my preparation. The first thing I did was start giving every single contest I could to get me back to my stride. I started brushing up on all the important topics and solving topic-specific problems on Leetcode, and difficulty-wise problems on Codeforces Ladder. I started with InterviewBit in May trying to solve as many different kinds of problems as possible. This was extremely fruitful as the problems on InterviewBit were of a very different style as compared to those on Codeforces and Codechef. Competitions like Google KickStart, Hash Code, Meta Hacker Cup etc. are also great forms of practice.

Towards the end of June, I also started revising concepts of OOPS. Slides of Software Engineering Theory course help a lot in that. You can also look up common OOPS questions on InterviewBit or GFG. These help tremendously.

I focused primarily on the Software and Systems role and didn’t prepare anything exclusively for Quant profile.

Interview Preparation

Interviews are not as simple as they seem as a lot of factors other than your coding skills come into play.

  1. Preparing your introduction: This is your first impression for the interviewer. So prepare a short introduction telling a little bit about yourself, your skills and your interests. This way you can lead the interview in the direction you wish to.
  2. Projects and Internships: This is where the applicative and practical part of your skills are exhibited. You can impress the interviewer by showing the deep understanding you have of the projects that you have completed.
  3. Look at some basic interview questions about your CV and specific to your profile. Ask your friends and seniors to help here. These will help you frame your answers a lot better and give you a mock interview practice.
  4. It is important to explain to the interviewer your thought process while solving questions. For this you can prepare by explaining your code while writing the code. Also get in the habit of calculating time and space complexity of the algorithms. This shows you have a good understanding of the codes that you write.

Day 1 (31st July)

After the shortlists for day 1 were declared on 30th July, I was shortlisted for NK Securities Research in both its Quant and Software Profile. I was slightly disappointed in this as most companies whose coding rounds had gone well for me, were scheduled for day 2. Since I hadn’t prepared for Quant roles, I put Software above Quant in my preference list.

NK Securities Research

The interviews were scheduled to start at 6AM. But my turn came at around 8AM

Round 1: There were 2 interviewers who first introduced themselves. Then I was asked to introduce myself. After this they started with the Quant part of the interview. The first question was based on Probability. The interviewer explained the question to me and gave me some time to think. I started communicating my initial thoughts but the question was very difficult for me and I couldn’t come to a solution so we moved to the next question. The same happened with the second question. Now we moved to the Software part of the interview. The first question was based on different stages of compilation of any code. This I was able to answer satisfactorily. I was asked a few more OOPS questions which I was able to answer fairly well. Next I was asked a programming-based question. This question was a medium-hard question. The optimal solution involved a tricky implementation of Segment-trees. The solution I came up with was not it and it was after this the interview ended. This entire process lasted around an hour.

I was extremely tired and feeling especially distraught since the interview had gone so bad. I had absolutely no hopes of getting into the second round. So after clearing my head by talking to my friends and my family, I started reading up on topics I had failed to answer questions on. Since I had no other shortlists I was preparing for the next day. Then I received the news that I had been shortlisted for Nutanix in the extended list and that my interview was scheduled for 12 noon.

Nutanix

Round 1 (Technical) : There were again 2 interviewers who first introduced themselves. Then I was asked to introduce myself. Then they explained to me the structure of the interview. We began with a debugging round where I was given a code snippet on Google Docs, I was explained what the code was expected to do, and then given 10 mins to debug as many errors as I could. The code had been quite intelligently written so as to mask the errors quite well but I was able to complete this task within the time. Then I was given a medium difficulty level CP question. Firstly I was asked for the naïve solution and asked to analyze its time complexity. Next I was asked to optimize this approach further. After explaining the optimized approach I was asked to code the same. While writing the code, I explained what each segment of my code did. I explained how my code would run on some basic example inputs. Next we moved on to OOPS questions. My understanding of OOPS concepts was checked through these questions. I was able to answer most of these questions successfully as well. The time limit for the interview (about 45 mins) ran out and the interview ended.

I was asked to wait in the waiting room while they let me know the result of my technical interview. I was very confident since the interview had gone really well. I was asked to enter a room for my second round.

Round 2 (HR): There was only 1 interviewer this time. He introduced himself and I was asked to introduce myself. This round felt more like a conversation and not like an interview as he was very friendly and welcoming. I was asked about my educational journey in KGP, how I got into ML (since I had taken the course MLFA) and what all I learned in it, and also asked about my interest in CP and SDE and the reasons for the same. The interviewer then asked me some leadership and situation-based questions to know my thought process. I was asked some open-ended and creativity-based questions to see how well I fare at them. He asked me if I preferred Work-from-Home or Work-from-Office and my reasons for the same. After about 25 mins, the interview ended and I was told that a PlaceComm member will get in touch with me regarding the result.

After about 5 minutes, I received the call that I had gotten an offer from Nutanix.

Suggestions

  1. For Software profile, your Competitive Programming (CP) skills are the most important. It is extremely essential that you focus on practicing more and more problems, and have a very clear understanding of the basics.
  2. Do not stress over your Codeforces ratings. Even if your rating is staying constant for a long time, it is important to not get dejected and keep learning and practicing. A great way to improve is to upsolve after the contests have ended. This will introduce you to new ideas and new implementation ideas while improving your problem solving aptitude.
  3. For B.Tech Students, Object-Oriented Programming is the main component in interviews apart from CP questions so prepare it well. Apart from this concepts like DBMS, Computer Networks, Computer Architecture, and Operating Systems are popular interview topics (mostly for Dual-degree students).
  4. Your CG is a very important component and will be a factor in most companies’ CV shortlisting. So having a healthy CGPA is always a plus.
  5. For interviews, take advice from the seniors who had also appeared in interviews of the same company. They can give you some useful last-minute insights and preparation tricks.
  6. Be well rested before the start of the interview. Be calm and composed in the interviews. If you are getting stuck somewhere, try asking for a hint. Interviewers are generally very helpful and patient so don’t be in a rush to get to the solution.

Final Remarks

This was a very challenging and quite taxing journey. It had its ups and downs. My advice would be to cherish the ups and keep yourself motivated. During the downs it’s important to stay positive and have faith in your abilities. I realized during this process that luck plays a role in the CDC process and that week 1 is overrated — A lot of opportunities lie ahead. So talk with your friends and family. Know that things have a way of working themselves out. The hard work that you put in will always be rewarded.

To everyone reading this, in case you have any doubts, feel free to reach out to me on Messenger.

All the best!!

--

--