CDC Chronicles

Shrayam Mitra
5 min readJan 9, 2022

--

Background -

I am Shrayam Mitra, a 3rd year undergraduate student studying ECE at IIT Kharagpur.

This blog is about my preparation and interview experience in the CDC Internship 2021–22.

I got summer internship offer from Quantbox and Google and I accepted the offer from Quantbox.

I was shortlisted for 7 companies on day 1 for interviews, these were Quantbox, Google, Sprinklr, Microsoft, Tower, DE Shaw and GS.

I am also a member of GOC (Grimoire of Code), which conducts CDC preparation series, I would definitely recommend everyone preparing for internships to participate in these contests, the difficulty level of these contests are quite similar to those of many companies.

Preparation -

I started competitive programming towards the end of my second semester. At that time I practiced mostly on CodeChef. Then I joined the AlgoZenith course which I highly recommend to everyone who is preparing for their internships/placements. The course helped me to get a firm grip on commonly used/standard algorithms and data structures.

After completing the course I started practicing on Codeforces for some time(mostly div2 C-D level). Then I started preparing for USACO, solved a lot of USACO gold problems and some platinum problems. This taught me how to think on hard problems for a long duration of time (contests were 4–5 hr long). You can use usaco.guide to prepare for it.

Recently (past 3–4 months) I have been solving many AtCoder problems, most of these problems are thinking oriented and uses “common” cp tricks and ideas, one can use the kenkoooo checklist for it.

By May 2021 I reached 2000+ on codeforces and then left that account untouched after that :) , high rating really helps your CV to shine out but also do expect to receive difficult problems in the interview.

Before the last 2 months of the internship, I solved around 10 problems every day, mainly picking from Leetcode(hard-medium) and gfg(hard) and also solved all those GOC test series that I hadn’t participated in earlier. Practice with friends, it helps you to push yourself. And in the last month, I solved mostly from AZ Bootcamp and AtCoder.

Coding Rounds -

Quantbox — CV Shortlisting was done.

Google — 1 easy(DP) and 1 medium (number theory+graph) problem was asked, the problems were distributed randomly and the difficulty range varied a lot from person to person. The test was conducted on hackerearth and the server crashed after sometime (maybe due to overload), so many people were not able to get the verdicts of their submissions. Under 300 Kickstart rank is recommended if you are targeting Google.

Microsoft — Speed was everything here(as most people were able to solve all the questions), 2 very simple questions were asked and 2 hrs were given,one being implementation and the other was on basic STL usage.I solved both the problems in around 12 minutes.

DE Shaw — This was a nice problem set , and CP background would have been quite helpful here. The difficulty level was comparable to div2 C (or maybe D). One observation based problem was asked, one number theory and the last problem was on backtrack dp. Solving all the problems guaranteed a shortlist.

Sprinklr — 3 problems were asked, the easiest one was just inversion counting, then the knapsack problem(in disguise of course) was asked. The last problem was probably quite hard and partially solving it was enough for a shortlist. I failed 2 test cases in the last problem and I wasn’t able to debug even after trying for more than 30 minutes.

Tower — Coding questions were very simple/standard (div2 B). I solved a few MCQs and guessed others, they were mainly from OS .

Nutanix — Two problems (on greedy) were given (div2 C-D level) to be solved in 90 minutes. I solved both of them in around 40 minutes. I was shortlisted for the debugging round. Sadly I didn’t make it to the interview shortlist.

Interview Rounds -

Quantbox — This had probably one of the hardest interview questions I have encountered(problems were much harder than any of the coding rounds). I think these questions were mainly hard because they did a CV shortlisting instead of a coding test and at the interview, we had to verbally answer these (or share thoughts) instead of coding them. Two questions were on game theory , one of which was around div2 C and the other one was around div2 E or F, I took some hints to solve the second one. 1 question was on linearity of expectation and trees, around div2 D/E level. 1 question on binary search which was around div2 C and the last question was a quite hard observation based number theory problem, which was probably around div2E. The interview lasted around 1 hour and 20 minutes and immediately after the interview I received the offer.

Google — Questions were easy and standard, one problem was asked on BFS in round 1, I solved and coded it in around 20 minutes, it was around div2 C.

In round 2, I was asked to implement the LFU cache (very well known concept).

Shortlist was released at around 10 PM, I was happy that I got selected.

Microsoft — In round 1 I was asked to maintain the median of a stream by implementing heaps myself. This is a very standard problem and it took me around 20 minutes. Then they asked me to find the smallest window in a parent string such that all characters(even duplicates) of the child string appear there. It was around div2 B-C level and it took me around 15 minutes to explain and implement (My solution was O(n*26)).

I was shortlisted for round 2 but I didn’t appear for it as I had already accepted the offer from quantbox.

Suggestions/tips -

1) If you are aiming for top day 1 companies then make sure to have a decent competitive programming background, I wasn’t asked a single oops/database question.

2) Don’t be nervous, I wasn’t able to sleep(not even for an hour) just the day before my interviews. But luckily all my nervousness went away as the interviewer started asking the questions.

3) While solving questions during practice, make a habit of thinking aloud(or discuss problems with your friends), interviewers of Quantbox and Microsoft appreciated me for explaining my thought process.

--

--