CDC Chronicles

Divyang Mittal
6 min readDec 8, 2019

--

Hi, I am Divyang Mittal, a third-year Ug student in Computer Science and Engineering department, who will be interning at AppDynamics, Bangalore in summers 2020.

Background

I started doing competitive programming seriously in my third semester along with the algo ds course. I had read Cormen in the previous summers so it helped me a lot. I started with code monks which are very good for beginners. After a good amount of experience, I started giving contests on CodeChef and code forces. I prefer code forces because of the large number of contests(also due to the user interface). This went on through the winters. In my fourth semester, I shifted from competitive programming to open source development. I took part in KWOC to get a start and participated in the open soft event. The software engineering project(academic term project) also added to the experience.

Preparation

In the summers after the second year, I started my preparation by resuming with competitive programming. I solved the a2oj ladders in may-June to get back in the game. I solved about 50 c level problems and 40 d level along with 1800–2000 rating problems. I also participated in every contest on code forces during this time and did a lot of up solving. This routine helped me a lot in improving my skills. By mid-June, I started doing interview specific question on interview bit and geeks for geeks. After doing this much competitive programming, I was able to solve these questions quickly. After mid-July, I stopped doing competitive programming altogether and focussed on interview specific questions as I thought that these have higher importance which I wouldn’t advise anyone(continue doing cp).

Coding Rounds Before Day 1

I sat for the coding rounds of DE Shaw, Quadeye, Goldman Sachs, Gartner, AppDynamics(Day 2), Microsoft, Uber, Nutanix, and Tower Research. These start a week before Day 1. I don’t remember all the coding rounds (Please see other’s posts).

AppDynamics:- Around 10 MCQ questions from algo/ds and sql. Three easy coding questions of c level.

Microsoft:- The coding round was not on hackerrank and a random set of three questions was provided to everyone from their question bank with varying difficulty.

Nutanix:- Two questions were asked, I was able to solve the only one that too partially so it is important to write the best solution you can (if stuck).

DE Shaw:- Two easy questions one on graphs other on maths+implementation.

Uber:- A very good round with three questions, two were on dp. I could solve only one.

I got shortlisted in DE Shaw, Quadeye, Goldman Sachs, and Gartner for Day 1(filled my preference in that order). I also got shortlisted for the debugging round of Nutanix and group fly round of Microsoft which went really good for me but for others as well so apparently, they considered the coding rounds too(couldn’t make the cut).

Interviews - Day 1

De Shaw:- After a formal introduction the interviewer’s(two) asked me some questions related to compilers, java and cryptography(mentioned in my cv as ongoing course). I could answer only the one on compilers but without any confidence. Then they asked two standard questions on dp (one was a variant of knapsack problem). They also asked some standard questions on oops.
Quadeye:- Interviews were taken on hangout for quadeye. First round was very short something around 5 minutes, simple questions were asked like how to find if number is repeated in an array, repeated and missing number in an array from interviewbit. The second round was prob stats heavy and I was not prepared for them so was naturally slow in answering them.
Goldman Sachs:- I was out of confidence and energy by this time. In the first interview, Interviewer first asked me a question which I was able to reduce to running a DFS then he asked me what kind of data structures can I use for it along with time complexity. This was followed by few questions on bst and heaps. I was able to answer all except one on heap . The second interviewer asked me on what topics should he ask questions to me to which I replied Algo/Ds. He started with a question similar to level order traversal and discussed some variants with me. This interview went good but I was rejected.
Gartner:-
The interview started with some questions on ml,data science . Followed by some questions on multithreading and prob stats.

Coding Rounds on Day 1

I was feeling awful by this time but some really good words from seniors helped me to lift myself back. Fortunately, I had given coding round of AppDynamics. I slept for about two hours before the coding rounds. I sat for coding rounds of Sprinklr and Intuit.

Sprinklr:- 3 Questions- 2 questions were Maths based, of CF level C. One was a question on Min-Max heap. I was fastest to solve all of them.
Intuit:- This was by far the toughest coding round I had given, the sleep deprivation might have added to it. I was able to solve just one question using brute force out of five in two hours. Luckily I was shortlisted for the group fly round the next morning. A simple dp based question on graphs was asked in group fly round which I was able to solve rightaway. I spent the next hour explaining my method, writing code on a paper and explaining that code to one of the interviewers present there.

Finally, I got shortlisted for AppDynamics, Intuit and Sprinklr (filled in that preference).

Interview - Day 2

AppDynamics:- After some formal chatting, The first interviewer asked me a question which was a variation of scheduling problem . It had an implementation using binary search and priority queue. Then he asked me to code it, I was able to do it in one go, Hence moved on to next round. In the second round, The interviewer asked this question,

Given a line of trees with different kind of fruits, a basket which can hold any number of fruits but of only two different types. You can only carry the fruits from continuous trees at any point of time. What is the maximum number of fruits that you can carry?

I first explained the approach and then went forward to code it. Both of these questions were quite confusing so it is necessary to clear your doubts with the interviewer. After some time they informed me that I am selected and didn’t give any other interview.

Takeaway Points

  • Always make a list of those companies that you don’t want to join and never apply for them.
  • Never write the ongoing courses in your cv if you haven’t prepared them. Like in my case, I was asked questions on cryptography and I hadn’t attend any classes till that time.
  • Don’t forget to revise all those OOPS concepts, people undermine it and these might not be sufficient to get you accepted but can surely get you rejected.
  • Practice writing code on paper.
  • During interview always clear your doubts with the interviewer and keep thinking loud to keep the coversation going and be confident.
  • Have a good sleep on the night two days before day 1 because you won’t get any on last night as microsoft group fly round goes till late night.
  • Don’t get depressed if you get rejected, The feeling comes naturally but it won’t help you at that time so get yourself up. Good friends really help you in this matter. Also help others whenever you can, you won’t regret it.

Ping me in case of any other queries will be happy to help.

--

--