Location – Bits Pilani Campus
Criteria :Cs/IT/ECE And CGPA min of 7.0[CSE] .For ECE =7.5
D. E. Shaw generally prefers computer science branch students but they’re not as strict as Amazon or Google and for for CS students it was only 7.0 . Luckily, my CGPA was above the cutoff and I was allowed to sit for the process.
Initially they took an online round but due to some network problem, they had to scrap it. Next morning, they came up with a paper based round. There were 2 sections. One was aptitude and one was coding, both being objective type. The aptitude section was as lengthy as difficult. No one could have solved all 30 questions in 30 minutes time. Infact, I was only able to attempt 10. Next 40 minutes or so was reserved for the coding test. The questions they asked covered almost all the topics they mentioned in their pre-placement presentation. But the maximum number of questions were related to getting output or finding errors in C, C++ and JAVA codes. The questions they asked from theoretical subjects were more or less the basics and easy. In those questions (which were quite a few in number), you will be given a huge chunk of code with some part missing and you have to identify which snippet among the options best fits in there. Sometimes its given what the code is supposed to do, but in some questions it was also your task to find out. So I think the differentiating factor is how well your actual coding skills are. And you need to know these 3 languages atleast – C, C++ and JAVA. Again, similar to aptitude section the coding section was also very lengthy with some programs extending upto 1 or more pages. I’d recommend to skip those programs initially and jump to other easy problems first. Then if you have time, you can come back and attempt them.
In the end of the coding round, they had one special subjective test in which they asked you to write the full code in any language for the give problem statement. In my case, the problem was : “Given a tree, find the depth of the largest binary search tree it contains.” I know it sounds simple enough but only until you start coding it. And while writing codes of such problems, make sure to display your data-structures and algorithmic skills and not your knowledge of STL libraries. Even if you’re not able to solve the problem and you used some complicated data structures (by using, I mean you created them from scratch without any help from STL libraries) and some good algorithms, then they are likely to appreciate your coding skills if not your problem-solving skills. And just a hint although I think you already know this – BST are the favourites of all software companies . Overall, I sat for 2 companies including Amazon and both of them had a coding problem related to BST only.
Anyways, then there were usual HR questions like your hobbies, interests, family background, history of my town, etc. He did ask me some technical questions also like on seeing the word ‘Hacking’ in my resume, we started discussing upon hacking, its types and laws related to it.
They started off with puzzles, which were quite easy and common ones. Then only after 2 puzzles they started asking me about my favourite subject and language. I told them OS, Networks and C++. But instead they asked me all about Java ! I kept telling them I hadn’t revised Java but that didn’t help. They’ll ask some question and I’ll write the code in C++ and they would ask me to convert it to Java. They’d also ask the equivalents of C++ OOP concepts in Java. Its not that I know nothing of Java, I have actually done a lot of coding in it, but that day and time, I was totally unprepared. So I kept guessing a lot based on my poor memory and later to my surprise, I found I got many of them right .
They also asked some design questions in which they asked me to write the class and related functions (just the prototypes) for implementing a parking lot management system. Then there were questions on hacking and security. They also asked about the network problem they faced the previous day when the online round was going on, due to which they had to scrap it. They asked what could be the reason behind it and what could be the solution. Overall, again the majority of the questions were coding type with C++ concepts like virtual functions, JAVA OOP, and design problems. This round went on for 15-20 minutes past 1 hour or so.
Finally, after few hours I was called for my last interview round. It was more like a casual round in which the D.E.Shaw associate director was taking my interview. The first thing he said was “I just wanted to meet you once myself” and he asked a few HR questions again. He asked me if I had any higher studies plan, my strengths and 2 weaknesses, why their company, etc. It was a cool round with the atmosphere also easy and it went on for just 20 minutes or so.
Technical Questions Summary :
What is the difference between C and C++?
What is inheritance?
What is the difference between default and copy constructor?
What are access specifiers?
What is library functions?
What is the difference between DML and DLL?
What is the difference between primary key and unique key?
What is the use of Cursor?
What is a stack?
What is an Assembly?
What are class access modifiers?
What is serialization?
What is the purpose of Normalisation?
What is the difference between Truncate and Delete?
What is the difference between DBMS and RDBMs?
What is Recursion Function?
Thanks Subhajit Ganguly for contributing this article. If you would like to contribute, mail us your interview experience at [email protected] We will like to publish it on CrazyforCode and help other job seekers.