CDC Internship — DE Shaw

Jothi Prakash
8 min readJan 17, 2023

--

Background

Hi Everyone,

I am Jothi Prakash, a Fourth Year Dual Degree student in the Department of Electronics And Electrical Communication Engineering, and will be specializing in Vision And Intelligent Systems in my final year. I like any other student started exploring the various fields that are out there and tried to do many things during my first 2 years ranging from FOMO options like ML and Data Science to domains like product management / Consultancy, etc. After trying different options I found this domain to be interesting and have decided to carry on with it.

If there is one thing that I would want all of you to do is explore as much as you can because you never know what you like. Never ignore any field just because you have a preconceived bias about that sector or job.

With my background out of the way, let’s delve deeper, for what you have actually visited this blog for.

D E Shaw & Co Logo

Preparation

I started preparing for the role of SDE seriously during my winter break after my third semester. I started learning the basics of CPP programming and also I took the Algorithms-I course offered in the CSE dept during my fourth semester to get a good grasp of the fundamentals of topics. I really recommend learning the basics before directly jumping into competitive coding, first try to learn the basics of how data structures and hashing techniques are actually implemented before just blindly using the C++ STL library, as the internal implementation of data structures are frequently asked in company interviews.

After learning the basics during my summer break after the 4th semester I seriously started solving CP questions on predominantly Codeforces and Codechef. I practiced regularly during this time and devoted most of my time just doing CP and getting good at DSA and its implementation. I gave many rated contests on these websites and also many virtual contests to get better in my speed of implementation. On average I would say try to reach the level of being able to solve 1800–2000 rated problems on Codeforces (after thinking or after looking at the editorial once) if you are aiming for Day 1 companies. I also solved the CSES problem set and I highly recommend solving it for learning all the techniques in one place.

Tests

The CDC Internship interviews began from 31st July 2022 and the tests started around 15th July 2022. On average there used to be around 2–3 tests every day and this shall continue till the end of the internship session. Coming to the test patterns, there are generally 3 questions needed to be solved in 1.5hrs, the level of difficulty of the problems are generally as follows -

  • First Problem (1400–1500 CF rated) ( Topics — Greedy, Adhoc, and constructive )
  • Second Problem (1500–1700 CF rated ) (Topics — DP, Binary Search, Greedy )
  • Third Problem (1700–2100 CF rated ) ( Topics — DP on Trees (IMP), Digit DP, Mostly Graph-based problems )

Note for the rest of the blog CF — Codeforces, CC — Codechef

Interviews

I had 2 shortlists on Day 1 — Sprinklr and DE Shaw my interview for Sprinklr was scheduled at 8 AM and immediately after that was the interview for DE Shaw. If you have multiple shortlists prepare an order in which you want to sit for the interviews and inform the placecomm , as many times going late can mean rejection as the company might have already found the required students. Also, make sure to constantly check the MFTP mail as the shortlist information might be mailed during the night as well.

Sprinklr Round 1

My interviews started with questions on React Js as I had mentioned it in my project, the questions were fairly straightforward — explain react state, react hooks, virtual DOM, etc. standard react questions. Then the interviewer moved to the DSA round — I don’t remember the exact question, but it was something about finding the lexicographically minimum string, and here I made the mistake of starting to think of an optimized solution whereas the interviewer expected just the brute force recursion solution. Eventually, I coded the brute force, and then the next question was again on strings but this time it was DP on strings and I would say somewhat 1700 CF rated. This time I solved it in the order — Brute Forces -> Optimized 1 -> Best Optimised as I had learned from the previous mistake.

Status — Rejected

Remarks — I had answered all the questions but I think my mistake was not thinking of the brute force first and wasting time in thinking of an optimized solution. I would say as soon as you get the question first write the brute force solution and then progressively optimize it if the interviewer asks.

DE Shaw Round 1

At 9 am I had my DE Shaw Round 1 and until then I didn’t know that I was rejected in Sprinklr and was still high on confidence and entered the interview meeting. The interviewer asked a basic introduction and quickly jumped into the DSA round. This first question was again based on finding some order of strings lexicographically, a question I had previously encountered on LeetCode. I explained my solution again in the order Brute Forces -> optimized -> most optimal. After this question, all my remaining questions were focused on OOPS concepts. The questions were mostly related to topics like Polymorphism, Inheritance, and other OOPs concepts.

Status — Qualified for Round 2

Remarks — Prepare OOPs properly and just don’t go through the blogs, try writing code using OOPs concepts because the questions are usually deeper than the surface level. Inheritance and Virtual functions were the 2 most important topics from which interviewers prefer to ask questions.

DE Shaw Round 2

Before starting round 2, I had gotten to know that I had not cleared Sprinklr Round 1 and was a bit disheartened, so starting feeling the pressure but somehow calmed myself and went in. This interview was a code pair round on hackerrank where a problem is given and you need to code in the IDE and pass all sample cases while discussing with the interviewer. Make sure to explain each line while coding. The question was a greedy problem around 1600 rated on CF.

After the DSA round I was again grilled on OOPs concepts and this time OOPs were a major part of the interview, I was also asked about OS concepts like threads and processes, and concepts like heap memory and stack memory. If you have time, I would recommend going through the fundamentals of OS.

After this I was asked to design a data structure that “ performs insert, delete, find and get random in O(1) time “, he would give various constraints and you would need to optimize the data structure for that use case.

I was also asked questions like how hashing work, conflict handling in hashing and how is STL map and set data structure implemented internally and a few other questions for which I highly recommend studying the internal implementation of STL data structures ( Even though I was not asked to code, some companies like Oracle and Sprinklr have the habit of asking students to code AVL Tree and Red Black in the interview, so prepare this as well).

Status — Selected

Remarks — Concentrate on OOPs and prepare them properly, also as I said earlier don’t just start using STL, first learn the data structures in STL and how they work internally. You can either learn this online or just look at the Algorithms — I course curriculum and learn it on your own.

Conclusion

The entire CDC internship process is a stressful time and many times you will feel like you have done nothing compared to others, but just have faith in your preparation. Remember that it is just a 2 months internship in your probably 25+ years of career ahead so it’s not the end of the world if you don’t get it. Also, make sure to have a good friend circle to practice together and conduct mock interviews with each other. Remember that luck is an important factor and sometimes you just can’t help it, so don’t necessarily think that not getting a Day 1 or Day 2 captures your capability. There are plenty of opportunities outside and believe in yourself and your abilities.

I know this blog was too long, but I wanted to share everything that I had learned and wanted to make it very exhaustive and so either you have reached here enjoying reading it or thinking when it will be over XD. I hope it’s the former. Feel free to reach out to me in case you want to know something else, I would be happy to help.

https://www.linkedin.com/in/jothi-prakash-72645b1b0/?originalSubdomain=in

General Queries that you might have

Q1 : Does CGPA and Dept matter?

Ans — Having a good CG is always good, but in SDE profile it does not matter much. Try to keep your Cgpa ~8.5 or more to be on the safer side. Dept matters for select companies like HFTs and probably a few more Day 1 companies but this is mostly limited to internships, during placements things will be fair.

Q2 : Where to learn CP from?

Ans — Depends on the time frame that you have left and I am assuming you are just starting from scratch then -

  • Around ~1 year or more is left up to tests — then start doing Codeforces, Codechef, and Atcoder contests. After contests make sure to upsolve the problems. Try to solve the CSES Problem Set and the Atcoder Educational DP contest as these 2 are in my opinion the best resources to learn CP in just 1 place. Cp-algorithms is also a great website to learn topic implementations.
  • Around ~6 months left — try giving contests on CF, CC, and Atcoder but also solve medium and hard problems on Leetcode, as many companies after Day 1 tend to give direct questions from leetcode or with similar varieties.
  • Around ~2 months left — try doing Interviewbit because these are even more standard problems and many of the questions here are very common to be asked in interviews so it’s better to have a look at it.

Q3 : What’s the importance of Kickstart, Codeforces, and Codechefs rating/ranks?

Ans — To be honest they don’t really matter. Kickstart ranks matter only for Google shortlisting criteria and that too is not popular nowadays. Otherwise, these things are great to put on your CV but don’t expect to get some added advantage.

Q4 : What is the importance of projects in SDE Interviews?

Ans — I would recommend putting good projects because startups tend to focus a lot on them. The FAANG companies during internships may not care about your projects but having 2–3 good projects related to the software development fields like Web development and ML projects shows your interest in the field and also are good talking points to talk about in the interview.

--

--