
Oyo Rooms


10+ Oyo Rooms Software Developer Interview Questions and Answers for Freshers
Q1. Minimum Cost to Destination
You are given an NxM matrix consisting of '0's and '1's. A '1' signifies that the cell is accessible, whereas a '0' indicates that the cell is blocked. Your task is to compute the mi...read more
Find the minimum cost to reach a destination in a matrix with blocked cells.
Use Breadth First Search (BFS) algorithm to explore all possible paths from the starting point to the destination.
Keep track of the cost incurred at each cell and update it as you move through the matrix.
Return the minimum cost to reach the destination or -1 if it is unreachable.
Q2. Zig-Zag String Problem Statement
Given a string 'STR' of length 'N' and an integer 'M' representing the number of rows in the zig-zag pattern, your task is to return the string formed by concatenating all 'M' r...read more
Given a string and number of rows, return the concatenated string formed by arranging the input string in a zig-zag pattern over the specified number of rows.
Iterate through the string and distribute characters in zig-zag pattern over 'M' rows
Keep track of the direction of movement (up or down) while distributing characters
Concatenate characters row-wise to get the final zig-zag pattern string
Q3. Count Ways to Complete Journey in Triangular Pyramid
Given a triangular pyramid with vertices marked as ‘O’, ‘X’, ‘Y’, and ‘Z’, and an integer 'N', you need to calculate the number of ways Bob can start at ‘O’,...read more
Calculate the number of ways to complete a journey in a triangular pyramid starting and ending at a specific vertex after taking a certain number of steps.
Use dynamic programming to calculate the number of ways to return to the starting vertex after 'N' steps.
Consider the possible movements from each vertex to adjacent vertices.
Keep track of the number of ways to reach each vertex after each step.
Return the total number of ways modulo 1000000007.
Example: For 'N' = 2, valid se...read more
Q4. Maximum Profit Problem Statement
Mukesh is evaluating the maximum profit from his business over a series of days. Given a list of profits over 'N' days, Mukesh wants to determine the highest profit achievable o...read more
The task is to find the maximum profit achievable over any consecutive days within a specified range {‘A’, ‘B’}.
Iterate through the profit array and calculate the cumulative sum for each possible consecutive days within the range {‘A’, ‘B’}.
Keep track of the maximum profit obtained during the iteration.
Return the maximum profit as the final result.
Q5. Boundary Traversal of a Binary Tree
Given a binary tree of integers, your task is to return the boundary nodes of the tree in Anti-Clockwise direction starting from the root node.
Input:
The first line contains...read more
Return the boundary nodes of a binary tree in Anti-Clockwise direction starting from the root node.
Traverse the left boundary nodes in a top-down manner
Traverse the leaf nodes from left to right
Traverse the right boundary nodes in a bottom-up manner
Handle cases where duplicates occur in the boundary nodes
Implement the function without printing as printing is already managed
Q6. Maximum Sum of Non-Adjacent Elements
You are given an array/list of integers. The task is to return the maximum sum of a subsequence such that no two elements in the subsequence are adjacent in the given array/...read more
Find the maximum sum of non-adjacent elements in an array.
Use dynamic programming to keep track of the maximum sum at each index, considering whether to include the current element or not.
At each index, the maximum sum can be either the sum excluding the current element or the sum including the current element but excluding the previous element.
Iterate through the array and update the maximum sum accordingly.
Example: For [3, 2, 7], the maximum sum would be 7 (3 + 7) as 3 and ...read more
Q7. Count Pairs with Given Sum
Given an integer array/list arr
and an integer 'Sum', determine the total number of unique pairs in the array whose elements sum up to the given 'Sum'.
Input:
The first line contains ...read more
Count the total number of unique pairs in an array whose elements sum up to a given value.
Use a hashmap to store the frequency of each element in the array.
Iterate through the array and for each element, check if (Sum - current element) exists in the hashmap.
Increment the count of pairs if the complement exists in the hashmap.
Q8. Ways To Make Coin Change
Given an infinite supply of coins of varying denominations, determine the total number of ways to make change for a specified value using these coins. If it's not possible to make the c...read more
The task is to find the total number of ways to make change for a specified value using given denominations.
Use dynamic programming to solve this problem efficiently.
Create a 2D array to store the number of ways to make change for each value using different denominations.
Iterate through the denominations and update the array accordingly.
The final answer will be stored in the last cell of the array.
Consider edge cases like when the value to make change for is 0.
Q9. Rat in a Maze Problem Statement
You need to determine all possible paths for a rat starting at position (0, 0) in a square maze to reach its destination at (N-1, N-1). The maze is represented as an N*N matrix w...read more
Find all possible paths for a rat in a maze from source to destination.
Use backtracking to explore all possible paths in the maze.
Keep track of visited cells to avoid revisiting them.
Explore all possible directions (up, down, left, right) from each cell.
Add the current direction to the path and recursively explore further.
When reaching the destination, add the path to the list of valid paths.
Q10. Sum Tree Conversion
Convert a given binary tree into its sum tree. In a sum tree, every node's value is replaced with the sum of its immediate children's values. Leaf nodes are set to 0. Finally, return the pre...read more
Convert a binary tree into a sum tree by replacing each node's value with the sum of its children's values. Return preorder traversal.
Traverse the tree in a bottom-up manner, starting from the leaf nodes.
For each node, update its value to the sum of its children's values.
Set leaf nodes to 0.
Return the preorder traversal of the modified tree.
Q11. Triangle Formation Using Array Elements
Given an integer array/list ARR
of length 'N', determine if it is possible to form at least one non-degenerate triangle using the values of the array as the sides of the ...read more
Determine if it is possible to form a non-degenerate triangle using array elements as sides.
Check if the sum of any two sides is greater than the third side for all combinations of sides.
If the above condition is met for any combination, return true; otherwise, return false.
Q12. Running Median Problem
Given a stream of integers, calculate and print the median after each new integer is added to the stream.
Output only the integer part of the median.
Example:
Input:
N = 5
Stream = [2, 3,...read more
Calculate and print the median after each new integer is added to the stream.
Use a min heap to store the larger half of the numbers and a max heap to store the smaller half
Keep the sizes of the two heaps balanced to efficiently calculate the median
If the total number of elements is odd, the median will be the top element of the max heap
If the total number of elements is even, the median will be the average of the top elements of both heaps
Core concepts of indexing in DBMS include types of indexes, benefits of indexing, and factors affecting index performance.
Types of indexes: B-tree, Hash, Bitmap, etc.
Benefits of indexing: Faster data retrieval, improved query performance, reduced disk I/O.
Factors affecting index performance: Selectivity, clustering factor, index fragmentation.
Examples: Creating an index on a column in a table to speed up search queries.

Top Software Developer Interview Questions from Similar Companies








Reviews
Interviews
Salaries
Users/Month

