The CDC chapter
Hello everyone, I am Dvij Kalaria, a 3rd yr undergraduate student from computer science department, IIT Kharagpur. I have been offered a summer internship opportunity for server technology profile at Oracle, Hyderabad. I will be starting my internship this summer 2021. My preparedness for the CDC interviews can be divided into 2 phases.
Early phase
My journey into the world of competitive coding started from my second semester when I started to do it for pleasure and learning new algorithms. I never pursued it for getting a good rank in the contests or with the aim of improving my rating. I was primarily more focused into research. I got basic understanding of using C++ and concepts such as time complexity from the data structures course in my first semester.
Then, in the third semester I had the algorithms-1 course which helped a lot in understanding and solving the graph problems. I started solving question from SPoJ platform, as I became comfortable solving questions, I moved to codechef and began giving the monthly contests. Later, when I became comfortable, I started giving time bound contests on codechef. Later, I moved to codeforces and gave weekly contest which further sharpened my skills. Then, I started using the stdbits.h library for vector, set, queue, stack and other structures. Meanwhile I also attended the weekly CP workshop conducted by codeclub which I found pretty helpful in understanding the necessary algorithms and the process of approaching the problem.
Later, I also gave the ICPC test, solved 3 question but unfortunately was not able to qualify for the regionals. One of the mistakes that I made was that I always solved the problems for learning, so for most of the problems, I left them midway if I had the clear solution of it in mind, also most of the codeforces contests I gave were in practice mode, so I never really knew where I stood among others.
In the 4th semester, I started becoming very irregular as I was focused into other things and later ended up taking a break from CP. Then, the whole COVID situation started and I didn’t get back to CP until May when I got the news that the CDC interviews were tentatively going to start in a month.
Last month preparations
Finally, the interviews were at the shore, we got notice from CDC that interviews will start in about 20 days. I had to revisit my grip with solving cp questions in less time. Hence, I started doing InterviewBit, I first started with graph problems and went reverse in soling questions. First, I completed all the topics by doing 2–3 questions from each block. Then, as there was time left, I solved almost all questions from each block.
With time left, I also solved questions on HackerRank platform as most of the interviews were going to be conducted on them. Soon, the CV portal opened, and in the last 2–3 days I dedicated most of the time working on my CV.
Interview preparations
The personal interviews are an integral part of selection. There are a lot of uncertainties but keeping these points in mind certainly helps :-
- Preparing an introduction : I went through my CV, revised all the concepts involved and prepared a basic introduction for my interest and inclination matching with my CV. I discussed these with my friends and my teammates for the projects mentioned to ensure that we are on the same page and discussed possible questions that could arise from the points mentioned
- Mock interviews : I did some mock coding interviews at InterviewBit to get acquainted with the platform and the basic ethics such as being clear in describing the algorithm first before starting to solve, using meaningful variable names etc.
- I got some tips from some of the seniors such as :- speaking out the thought process to ensure that me and the interviewer are on the same page, never stop talking and listening very carefully to the hints. I kept these in mind
- I prepared and revisited the OOPS concepts, probability and statistics notes
- One of the major takeaway which I feel from these last minute tips and my experience is that the style of communication and explaining the algorithm is also as necessary as solving the problem. Also, at the end when the interviewer asks about questions from your end, it is always recommended to ask something may it be technical questions based on their work if not anything else. Also, asking for improvements and suggestions also leaves a good impression.
Coding rounds — day 1
I gave coding rounds of almost all companies, google conducted it first, then with a one week gap all the interviews were conducted within 1–2 weeks
Google : Fortunately the question set for me were easy, I was a simple one based on geometry and other was based on DP. I solved both within half an hour but the shortlist was done on the kick start score which I didn’t give any. For those who aim google must give kickstart regularly.
Microsoft : There were very 3 easy and standard questions, anyone who has done InterviewBit should be able to do them easily. I solved them within 25 mins but unfortunately they had a CG criteria of above 9 as it seemed from the ones who were shortlisted. Mine was just short to 9, so I felt disappointed but there was no time for any thoughts.
Uber : There were 3 questions, one question was a standard DP question, other 2 very slightly on the difficult side. I could solve them exactly on time. But unfortunately, the shortlist included high CG candidates, so that might be one of the reasons.
Goldman Sachs : Like others, this was also conducted on HackerRank platform. It had different sections consisting of questions on probability, geometry and logical reasoning. And there was coding round with 3 questions. I could completely solve 1 and partially other 2. I got shortlisted in it.
Sprinklr : It had 3 coding questions. The first one had misleading construction of question due to which I spent a lot of time on it. For the other 2 questions, very less time was left, I partially solved the second question with 30 points. I messed it up and hence didn’t get shortlisted. So one takeaway from here is that it is equally important to divide time among questions so that you do not end up sticking to one.
DE SHAW : There were 2 medium level questions, I could solve them on time and got shortlisted in it.
Hence, for day 1, I got shortlisted for only GS and DE SHAW. I had very less hopes for DE SHAW as last year it had taken only 2 candidates.
Day 1 interviews
DE SHAW : I was very much nervous in the beginning, later became comfortable as the interviewer was quite friendly. I started with my introduction, he asked few questions based on my CV and then moved to one-pair platform where he explained the questions on CP and I had to explain the algorithm and its time complexity. The problems were fairly simple, I could do them without hints and the interviewer seemed satisfied with the solutions. Finally, he got back to my CV, asked my interests, then finally he asked me if I had any questions. So I asked him about his role and what kind of projects do the interns work on. He went on to describe them. Finally, I concluded with asking if any suggestions were there for me to which he satisfactorily relied that it went really well. I was hoping to be called for the second round but was not called. It seemed they had a CG or some other criteria for second round.
Goldman Sachs (GS) : The first round started on a good note with an informal conversation with the interviewer on how my day started. Then, he asked me a tricky question on probability, I could do it with 1 hint but it seemed satisfactory. Then, he gave me second question also on probability, I made a silly mistake at first but then it got it right. I had lesser hopes of getting into second round as I messed the 2nd question a bit at first but fortunately, I made it to the 2nd round. Before having the round started, I was expecting the questions to be difficult than the first round and this was the biggest mistake I made. The question was about completing a small function from a big problem which I had to do on codepair platform, the question was boiled down to simply matching the prefix to each sentence. I misinterpreted it as string matching problem and implemented the O(nlogk) solution for it which took me time. Then I realized that it was simple prefix matching in O(n) time. Due to this, I lost a lot of time and hence the interviewer asked this only one question while most of my friends were asked 2. I was completely hopeless in getting to the 3rd round. But somehow, I got a call for the 3rd round also in the final extended shortlist which had only my name, seemed they wanted to give me a 2nd chance. In the 3rd round, 3 medium level coding questions and some puzzles were asked which I could solve quickly. As only 25 were shortlisted for the last round, I had hopes of selection (As last year 22 were selected) but having messed the second round, hopes were quite less.
Finally the selection list was announced at around 1 am and I wasn’t selected. I had no time to have any second thoughts as next day, I might have to start interviews from early morning, so I slept and woke up at 7 am to find only 1 shortlist in Honeywell. I was very disappointed at this point as I felt my coding tests went well for most of the ones where I was not selected.
Day 2 Interviews
Anyhow, being very less hopeful, I gave my first round for Honeywell at 2 PM. I was expecting CP or logical reasoning questions as usual but the interviewer asked me the core questions on C++ and java like can the try-catch block in C++ be nested etc. for which I was neither prepared nor did I feel the need for. Then, some questions on OOPS concepts were asked, which I could answer as I had prepared them. Anyways, I passed the first round and received a mail to join the HR round directly, I was just going to join it when I received a call from a PlaceCom member that I had to join the oracle interview. This was shocking to me as I had checked the shortlist and also the extended shortlist mails which I received many times, my roll was not there. I clarified with a PlaceCom member and it so happened that the email id with which I gave the tests and which was registered with PlaceCom, didn’t match with my ERP id which was of my mom’s, hence there was this confusion. Anyhow, I had a chance and started giving the interviews.
Oracle : On the first round, simple coding questions were asked, anyone having basic CP experience could answer them which consisted for around 15–20 mins. Then, just after the first round ended, I was quickly moved to the second round in which 2 easy-medium level coding questions were asked and a bunch of probability and logical questions were asked. The round lasted for about half an hour after which I was quickly moved to the 3rd round in which the interviewer first went through my CV, asked me to explain some points and later asked me some basic OOPS questions like what is encapsulation and where I have practically used it. Then, he went on to explain his position and work.
With the end of this round, I was asked to wait for the results. I also had the HR round of Honeywell. I was just going to join it when I received a call from a PlaceCom member stating that I was selected for Oracle and if I accept it, I should not give any other interviews. I quickly responded with a yes. Finally, the selection list arrived at midnight and there I had my roll, so I was finally relieved after a long time.
Conclusion
The period of interviews was quite stressful and I had to face a lot of sleepless nights but summing up the major takeaways from my experience which I feel would help the reader who has upcoming interviews are as follows :-
- One of the major components of stress is the peer pressure. Most of my friends got selected on the first day due to which I felt a lot left out. It is necessary to understand that there is no rat race and later I witnessed that many good and better opportunities come on day 4 and 5 too like samsung research center, amazon etc, so staying calm and not regretting is the best way to tackle the situation. It is best to stay in contact with your best friends. If there is anything I would credit for my calmness, it would be my friends who supported me at each stage. Also, at the same time, lending emotional support to those in need is the best you can do during this time.
- During the interview, never pre-assume things, listen to the question very carefully and always keep talking to the interviewer, also asking for hints or taking hints when you don’t get the solution quickly never leaves a bad impression, so don’t feel demotivated when you take a hint. It shows your collaborative communication skills and always leaves a good impression.
- Never write ongoing courses in your CV. The interviewer assumes that you have followed the classes and asks you questions which if you don’t answer, leaves a bad impression
- Last but not the least for those who have 1 or 2 semesters left, my only advice is to maintain a CG greater than 9, at least try to not be at the border which makes it regretful later as I didn’t got shortlisted in many interviews due to my CG. Maybe, during my time CG was looked into with higher weightage due to the online process but it always leaves a good impression if you have an impressive CG so it is very much necessary.