OYO Rooms - WDE 2
Anonymous User
1784

YOE : 4.5 years .
Really well organized and whole process got completed in a single day , unlike top MNCs which delays each rounds by weeks .

Round 1 : Data Structures

Q1:
Reverse Linked List

Follow up : Use above method to reverse linked list in size k

Didn't expect LeetCode hard for UI role but was able to solve it as I was allowed to run the program with my locally installed node js. interviewer was more concerned of approach rather than actual output

Q2: First and last Index of element in sorted array

Q3: Two Sum

Some stories were given during these questions but ultimately they translated to above ones

Round 2 HTML + CSS + JS

Standard JS Concepts - Debouncing, Throttling, Memonization, Currying, this, hoisiting
Some questions which I remember :


 let obj = {
   x: 10,
    foo: {
	  bar: function() {
	    console.log(this.x);
	  }
	}
 }

let y = obj.foo.bar;
x(); // output
obj.foo.bar() // output

Then discussions went on this, call, apply, bind

 
 var y = 10;
  (function x() {
		 console.log(y); // Output ?
		 var y = 20;
  })()

Discussions on IFFE, var, let, revealing module pattern

CSS:


<style>

.red {background-color: red}
.blue { baclground-color: blue}

</style>
<div class = "blue red"> Div 1</ div>
<div class = "red blue">Div 2</div> 

Follow ups on specificity, cascading effect, inheritance

How you solve for cross browser styling issues ? ( Normalizing and reset css)

Performance optimization . async defer, inline css . Critical Rendering Path

Polyfill for reduce

Round 3 -LLD

Started with a simple problem.
Oyo room has a chat section . For each chat , it needs to open a socket connection with the server . But the cost for supporting too many open connections is very high . So we need to do the following in the chat component:

  1. When user clicks on chat button , open socket connection. ( no need to code this , but just a pseudo code for socket interaction, no need to worry about actual syntaxes and code )
  2. The connection should close 30 seconds after click. If user types something in the chat area , again reset the timer and start 30 sec counter. ( Almost similar to debouncing , this was the main task asked here ).

Then small discussion of setTimeouts, event queue, mico and macro tasks

Design Twitter . ( UI system design ). How you would manage state ? Which libraries you would use for state management ? How do you update posts real-time ? Talks about a separate component library .
Gave a React context based solution -> Decomposing whole app to small contexts

Round 4

Managerial - Disussions on how you monitor your app, maintain plugin quality and PR reviews , menoting experience , analytics of user data, how you decide business impact , thing which you are proud off, handling conflicts . If you are given a boring task like maintaining a codebase without actice work how would you react etc .. More of cultural fit + work experiences

My feelings

I can definitely say that people in Oyo are very workaholic . They don't want to show off in interviews unlike many top MNCs. The questions were also very standard ( not some of my previous experiences like adding a number and a function ), not of any Product Manager kind of questions where we need to imagine and come up with new features or prioritise it . The descriptions were also very clear and not very vague . Was purely technical and I was interviewed for a role in Oyo vacation homes.

Whole process completed in 1 day ( 4 hours ) , next day decision was shared and the 3rd day offer was given . 1 week to accept / reject it.

Comments (1)