D. E. Shaw Internship Interview Experience | Off Campus

Round 1:  Online AssessmentPlatform: HackerRankDuration: 95 minutesThree coding questions with a restricted time limit for each: 25 minutes, 35 minutes, 35 minutes.Given a string of size 26 representing different types of gems (denoted by a lowercase English alphabet) in increasing order of their power and a string array of size n denoting the n sequences of all the n participants. Each participant is required to use one gem per round in the same order they are placed in the assigned sequence. (That is, 1st gem of their sequence should be used in the 1st round, 2nd gem in the 2nd round, and ith gem in the ith round). In each round, a participant will be eliminated if either they don’t have any gems left to use in that round or the gem they are using is less powerful than at least one of the other participant’s gems in that round. (There may be 0 or more eliminations in each round). The task is to determine which participant will remain till the last and become the winner.Minimum number of operations to get desired arrayYou have N1 fruits and N2 vegetables in your shop. Let f[i] be the profit you earn if you sell ith fruit and v[i] be the profit you earn if you sell ith vegetable. The customer is only allowed to take an equal number of fruits and vegetables. The formula to calculate the profit earned is: If [f1, f2, f5] are the fruits sold and [v1, v5, v7] are the vegetables sold in a day, then the profit earned is: f1 * v1 + f2 * v5 + f5 * v7. It is not necessary that fi is sold in a pair with vi. However, fruits and vegetables can be sold according to their order only. Calculate the maximum profit that can be generated.Round 2 – Technical Interview 1Platform: CodepairDuration: 1 hourIntroduce yourselfExplain one of your projectsCoding Problem: Count the number of ways to empty a box containing n chocolates if only 1 or 3 chocolates can be picked up at a time.Idea: This problem is a variation of count number of ways to reach the nth stairA lot of questions on classes, constructors, destructors, virtual functions, dynamic memory allocation, etc. (In-depth questions from these topics)Data Structure design problem: Given a never-ending stream of cities representing the query for a certain city, design a data structure to store them in such a way that the top 10 most queried cities can be retrieved efficiently in the decreasing order of their number of queries with each subsequent entry.Round 3:  Technical Interview 2Platform: CodepairDuration: 1.5 hoursQuestions from DBMS:Difference between SQL and NoSQL Databases and their examplesForeign keyACID propertiesDefine transactionRollback and commitWrite a SQL query to fetch names of students getting second-highest score (Marks in 5 subjects are given for each student in a single table. Final score of a student = sum of marks obtained in all 5 subjects)Again questions from OOPs.Data Structure design problem: Design a data structure to implement browser history. It should have the following features:Last accessed URLs should be sorted according to their timestamps (latest to earliest)Search the URLs accessed within a given time duration (like last 30 minutes, 1 hour, etc.)Search a URL with a given keywordRound 4: Technical Interview 3Platform: CodepairDuration: 25 minutesData Structure Design Problems:Design a data structure to implement dynamic polymorphism in C++Given a never-ending stream of cities, design a data structure to store them in such a way that the cities are stored efficiently in the decreasing order of their number of visits with each subsequent entry. If two cities have the same number of visits, then they should be stored in the order of their first occurrence in the stream.A brief discussion about virtual functions and C++ dynamic binding mechanism.Some questions regarding my past internship experiences and technologies I had experience with and would like to work with.I received a call after a day or two and was informed that I was selected.Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course. In case you are prepared, test your skills using TCS, Wipro, Amazon. Google ,  E-Litmus and Microsoft Test Serieses.