Oyo rooms visited our campus and it conducted 3 rounds for the Software engineer role.
Round 1: Online Test
- First round is an online coding round which contains 10 MCQ and 2 programming questions.
- MCQs were on os, dbms, mainly. The difficulty level was medium.
- Question 1: Longest increasing subsequence : https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/
- Question 2; Gray code (most optimised way): https://www.geeksforgeeks.org/generate-n-bit-gray-codes/
Round 2: Technical Skills
It began with a quick set on questions on resume.
- 1-2 projects asked in brief
- difference between interface and abstract class: https://www.geeksforgeeks.org/difference-between-abstract-class-and-interface-in-java/
- write method to show difference between pass by value and pass by reference
- oops principles :https://www.geeksforgeeks.org/object-oriented-programming-oops-concept-in-java/
Note: The code should be correctly written
1. The interviewer then asked me to write the code to print the vertical traversal of a binary tree.
2. It was a variation of tic and toe with n rows and n columns. I was told the winning states and was asked to implement it. — the question was asked because I have implemented tic tac toe in a project.
3. The minimum time is taken to burn the tree completely if the leaves of the tree are set to fire. (bfs solution)
Round 3: Technical Skills
- Asked to tell which concept to be used to design a message delivery system in which every message has priority.
- Continuing the above question — heap implementation was asked in detail.
- histogram question– https://www.geeksforgeeks.org/largest-rectangle-under-histogram/
- I was asked to tell how to design a dictionary (Trie data structure used) only concept was asked. Didn’t ask to write code.
Also , the focus was to check to write code correctly, problem solving skills and also optimizing the code further.