Interview Experience at OYO Rooms for Web Development Engineer(WDE) 2

oyo rooms logo
oyo rooms
web development engineer 2bengaluru1.83 years
May 25, 20193 reads

Summary

I interviewed at OYO Rooms for a Web Development Engineer Level 2 position, which involved multiple rounds focusing on JavaScript, HTML/CSS, data structures, algorithms, and React/Redux. The process spanned a full day, with significant waiting times between rounds.

Full Experience

I recently interviewed at OYO Rooms for the Web Development Engineer (WDE) 2 role. I currently work as a Front End Developer at BookMyShow with 1 year and 10 months of experience. The interview process took place in Kormangala, Bengaluru, on April 20, 2019, and was quite lengthy, consuming the entire day due to considerable gaps between rounds, though lunch was provided.

My first round was a Pen and Paper Round, lasting about an hour. It included four JavaScript questions covering topics like Closures, creating a Polyfill for the Filter method, and understanding the usage of the 'this' keyword. Additionally, there was one algorithm question on the Balanced Parenthesis problem.

The second round was a Face to Face Interview-1, which focused on HTML, CSS, and JavaScript, lasting around 40-50 minutes. We discussed Function Prototypes and reviewed the questions from the first round. I also answered a few CSS questions, explained how lazy loading works, and was asked to write HTML, CSS, and JavaScript code for a modal box similar to one on their website. The interviewer also posed questions about closures within loops.

My third round, Face to Face Interview-2, was dedicated to Data Structures and Problem Solving and lasted about 30-35 minutes. I was asked to solve the problem of finding the one missing number in a given range, print the right view of a binary tree, and write a function to find the intersection point of two linked lists.

The fourth round was another Face to Face Interview-3, this time focusing on JavaScript, React, and Redux, which was the longest at 80-90 minutes. Topics covered included Event Bubbling and Event Capturing, creating a given CSS design on Codepen, understanding Object.assign() and Object.seal(), and more questions on Prototypes. I was also tasked with creating a Polyfill for the Reduce function. We had a detailed discussion on React and Redux, and I was asked to build a login gallery app using React and Redux, handling errors through a higher-order component. Finally, we discussed blocking and non-blocking API calls.

My last round was a Managerial Round, which lasted about 50-60 minutes and consisted primarily of behavioral questions.

Interview Questions (17)

Q1
JavaScript Closures
Other

Explain JavaScript closures and how they work. Provide examples of their use cases and discuss common pitfalls.

Q2
Polyfill for Array.prototype.filter
OtherMedium

Write a polyfill implementation for the Array.prototype.filter method in JavaScript.

Q3
JavaScript 'this' Keyword
Other

Explain the different contexts in which the 'this' keyword behaves in JavaScript. Provide examples for each scenario (e.g., global, object method, constructor, call/apply/bind, arrow functions).

Q4
Balanced Parentheses Problem
Data Structures & AlgorithmsEasy

Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if open brackets must be closed by the same type of brackets and open brackets must be closed in the correct order. Note that an empty string is also considered valid.

Q5
JavaScript Function Prototypes
Other

Explain JavaScript Function Prototypes, the prototype chain, and how inheritance works in JavaScript using prototypes.

Q6
Lazy Loading Mechanism
Other

Explain how lazy loading works, including its benefits and common implementation techniques in web development.

Q7
HTML, CSS, JS for a Modal Box
OtherMedium

Write HTML, CSS, and JavaScript code to create a functional modal box. The modal should open and close correctly, and be styled appropriately.

Q8
Closures in Loops
Other

Discuss issues and solutions related to closures when used inside loops in JavaScript.

Q9
Find the One Missing Number in Range
Data Structures & AlgorithmsEasy

Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missing from the array.

Q10
Binary Tree Right Side View
Data Structures & AlgorithmsMedium

Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom.

Q11
Intersection Point of Two Linked Lists
Data Structures & AlgorithmsEasy

Given the heads of two singly linked lists headA and headB, return the node at which the two lists intersect. If the two linked lists have no intersection at all, return null.

Q12
Event Bubbling and Event Capturing
Other

Explain event bubbling and event capturing in JavaScript. Describe their differences and use cases.

Q13
CSS Design on Codepen
OtherMedium

Recreate a given CSS design using Codepen. The specific design details were provided during the interview.

Q14
Object.assign() and Object.seal()
Other

Explain the purpose and usage of Object.assign() and Object.seal() methods in JavaScript. Discuss their impact on object properties and extensibility.

Q15
Polyfill for Array.prototype.reduce
OtherMedium

Write a polyfill implementation for the Array.prototype.reduce method in JavaScript.

Q16
Login Gallery App with React, Redux, HOC
OtherHard

Design and implement a login gallery application using React and Redux. The application should handle errors through a Higher-Order Component (HOC).

Q17
Blocking and Non-blocking API Calls
Other

Explain the concepts of blocking and non-blocking API calls in web development, including their implications for performance and user experience.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!