# Goibibo Interview Experience (Off-Campus)

• Last Updated : 13 Feb, 2019

Technical Round (1 hr):

1. Print a binary tree in vertical order.
https://www.geeksforgeeks.org/print-binary-tree-vertical-order-set-2/
2. The intersection of two Linked List:
3. k largest element in an array.https://www.geeksforgeeks.org/k-largestor-smallest-elements-in-an-array/

I answered all question, they were mainly focusing on your logic, code quality, and complexity. Make sure whatever logic you tell, you should be able to come up with optimized code for that.

Hey geek! It's time to become a success story instead of reading them. Check out our most renowned DSA Self Paced Course, now at a student-friendly price and become industry ready. And if you are looking for a more complete interview preparation resource, check out Complete Interview Preparation Course that will prepare you for the SDE role of your dreams!

Feeling prepared enough for your interview? Test your skills with our Test Series that will help you prepare for top companies like Amazon, Microsoft, TCS, Wipro, Google and many more!

Technical Round (45 mins):

This round was basically to test your core mathematical logic and system design.

1. Probability question ( 12th std level)
2. Discuss on one of my ML project and some mathematical discussion on probability distribution as per my project.
3. Design a lift. Generalize it for an apartment where 2 or more lifts are running.
4. One puzzle. (Interviewer showed me a pic and asked me to answer some 8 questions. That was just to check my thinking and awareness about things).

Make sure while answering the design question you are making use of OOPS concepts.

Managerial Round(1.15 hr):

It was the toughest round of all. The manager basically wanted to check logical thinking, OOPS concept, DB knowledge and real-time problem-solving approach which involves architecture and technology used and why.

1. Given a DB table, 1000 readers and 2 writers. The first guy read the data at 5:15 pm and starts processing, the second guy updates the data at 5:20 pm(the first guy is still processing), now the first guy come and update the data at 5:25 pm. So data updated by the second guy got lost. How do you prevent this?
2. There is a parent class A whose all functions are public. Class B and class C inherit Class A. certain function of class A should not be accessible in class B ( i.e when you create an object obj of class B and do obj.fn(),  it should throw an error). How do you achieve that? (It shouldn’t be language specific).
3. He asked me one algo question which I don’t remember now. It was something to do in place in an array.

He told me to answer at least two questions then he will ask one real-time problem else you can go home. I answered two questions somehow and got the chance to solve the real-time problem. The problem statement was:

Some companies store their employee data in excel sheet. We are going to give them a solution so that they can view their data in a dashboard designed by our company. Whenever any member of a company logs in, you should populate the data relevant to that particular company. Now address the following problems:

1. How will different company gives us the excel sheet data and store it in our DB directly and also which technology will you use and why?
2. The architecture of the system.
3. DB Schema of the system.

Gave him all solution for all the problems above and he seemed happy. And he welcomed me in his team :D.

HR Round(15 min):

Normal discussion on salary and HR queries.

Finally got the offer letter 🙂

My Personal Notes arrow_drop_up