Hi again! As promised in my previous post about placement in DE Shaw & Co, I have compiled the questions asked to me in the interviews. I tried to recall as many as I could. But essentially, the focus of the interviews was on the basic concepts & algorithm designing. What counted the most, like any other technical interview, was the approach towards the problem in case of puzzles and writing code. So here are the questions. I have given my responses to some of the questions inline.
1st Technical Interview:
Duration: 1 hour 30 minutes
- Tell me something about yourself…
This is certainly a hot favourite question to start any interview with. Advised to prepare a good 5 minute speech covering your personal info, academic performance and interests, hobbies, extra-curricular activities, etc. Basically, let the interviewer know what you are as a person and what are your likes
- What are your favourite programming languages?
- What are your favourite subjects?
I had mentioned OS, Data Structures, Web development as my subjects of interest. But the interviewer started asking me questions on DBMS instead! And that is what most of the interview revolved around. Thankfully, I could answer most of the questions to the point. Internship at Eaton helped
- What do you mean by normalization in DBMS?
- Explain each of the normal forms.
- What is a trigger?
- When and how is a trigger useful?
- What are stored procedures?
- What are transactions?
- In case of transaction failures, what are the actions that need to be taken?
- What are possible approaches for backup and recovery?
- What is shadow paging?
- A table of students, subject and marks was given. Write an SQL query to sort the students based on their rank. The output should have two columns – Student and Rank
- What is indexing? When is it useful?
The DBMS questions ended here. I was later asked some questions on Data Structures, OS and Computer Networks…
- You are given a linked list. Implement it as a stack. That is, implement push() and pop() operations on the linked list.
- Given a binary tree, write a function which takes two nodes as input and prints their least common ancestor.
- Find the complexity of the code snippet written for previous question. Can you improve upon it?
- A recursive function was given with some complicated mathematical formula. What is this function doing?
- How will you print the contents of the program you are running?
- What information is stored in Process Control Block (PCB)?
- What is paging?
- What is demand paging?
- What is swapping and thrashing?
- What is subnetting? What is subnet mask?
- What is the job of transport layer? What are TCP and UDP?
- UDP is connectionless and unreliable. What will you add to it to make it reliable and how?
- Do you have any questions for us?
Always ask questions to show interest in the company. I had a question in my mind after the pre-placement talk. Had reserved it for the interview. I asked them about how do they store humongous information with around 200 ticks per second? Is that bigdata? How is it implemented at system level?
Duration: 20 minutes
- Tell me something about yourself..
- What do your parents do?
- How was your first interview?
- What did you like about it?
I really had enjoyed the interview. It was good and interactive, I said…
- What did you dislike?
My interview had got delayed by an hour and half. I told her about this. I did try to cover up by saying that it’s not exactly that I dint like….but was interrupted and told that it’s good to be honest!
- What are you passionate about?
Anything remotely related to computer science. I like to work on latest technologies.
- What is cloud computing? Explain it considering that I am a non-technical person.
- What is the difference between server and cloud?
- Tell me something about the Google Hackathon you attended…
- Do you have any questions for me?
Again, it is good to ask questions. I asked her how did she feel working at Shaw? And what was the biggest motivation to work at Shaw?
2nd Technical Interview:
Duration: 1 hour 20 minutes
I was greeted with – “Your resume looks quite impressive!”. That boosted my confidence!
- How was your day? Are you tired?
- How was your first technical interview?
- Which topics were you asked about?
- Speak on each of your projects for 2 mins
- Why do you like jQuery so much?
- What is Neo4j? Why did you use a graph database in your project?
- Puzzle: How many trailing 0’s will be present in 100! ?
- Puzzle: You have 100 doors in a row that are all initially closed. You make 100 passes by the doors starting with the first door every time. The first time you visit every door and toggle the door (if the door is closed, you open it, if its open, you close it). The second time you only visit every 2nd door (door #2, #4, #6). The third time, every 3rd door (door #3, #6, #9), etc, until you only visit the 100th door. What state are the doors in after the last pass? How many doors will be open?
- Write a code snippet to find permutations of a string.
- You are given millions of strings. Output shall be all the strings that start with a particular key. For example, print all strings starting with “ab”. Design a data structure for this problem. It shall be an efficient one and should handle all possibilities.
This problem was discussed for around 40 minutes. Various possible solutions were discussed right from brute-force approach to an efficient design. Initially, I designed the data structure using concept of hash tables. But flaws in design were pointed out. And it dint handle all cases as well. Hint was given to use an n-ary tree. I used 26-ary tree and designed the data structure for it.
- Write the structure definition for the data structure designed.
- Now, write a function to find the solution to the problem
- What is an assembler? What is a compiler?
- Do you have any questions?
I told him that I enjoyed the interview thoroughly. It was great brainstorming. What improvement would you like to see in me?
That’s it! These were the questions asked to me. I hope they give enough hint about the types of questions asked in the technical interviews and specifically, at DE Shaw.
Also, I have got great response from friends and juniors about my placement blog. So, thank you all for it! 🙂
In the next post, I’ll post some tips for juniors from whatever experience I have about interviews. Till then, goodbye! 🙂