i
Oyo Rooms
Filter interviews by
Clear (1)
I was interviewed in Jan 2021.
Round duration - 90 minutes
Round difficulty - Hard
Timing was 11 am. Platform was quite well.
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 ma...
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.
Recursively try moving in all directions (up, down, left, right) until reaching the destination.
Add the path to the result list when the destination is reached.
Sort the result list alphabetically before returning.
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 ...
Find the minimum cost to reach a destination in a matrix with specified rules.
Use BFS traversal to explore all possible paths from the starting point to the destination.
Keep track of the cost incurred at each cell and update it accordingly.
Return the minimum cost to reach the destination or -1 if unreachable.
Tip 1 : Practice data structure based questions.
Tip 2 : OOPS is very important.
Tip 3 : Prepare OS and DBMS for mcq.:
Tip 1 : Have some projects on resume.
Tip 2 : Keep it short.
I was interviewed in Dec 2020.
Round duration - 90 minutes
Round difficulty - Easy
Given a directed graph, you need to determine whether or not the graph contains a cycle.
Your function should return true
if there is at least one cycle in the graph; ...
Detect cycles in a directed graph and return true if a cycle exists, false otherwise.
Use Depth First Search (DFS) to detect cycles in the graph.
Maintain a visited array to keep track of visited vertices and a recursion stack to keep track of vertices in the current DFS traversal.
If a vertex is visited and is present in the recursion stack, then a cycle exists.
Example: For the input graph with vertices 0, 1, 2 and edges...
Given a permutation of ‘N’ integers, rearrange them to generate the lexicographically next greater permutation. A sequence is a permutation if it contains all integers f...
The problem involves rearranging a permutation of integers to generate the lexicographically next greater permutation.
Understand the concept of lexicographically next greater permutation.
Implement a function to find the next greater permutation.
Handle cases where no greater permutation exists by returning the smallest permutation.
Round duration - 60 minutes
Round difficulty - Easy
Given a binary tree with N
nodes, determine whether the tree is a Binary Search Tree (BST). If it is a BST, return true
; otherwise, return false
.
A binary search tree (BST)...
Validate if a binary tree is a Binary Search Tree (BST) or not.
Check if the left subtree of a node contains only nodes with data less than the node's data.
Check if the right subtree of a node contains only nodes with data greater than the node's data.
Recursively check if both the left and right subtrees are also binary search trees.
Tip 1 : Prepare Data Structures
Tip 2 : Solve atleast 300-400 problems
Tip 3 : Prepare computer science subjects for solving MCQ's
Tip 1 : Projects around oops would be great
Tip 2 : Be confident about everything you write
I was interviewed in Nov 2020.
Round duration - 90 minutes
Round difficulty - Medium
The test was scheduled at 2:30 PM, IST. The test was conducted online, due to the ongoing pandemic situation. Webcam was required to be switched on during the complete duration of the test. I had solved 2/2 coding questions with all test cases successfully passing. Out of the 10 MCQ questions, I had done 6. Around 90 students sat for the online coding round, 19 were shortlisted for the interview. Those who had solved both coding questions were called for interview.
Prateek is a kindergarten teacher with a mission to distribute candies to students based on their performance. Each student must get at least one candy, and if two s...
The task is to distribute candies to students based on their performance while minimizing the total candies distributed.
Iterate through the array of student ratings to determine the minimum number of candies required.
Assign each student at least one candy.
Adjust the number of candies based on the ratings of adjacent students to minimize the total candies distributed.
Example: For ratings [5, 8, 1, 5, 9, 4], the optimal ...
Ninja Yuki wants to purchase ninja blades at the Spring Fair in his village. Initially, he has 0 blades, and his goal is to buy 'N' blades. The merchant...
Calculate the minimum cost to acquire a specific number of ninja blades using a given pricing mechanism.
Iterate through each test case to determine the minimum cost needed to acquire the desired number of blades.
Consider the cost of adding 1 blade versus doubling the current number of blades to reach the target quantity.
Keep track of the total cost as blades are acquired based on the pricing mechanism.
Return the minimu
Round duration - 60 minutes
Round difficulty - Medium
This was a pure DSA based round. Two questions were asked in this round. The interviewer was quite good, and helped in between.
Given a string A
consisting of lowercase English letters, determine the first non-repeating character at each point in the stream of characters.
Given a string of lowercase English letters, find the first non-repeating character at each point in the stream.
Iterate through the characters in the string and maintain a count of each character.
Use a queue to keep track of the order of characters encountered.
For each character, check if it is the first non-repeating character by looking at its count in the map.
If a character's count is 1, it is the first non-repeatin...
Given a 2-dimensional boolean matrix mat
of size N x M, your task is to modify the matrix such that if any element is 1, set its entire row and column to 1. Specifi...
Modify a boolean matrix such that if any element is 1, set its entire row and column to 1 in-place.
Iterate through the matrix to find elements with value 1.
Use additional arrays to keep track of rows and columns to be modified.
Update the matrix in-place based on the identified rows and columns.
Round duration - 75 minutes
Round difficulty - Medium
This round was also again focused on DSA. Two interviewers were present. This round was very extensive and everything was asked in depth as well as they asked to write the codes as well for all the questions. I was also asked to explain my projects, they were based on ML. Many aspects of OOPs, POP, memory allocation was asked as well.
Given an array ARR
of size N
, determine the maximum sum of i * ARR[i]
possible through any number of rotations. Both left and right rotations are allowed, and can...
Find maximum sum of i * ARR[i] possible through any number of rotations in an array.
Calculate the sum of i * ARR[i] for each rotation and find the maximum sum.
Consider both left and right rotations.
Optimize the solution to avoid redundant calculations.
Handle edge cases like empty array or single element array.
Given an arbitrary binary tree consisting of 'N' nodes numbered from 1 to 'N'. Each node is associated with a positive integer value. Your task is to ca...
Calculate the average of node values at each level in a binary tree.
Traverse the binary tree level by level using BFS
Calculate the sum of node values at each level and divide by the number of nodes at that level
Print the floor value of the average for each level
Tip 1 : Primary skill to be developed is problem solving, i.e proficient in data structures and algorithms.
Tip 2 : After this, practice competitive programming, start giving contests, this will make you faster.
Tip 3 : Then take any technology, e.g., machine learning, web development etc., make few but good projects using these technologies.
Tip 1 : Make it short, 1-2 pages max. Only mention those projects that you know the best.
Tip 2 : While mentioning projects, do mention numbers in them, like what was the accuracy(in case of ML projects).
I was interviewed before Sep 2020.
Round duration - 60 minutes
Round difficulty - Medium
Given an array of integers with 'N' elements, determine the length of the longest subsequence where each element is greater than the previous element. This...
Find the length of the longest strictly increasing subsequence in an array of integers.
Use dynamic programming to keep track of the longest increasing subsequence ending at each element.
Initialize an array to store the length of the longest increasing subsequence ending at each index.
Iterate through the array and update the length of the longest increasing subsequence for each element.
Return the maximum value in the ar...
Ninja has a string of characters from 'A' to 'Z', encoded using their numeric values (A=1, B=2, ..., Z=26). The encoded string is given as a sequence of digits (SEQ). The task is t...
The task is to determine the number of possible ways to decode a sequence of digits back into a string of characters from 'A' to 'Z'.
Use dynamic programming to keep track of the number of ways to decode the sequence at each position.
Consider different cases when decoding the sequence, such as single digit decoding and double digit decoding.
Handle edge cases like '0' and '00' appropriately.
Return the final count modulo
Round duration - 60 minutes
Round difficulty - Medium
Given a binary tree with 'N' nodes, determine if all the leaf nodes are situated at the same level. Return true
if all the leaf nodes are at the same level, otherwis...
Check if all leaf nodes in a binary tree are at the same level.
Traverse the binary tree and keep track of the level of each leaf node.
Compare the levels of all leaf nodes at the end to determine if they are at the same level.
Use a queue for level order traversal of the binary tree.
Given an array of integers, determine the maximum sum of a subsequence without choosing adjacent elements in the original array.
The first line consists of an...
Find the maximum sum of a subsequence without choosing adjacent elements in an array.
Use dynamic programming to keep track of the maximum sum of non-adjacent elements at each index.
At each index, the maximum sum is either the sum of the current element and the element two positions back, or the sum at the previous index.
Iterate through the array and update the maximum sum at each index accordingly.
Return the maximum su
Round duration - 60 minutes
Round difficulty - Medium
Design a data structure for a Least Recently Used (LRU) cache that supports the following operations:
1. get(key)
- Return the value of the key if it exists in the cache; otherw...
Design a Least Recently Used (LRU) cache data structure that supports get and put operations with capacity constraint.
Use a combination of hashmap and doubly linked list to implement the LRU cache.
Keep track of the least recently used item and update it accordingly when inserting new items.
Ensure to handle the capacity constraint by evicting the least recently used item when the cache is full.
Implement get(key) and put...
Mutex is used for exclusive access to a resource by only one thread at a time, while Semaphores can allow multiple threads to access a resource simultaneously.
Mutex is binary and can be locked by only one thread at a time, while Semaphores can have a count greater than one.
Mutex is used for protecting critical sections of code, while Semaphores can be used for controlling access to a pool of resources.
Mutex is simpler ...
Use SQL Joins to find the number of employees in each department.
Use a JOIN statement to combine the employee and department tables based on the department ID.
Group the results by department ID and use COUNT() function to find the number of employees in each department.
Example: SELECT department.department_id, COUNT(employee.employee_id) AS num_employees FROM department JOIN employee ON department.department_id = emplo...
Tip 1 : Work on communicating effectively, give a lot of mock interviews. There is no point studying so hard if your thoughts or solution don't reach the interviewer.
Tip 2 : Practice variety of questions. 50 questions of different topics, patterns are better that 50 questions done for same topic.
Tip 3 : Try to think of solution by different approaches, this will expand your horizon by doing less questions.
Tip 1 : Don't make a fancy resume, keep it simple, you can use Latex templates from overleaf.com.
Tip 2 : Make it short and crisp. Resume should not be more than 1 page. And don't write anything you're not confident about. For experienced people, read the JD first and design your resume accordingly.
Oyo Rooms interview questions for designations
Top trending discussions
The function checks if a string is a substring of another string.
Use the built-in string methods like 'indexOf' or 'includes' to check for substring.
If the language supports regular expressions, you can also use them to find substrings.
Consider the case sensitivity of the strings when comparing.
Code to multiply two matrices of dimension M*N and N*K.
Create a result matrix of dimension M*K.
Iterate through each row of the first matrix.
For each row, iterate through each column of the second matrix.
For each element in the row of the first matrix, multiply it with the corresponding element in the column of the second matrix.
Sum up the products and store the result in the corresponding position of the result matrix.
...
SQL query to perform matrix multiplication using two tables with row, col, and value columns.
Use JOIN operation to combine the two tables based on matching row and col values.
Use GROUP BY clause to group the result by row and col values.
Use SUM function to calculate the dot product of corresponding row and col values.
Use INSERT INTO statement to insert the result into a new table.
Prototype in JavaScript is an object that is associated with every function and object by default.
Prototype is used to add properties and methods to an object.
It allows objects to inherit properties and methods from other objects.
Modifying the prototype of a function affects all instances of that function.
Prototypes can be used to create new objects based on existing objects.
The prototype chain allows for property and
Classes in JavaScript are written using the class keyword.
Use the class keyword followed by the class name to define a class.
Use the constructor method to initialize class properties.
Add methods to the class using the class prototype.
Use the new keyword to create an instance of the class.
The number of different ways to climb a ladder of N steps by taking 1 or 2 steps at a time.
This is a classic problem that can be solved using dynamic programming.
The number of ways to climb N steps is equal to the sum of the number of ways to climb N-1 steps and N-2 steps.
The base cases are when N is 0 or 1, where there is only 1 way to climb the ladder.
For example, for N=4, there are 5 different ways: [1, 1, 1, 1], [1
Print a square matrix in spiral order
Start by defining the boundaries of the matrix
Iterate through the matrix in a spiral pattern, printing each element
Adjust the boundaries after each iteration to move inward
Repeat until all elements are printed
Retrieve the second highest marks obtained by each student from a table with student name, subject, and marks.
Use the RANK() function to assign a rank to each row based on the marks in descending order.
Filter the result to only include rows with rank 2 for each student.
Group the result by student name to get the second highest marks for each student.
The .live() method attaches an event handler to the current and future elements, while .delegate() attaches an event handler to a parent element.
The .live() method is deprecated in newer versions of jQuery.
The .delegate() method is preferred over .live() for performance reasons.
Both methods are used to handle events for dynamically added elements.
Example: $(document).live('click', 'button', function() { ... });
Example:...
Chaining in jQuery allows multiple methods to be called on a single element in a single line of code.
Chaining simplifies code and improves readability.
Each method in the chain operates on the result of the previous method.
The chain ends with a method that does not return a jQuery object.
Example: $('div').addClass('highlight').fadeOut();
A callback function is a function that is passed as an argument to another function and is executed later.
Callback functions are commonly used in event-driven programming.
They allow asynchronous execution of code.
Callback functions can be used to handle responses from APIs or user interactions.
They can be anonymous functions or named functions.
Example: setTimeout(function() { console.log('Hello!'); }, 1000);
The .bind() function in jQuery is used to attach an event handler function to one or more elements.
It allows you to specify the event type and the function to be executed when the event occurs.
The .bind() function can be used to bind multiple events to the same element.
It can also be used to pass additional data to the event handler function.
The .bind() function is deprecated in jQuery version 3.0 and above. It is reco
The angle between the hour and minute hands of a clock can be calculated using a formula.
The hour hand moves 30 degrees per hour and 0.5 degrees per minute.
The minute hand moves 6 degrees per minute.
Calculate the angle between the two hands using the formula: |30H - 11M/2|, where H is the hour and M is the minute.
Yes, it is possible to create a slideshow without using JavaScript.
Use CSS animations and transitions to create the slideshow.
Use HTML and CSS to structure and style the slideshow.
Utilize keyframe animations to create the slide transitions.
Use radio buttons or checkboxes to control the slideshow navigation.
Apply the :target pseudo-class to create a simple slideshow without JavaScript.
The men can take turns riding the scooter, allowing them to reach point B faster.
The men can form a queue and take turns riding the scooter.
The person riding the scooter can drop it off at a certain point and the next person can pick it up.
The scooter can be passed along the line of men until everyone reaches point B.
I was interviewed before Feb 2021.
Round duration - 90 minutes
Round difficulty - Medium
Questions on aptitude, English, logical reasoning, C/C++ and 5 coding ques. (only pseudo code).
Bob and his wife are in the famous 'Arcade' mall in the city of Berland. This mall has a unique way of moving between shops using trampolines. Each shop is laid out in a st...
Find the minimum number of trampoline jumps Bob needs to make to reach the final shop, or return -1 if it's impossible.
Use Breadth First Search (BFS) algorithm to find the minimum number of jumps required.
Keep track of the visited shops to avoid revisiting them.
If a shop has an Arr value of 0, it is impossible to reach the final shop.
Return -1 if the final shop cannot be reached.
Given two strings, S
and X
, your task is to find the smallest substring in S
that contains all the characters present in X
.
S = "abdd", X = "bd"
Find the smallest substring in S that contains all characters in X.
Use a sliding window approach to find the smallest window in S containing all characters of X.
Maintain a hashmap to keep track of characters in X and their frequencies in the current window.
Slide the window to the right, updating the hashmap and shrinking the window until all characters in X are present.
Return the smallest window found.
Example: S = 'abd
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 ma...
Find all possible paths for a rat in a maze from start to destination.
Use backtracking to explore all possible paths in the maze.
Keep track of visited cells to avoid revisiting them.
Return paths in alphabetical order as a list of strings.
Round duration - 60 minutes
Round difficulty - Easy
Questions based on OOPS were asked in this round.
A virtual function is a function in a base class that is declared using the keyword 'virtual' and can be overridden by a function with the same signature in a derived class.
Virtual functions allow for dynamic polymorphism in C++
They are used in inheritance to achieve runtime polymorphism
Virtual functions are declared in a base class and can be overridden in derived classes
They are called based on the type of object bei...
Types of polymorphism in OOP include compile-time (method overloading) and runtime (method overriding) polymorphism.
Compile-time polymorphism is achieved through method overloading, where multiple methods have the same name but different parameters.
Runtime polymorphism is achieved through method overriding, where a subclass provides a specific implementation of a method that is already defined in its superclass.
Polymor...
Deep copy creates a new object and recursively copies all nested objects, while shallow copy creates a new object and copies only the references to nested objects.
Deep copy creates a new object and copies all nested objects, while shallow copy creates a new object and copies only the references to nested objects.
In deep copy, changes made to the original object do not affect the copied object, while in shallow copy, ch...
Round duration - 30 minutes
Round difficulty - Easy
HR round with typical behavioral problems.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
posted on 27 Jan 2017
I was interviewed in Dec 2016.
I was interviewed before Feb 2021.
Round duration - 65 minutes
Round difficulty - Easy
There were 2 sections –
Aptitude and Logical Reasoning and MCQ based on Java question ,C++, coding for 20 min and 45 min respectively.
Section A- Not very difficult to clear this round although less time was a problem.
Section B- It contains 15 multiple choice question on c/c++,java and 4 simple coding questions
Determine if a given singly linked list of integers forms a cycle or not.
A cycle in a linked list occurs when a node's next
points back to a previous node in the ...
Detect if a singly linked list forms a cycle by checking if a node's next pointer points back to a previous node.
Traverse the linked list using two pointers, one moving at double the speed of the other.
If the two pointers meet at any point, there is a cycle in the linked list.
Use Floyd's Cycle Detection Algorithm for O(N) time complexity and O(1) space complexity.
Round duration - 75 minutes
Round difficulty - Medium
It was an online coding test in which 3 coding question were given.
Given two strings, S
and X
, your task is to find the smallest substring in S
that contains all the characters present in X
.
S = "abdd", X = "bd"
Find the smallest substring in string S that contains all characters in string X.
Iterate through string S and keep track of characters in X found in a window
Use two pointers to maintain the window and slide it to find the smallest window
Return the smallest window containing all characters in X
Given a non-decreasing sorted array ARR
of N
positive numbers, determine the smallest positive integer that cannot be expressed as the sum of elements from...
Find the smallest positive integer that cannot be expressed as the sum of elements from any proper subset of a non-decreasing sorted array of positive numbers.
Start with the smallest possible integer that cannot be represented, which is 1.
Iterate through the array and update the smallest integer that cannot be represented.
If the current element is greater than the smallest integer that cannot be represented, return tha...
Given a square chessboard of size 'N x N', determine the minimum number of moves a Knight requires to reach a specified target position from its initial position...
Calculate the minimum number of moves a Knight needs to reach a target position on a chessboard.
Implement a function that takes knight's starting position, target position, and chessboard size as input
Use breadth-first search algorithm to find the shortest path for the Knight
Consider all possible 8 movements of the Knight on the chessboard
Return the minimum number of moves required for the Knight to reach the target po
Round duration - 60 minutes
Round difficulty - Easy
It started with a discussion on the programs given in coding round. They asked me about my interest field after that they directly jumped into Networking, Linux and Ethical Hacking part looking my interest domain. They asked me various question on networking and linux.
Then they asked me to code a simple c program
Given a singly linked list of integers, return the head of the reversed linked list.
Initial linked list: 1 -> 2 -> 3 -> 4 -> NULL
Reversed link...
Reverse a singly linked list of integers and return the head of the reversed linked list.
Iterate through the linked list and reverse the pointers to point to the previous node.
Keep track of the current, previous, and next nodes while reversing the linked list.
Update the head of the reversed linked list as the last node encountered during reversal.
FTP uses port number 21 and SMTP uses port number 25.
FTP uses port 21 for data transfer and port 20 for control information.
SMTP uses port 25 for email communication.
Understanding port numbers is important for network communication.
The OSI Model is a conceptual framework that standardizes the functions of a telecommunication or computing system into seven layers.
The OSI Model stands for Open Systems Interconnection Model.
It consists of seven layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application.
Each layer has specific functions and communicates with the adjacent layers.
Example: Layer 1 (Physical) deals with physi...
To copy files in Linux, you can use the 'cp' command.
Use the 'cp' command followed by the source file and destination directory to copy a file.
To copy a directory and its contents, use the '-r' flag with the 'cp' command.
You can also use wildcards like '*' to copy multiple files at once.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Find the subset of an array with the largest sum of continuous positive numbers.
Iterate through the array and keep track of the current sum and the maximum sum seen so far.
If the current element is positive, add it to the current sum. If it is negative, reset the current sum to 0.
Also keep track of the start and end indices of the maximum sum subset.
Return the subset using the start and end indices.
Find smallest substring in s1 containing all characters of s2.
Create a hash table of characters in s2
Use sliding window technique to find smallest substring in s1
Check if all characters in s2 are present in the substring
Update the smallest substring if a smaller one is found
Algorithm to reverse a linked list
Create a new empty linked list
Traverse the original linked list and insert each node at the beginning of the new list
Return the new list
Lazy loading is a technique used to defer the loading of non-critical resources until they are needed.
Advantages: faster initial page load, reduced bandwidth usage, improved user experience
Disadvantages: increased complexity, potential for slower subsequent page loads, difficulty with SEO
Examples: images, videos, and other media files can be loaded only when they are visible on the screen
Ajax is a technique for creating fast and dynamic web pages. AngularJS is a framework for building dynamic web applications, while jQuery is a library for simplifying HTML DOM traversal and manipulation.
Ajax stands for Asynchronous JavaScript and XML
It allows web pages to be updated asynchronously by exchanging data with a web server behind the scenes
AngularJS is a JavaScript framework that extends HTML with new attrib...
A traffic light system controls the flow of traffic at intersections.
The system consists of three lights: red, yellow, and green.
Each light has a specific duration for which it stays on.
The system also includes sensors to detect the presence of vehicles and pedestrians.
The duration of each light can be adjusted based on traffic patterns.
The system can be connected to a central control system for remote monitoring and m
based on 4 reviews
Rating in categories
Business Development Manager
1.7k
salaries
| ₹0 L/yr - ₹0 L/yr |
Demand Manager
845
salaries
| ₹0 L/yr - ₹0 L/yr |
Hotel Manager
503
salaries
| ₹0 L/yr - ₹0 L/yr |
Key Account Manager
482
salaries
| ₹0 L/yr - ₹0 L/yr |
Guest Relation Executive
402
salaries
| ₹0 L/yr - ₹0 L/yr |
MakeMyTrip
Yatra
Treebo Hotels
FabHotels