BookMyShow SDE1 Interview Experience (On Campus)
BookMyShow visited our campus on 26th July 2019 for the profile of SDE1. The total process consisted of 6 rounds.
First Round: Online Round
This round was conducted on HackerRank. It had 3 coding questions and 5 subjective questions. Total of 138 people appeared for this round.
1) Given two strings, return minimum no of modifications to convert one string into anagram of other.
2) Given preorder traversal of a tree, check if it is the pre order traversal of a BST
3) Given a number n, we want to reduce this number to zero. Return minimum no of operations to be performed.
A particular bit of a number can be changed to zero by only one of the two operations available at a time,
1) if (i+1)th bit is 1 and all the bits from (i+2)th bit to the least significant bit is zero.
2) least significant bit can be toggled
Subjective questions were:
1) What is bookmyshow according to you and what do we do here?
2) Who is your role model and why?
3) What is cloud computing explain it in one line.
4) Why you want a secure job or exciting job?
5) I do not remember the last question.
I solved two coding questions and completed the subjective section.
Total of 17 out of 138 students were shortlisted for the face to face interviews. Everyone who solved 2 were selected, some people with only one solved were also selected on the basis of their answer to the subjective questions.
Tip: Be regular with competitive programming to clear this round and stay calm.
Second Round: Technical Interview 1 (Projects and Concepts)
Interviewer was very friendly, He started the interview by introducing himself and told about his work at BookMyShow.
1) Tell me about yourself and then asked me about my project which I had made during the Smart India Hackathon. Asked me to explain the flow of the entire System. Told me to design the entire architecture and asked me about my work in the team.
2) This question covered almost all DB concepts. Asked me to design a system where a student can be registered, we can fetch its details, update the student details and delete the student, asked me about all the APIs I will write for it and what type it will be(POST/GET/PUT/DELETE). Asked me to design the entire schema of the system. Then he asked me about Normalisation and asked me 3-4 queries. Queries were related to INNER JOIN, LIKE keyword. Interviewer was very helpful. He was helping me in case I was stuck in writing the queries. Difference between DELETE, DROP and TRUNCATE
3) What do you understand by REST?
4) Asked me a few questions on Compile time polymorphism and Runtime polymorphism. Wrote few functions himself and asked me output.
5) He then went on asking questions on Operating System. What is virtual memory? Explain me scheduling algorithms. What do you understand by synchronisation. Differences between Lock and Mutex, Mutex and Semaphore.
This round lasted for more than an hour and I answered almost every question, got confused in answering polymorphism questions.
Then he asked me a question. What would be the reason to not select you? He just wanted to know if I admit my mistakes.
He then asked me If I had any questions? I asked a couple of them.
I got the feedback from the interviewer that I was very nervous during the interviews.
Tip: Be thorough with the Computer Science basics (DSA, OS, CN, DBMS) and know your projects well and ask questions to the interviewer too.
8/17 were selected for the next round.
Third Round: Technical Interview 2 (DSA, Projects)
Interviewer was very young and quite chill. He started with tell me about yourself.
1) Asked me about the most recent project I have worked on and what challenges I faced and how I tackled them.
2) Since my project was based on Node.js he asked me a few questions on promises and on async await as well. Why did you choose Node ?
3) He then asked me my approach for solving the 9 x 9 sudoku. I gave backtracking based approach and he was satisfied.
4) He asked me approach for both the questions of the online round.
5) He then asked me about Dynamic programming and in what scenarios will I apply dp.
6) Given an array, return the number of distinct unordered pairs from this array.
7) What is cache invalidation? Implement LRU cache.
8) He ended the interview asking few questions on Node
I answered every question in this round. It ended on a high note.
This round lasted for 30-40 minutes.
5/8 were shortlisted for the next round.
Tip: Be good with Data Structures and Algorithms, practice on geeksforgeeks, leetcode and other platforms and be well versed with the technologies used in your projects.
Fourth Round: Technical Interview 3 (Design round)
This for me was the toughest of all.
1) Asked about my Chat application project. Which library was used. Since it was based on socket.io he asked me on what layer is socket.io built on? Couldn’t answer this
2) Is node single threaded?
3) what happens when you hit www.google.com on chrome. Explained the entire flow. Explained him about dns, isp, sockets, cache etc
4) What role would you want at bookmyshow and why?
5) There are multiple payment gateways and you have keep track of success rate of payment gateway in real time. We want to route the request to the gateway with most SR. I gave him the load balancing and round robin based approach. He wasn’t satisfied. He finally gave me a solution to route most of the traffic to the most SR gateway and load balance the remaining.
This round did not go well.
3/5 were shortlisted for the next round.
Tip: Read the documentation of the particular library you are using in your projects.
I was not shortlisted for further rounds, because the third round didn’t go well compared to the other two and I was very nervous during the interviews.
5th round was managerial round which was the last round and 6th round was HR round which was more of a formality.
They finally selected only 1 student for the SDE1 position.
Tip: BMS expects you to be good with the basics of CS, Design and technologies you mentioned in your resume. Interviewers are helpful, they want to know how you think, take hints nothing wrong in it. Results might not go your way even after your rounds go well. Try to remain calm and composed. Do not get nervous.