Schrödinger (D.E. Shaw) Interview Experience (On-Campus)
Introduction:
Schrodinger came on IIIT-A campus with following criteria:
Job Designation — Schrödinger Associate Developer Intern
Eligibility-
IT,IT-BI-7 CGPA
EC-8 CGPA
Preparation Phase :
I started preparing for intern around January of 2021. I participated in numerous contests on Codeforces, Codechef for improving my competitive coding skills. To sharpen my knowledge of DSA, I also practiced on InterviewBit and LeetCode. This was more than enough for me to develop my coding skills.
In the last 2–3 months before intern recruitment, I studied the likes of Operating System (OS), Object Oriented Programming (OOP), Database Management System (DBMS).
Recruitment Process:
Schrodinger took 1 coding round and 2 interview rounds to select the interns. The entire interview process was eliminative in nature. There was no HR round. The interview rounds were a combination of DSA and Subjects.
Round 1 : Coding Round
The Coding Round was conducted on 5th August, 2021 from 10:30 AM to 12:00 PM. The Round was conducted on HackerRank Platform. It included 2 coding problems. The first problem was a variation of Greedy DP. The second problem was a variation of Longest Common Subsequence DP. Both problems were solvable for someone who has a been thorough with DP questions.
19 students were shortlisted for the next round. Notice was conveyed around 2 PM on the same day by the placement cell.
Round 2 : Interview Round — I
First interview round was conducted on 5th of August itself. Shortlisted students were called for the interview in turns. My round began at 3 PM, just an hour after the shortlist notice. 2 recruiters where present in this interview round and the round was conducted on Hacker Rack Live Interview Platform. On this platform live coding, and compiling and running of code is possible
The interviewer asked a short introduction about me.
Note for ECE students : When I mentioned I belonged to the ECE batch, the interviewer asked me why was I applying for an IT Firm? I would suggest all ECE students to be ready with an answer to this question.
After introduction the interviewers proposed an coding problem to me. Firstly we discussed the brute force implementation, then boundary conditions, and some other test cases. Then I improvised the code using binary search algorithm. The question was related to Binary Searching of Answer. After being satisfied with a log(N) complexity he asked me to code the solution in any preferred language on the platform. After coding he ran some testcases and was in the end satisfied with the code.
Note : When coding in interview rounds try to write clean code with meaning full variable names. It makes it very easy for the interviewer to understand your logic and puts a good impression as a programmer on him
After first question the interviewer went for some subject knowledge. I was asked some questions on Operating system on topics like Dead Lock, semaphores and scheduling algorithms.
Then the interviewers went for another coding question which was related to finding missing element in the array question. I gave 2 O(N) solutions using hashing (O(N) space complexity) and Bitwise Operations (O(1) space complexity).
After being satisfied by the solution the interviewers again went for some subject knowledge. I was asked some questions on DBMS on topics like Transactions, ACID property, and SQL.
The interview ended around 4:30 PM. Around 8–9 students were shortlisted for the next round
Round 3: Interview Round — II
Around 5 PM on the same day I received notification of round 2 interview from 5:30 PM. This round too had 2 interviewers and was conducted on the same platform
The Round started with a brief introduction and then escalated to a coding problem related to BFS algorithm on Binary Tree. Question was some variation of finding the k-th element in the Binary Tree. I came up with a solution of O(k) using BFS. But the interviewer asked me to solve it in O(log(k)). I spent around 10 mins explaining all the thoughts that came to my mind but was unable to come up with the final solution. Although, the interviewer said that I was close enough to the final solution and went ahead with the interview process.
Note : There is a possibility that you may encounter questions which you cannot solve at the moment. Its better to try brain storming on it and keep telling the interviewers about what you are thinking. Being honest and accurate is the key in such situations. The interviewer will guide you to the right path or at least will understand your problem solving abilities.
After the coding question I was asked some basics about Graph Theory, Binary Tree, Fenwick Tree. Just the algorithms and what are they used for. No coding was involved here.
Then the interviewers asked about my projects in APP development and DBMS. After explaining the projects the interviewers asked me some questions on OOPs and DBMS. Questions were related to the topics of Abstraction, Inheritance, Runtime Polymorphism and Transactions.
Note : Have a thorough knowledge of the technologies used in your projects. Interviewer may judge your project by asking you about the technologies used, why were they used, what problems you faced while building the project and what ways you came up with to solve those problems
This interview ended around 6:45 PM.
For rest of the candidates the interviews were conducted till next day. And around 7 PM on 6th August 2021 announcing selection of 4 candidates (including me).
Hope this article helps some of you. If you have any query you can ask in the comment section. Thank You!