CDC BLOG

Tanmay Bansal
9 min readDec 19, 2020

Hello All, I am Tanmay Bansal a 3rd year Undergraduate student enrolled in the Btech course of Computer Science and Engineering. I received an internship offer from Nutanix for summers 2020–21 through CDC.

This blog is my first attempt at public writing so please bear with me!! This blog focuses on my preparation and guidance on CDC interns. This blog may differentiate from the CDC interns next year because they can be offline! At Least let’s hope for that.

Preparation

I do CP because of my interest, not from the point of CDC so people doing CP only for CDC may not connect much from this preparation part. I used to do CP in my first year but not much. In my first year, CP workshops organised by CodeClub helped me a lot and I would recommend to attend them and take them seriously. They would help you a lot. In first year summers I focused on Dynamic Programming. I solved DP-sets available on the GeeksForGeeks which are very well organised and covered almost all the types DP that can be applied. You can also practice questions on DP on codeforces but I would recommend doing DP-sets first.

I started doing CP rigorously from my 3rd sem in which I had Algo-I course that helped me in my Data Structures part. It is difficult to learn on your own. I suggest you take online courses for that like the one offered by Princeton university on coursera. I started giving contests on codeforces regularly, initially my rating was not increasing which frustrated me but I kept going mainly because of my interest. The major thing I was missing in my initial days was that I didn’t try hard to do questions which I was unable to solve in the contest, which I highly regret. I had achieved a max rating of 2000+ on codeforces before CDC. So I began focussing on the Data Structures and pointers part in which I didn’t have much confidence and solved all the questions of linked lists, stack, queues, trees from InterviewBit. In the summers, Grimoire of Code organised regular CP tests based on previous year CDC rounds which also helped me a lot. I was securing good ranks in that and was able to solve most of the questions which boosted my confidence!

Coding Rounds

This year I think that questions were on the hard side, because of the process being online( this is my thought, also I was not in my best physical and mental state during the process so I may be wrong). Below is the brief description of coding rounds.

Google

Google’s test was the beginning of our CDC drive and it was conducted on HackerEarth and consisted of the 2 questions picked randomly from a questions bank which ranged from simple Adhoc to np-hard problems to be solved in 1 hour. In this test I was in good luck. My questions were-

  1. This was a simple variation of the standard problem in which you have to calculate the index of the nearest bigger number for every index of the array.
  2. In this you had to do solve queries consisting 3–4 operations on the array - add something to index, left/right rotate the array, print the element on the particular index.

I solved these 2 questions pretty fast and submitted my test in 20 minutes.

DE Shaw

This test consisted of 3 questions each question being timed separately. First was implementation based, 2nd had nice implementation and I misunderstood the question and each question being timed separately I didn’t get a chance to correct my code. Third was a good question on graphs. I was able to solve only half of it.

Nutanix

I consider this as the best test paper, good questions, required thinking but not very difficult, at par with the CDC level. It consisted of 2 questions I solved first completely and in 2nd I passed 5/12 cases. Luckily I got shortlisted for the next shortlisting round which was a debugging round, it consisted of a C code which was given to us on the google doc and we had to identify the errors and write them in the comments. The programme was identifying Biconnected Components in the graph, I didn’t know about it previously so it was a new topic for me which consisted of implementations of queue, stack etc in C.

Sprinklr

This test consisted of 3 questions, First was based on game theory which I was able to solve, 2nd was of digit DP( toughest of all basic types of DP according to me), 3rd was a graph question which I messed up due to a minor mistake and got 10/100 marks.

Microsoft

In this test questions were distributed randomly and I got a difficult set of 3 questions, I solved 2 of them completely and passed half of the cases of the 3rd question.

Goldman Sachs

It was the worst test I had given, it consisted of I think 4 parts with the first and last parts being of coding. In the first part we were given 25 minutes to solve 2 very good questions, which may not be solved in the given constraints. I think I was able to solve only one of them partially. In the last part we were given 45 minutes to solve a question which was a hard one based on a grid in which they had given constraints such that it would pass in O(n*m). I thought of the solution and began to code but I couldn’t complete my code given the time constraints. But the tester was passing the solution of complexities upto O((n*m)³) which made me sad because many of my batchmates coded the brute force and passed all the cases.

This was a very bad experience and I lost faith in myself after this test as I was not able to solve the questions which I could have done, throughout the process but I gathered myself and thought this is the worst that could happen and prepared myself to sit for the upcoming rounds.

Quadeye

This consisted of several parts checking your systems knowledge(these are taught in 6th sem of CSE), probability, basic C++ knowledge such as OOPS etc. and coding questions.

Uber

This was one of the last rounds for day 1 companies. It consisted of 3 questions to be solved in 90 minutes. This was the round which was mainly based on CP and therefore naturally I performed good, I solved all the 3 questions completely and finished my test in 1 hour.

Night Before Interviews

I think Google was the first one to give the list of shortlisted students, it came on 31 August night and luckily I had my name on it. It worked as a booster for me. Then came the list of Nutanix on 4th Sept morning and gladly I found my name on it too. Now I had some security that at least I would not be attending classes on 5th Sept!! Rest of the companies released the list of shortlisted candidates on the night of 4th Sept. Although I knew that my tests had gone bad for the other companies except Uber, not seeing my name on them disappointed me a little. But the biggest disappointment was not seeing my name on Uber’s list as my test had gone pretty good. It came at the end around 1:30 pm. And not seeing my name on it disheartened me. Due to the process being online a lot of malpractices were going on and due to that many of the companies also considered the factor of departments, CGPA, and resume in addition to coding tests. At the end I was shortlisted for 2 companies Nutanix, Google. After getting shortlisted I was added to the whatsapp group created by placecom for better communication. As I was shortlisted in 2 companies so I thought a call would come asking for my preferences as told by seniors but I didn’t receive any call. I was in a little tension regarding that at night but I kept faith on the placecoms and tried to sleep.

Tip -> you wouldn’t be getting proper sleep for 2–3 days before D-day because of the tests. So sleep whenever you find time and take naps in between and take light food. Try to remain fresh during the interviews.

D-Day

My first interview was of Google. The interviews began from 7 am for Google. My round began at 9:00 am. It ended at 9:45 am. After that I sat for Nutanix interview around 10:30 am. My interview ended at 11:45 am. After that at 12:00 am I sat for Google round 2 which got over at 1:00 pm.

Google Round 1

At first, there was general talk for 5 minutes including my introduction, interviewer’s intro, my hobbies, discussion about my project after which he shared a google doc link with me and put up the question on it. The question was based on a 2D grid. You have multiple sources, you can move up, down, left, right. 1 step required 1 unit of time. What is the minimum time in which all the grids would be visited? It can be solved easily by multi-sourced bfs and I coded it in 25 minutes. After that, he put up another question. It had a very simple solution but I started to think about difficult things and ended up messing the solution’s complexity. After that, we had a nice talk for 2–3 minutes. He said good luck for the next rounds. Overall my experience was very good. The interviewer was very nice.

Nutanix Round

As I started the interview there was no introduction, he didn’t even ask my name(which I know he already knew) or told his own. So this was a little strange for me according to the interview experiences shared by the seniors. In the interview, I was asked mostly standard things. At first, he put up a question. I saw it and fastly wrote the solution using Binary Search. He told me to improve the complexity, after some brainstorming, I coded it using 2 pointers, similar questions you can practice from interviewbit topic 2 pointers. While writing its solution I wanted to be sure to give him the right solution. So I ended up taking some time checking the edge cases. Later he kept on adding new things to the same question and told me to modify my solution. I was able to solve and explain every question he asked. The interviewer was not very much friendly like we didn’t talk much during the interview. He just put up the questions and I coded them and explained it to him. I was struggling to explain to him my solutions. After the interview, I thought that I would not be selected for another round because of lack of interaction between me and the interviewer, but luckily I got selected and there was only this round, no HR round also.

Google Round 2

As I joined the meet we had a little chat and she directed me to the google doc. This was a strange interview like there were questions related to real development, simplified for solving by algorithms and Data Structures known to me. It was a good experience, like learning how things are handled but at the same time I was struggling as this interview was unconventional, and I was not mentally prepared to be precise. I was solving the problems and she was putting new problems before me following on the previous question making things harder. In the end, I was also unable to explain her upperBound function that I had written for a part of the code due to time constraints. But my overall experience was good. I enjoyed this round a lot.

In the end, I received an offer from Nutanix. I was drained of all my energy at the end of the day as things were not certain till 8:00 pm, I even gave the tests of the upcoming companies on that day…

Conclusion — There will be times when you will think that you are not able to make it anymore but you have to gather your courage and keep going. On the interview day, things will not happen as you expect them or want them to happen but you just have to let things go, certainly, this is not the end.

--

--