ola logo

Ola Interviews

3 experiences52 reads37 questions33% success rate
OLA || SDE 2 || WORST INTERVIEW EXPERIENCE || Aug 2022 [Rejected]
ola logo
Ola
sde-2bangalore5 yearsRejected
August 26, 202211 reads

Summary

I interviewed for an SDE-2 position at OLA in August 2022, which unfortunately resulted in a rejection after what I considered my worst interview experience, especially during the system design round where the interviewer seemed disengaged.

Full Experience

Round 1: Online Assessment

I started with an online assessment on the Cocubes platform. It was a 40-minute round with two medium-level questions. I managed to code both problems within 30 minutes. However, the platform itself was quite frustrating, offering only two test cases to verify my code.

Round 2: System Design / HLD/LLD

This round focused on High-Level Design (HLD) and Low-Level Design (LLD, though it leaned heavily into HLD). The interviewer also asked some questions about my previous projects before diving into the core design problem. I was asked to design an online streaming platform.

I began by discussing the necessary features and services, outlining the functional requirements (FRs), non-functional requirements (NFRs), and network estimations. Following that, I opened ExcelDraw to design the components of the application. For the first 15 minutes, the interview seemed to be going well, with the interviewer in sync with my approach.

However, after this initial period, the interviewer completely lost focus. They seemed to be doing their own work during my interview time and barely paid attention, often requiring me to call out to them twice to get their attention for my questions or points. I genuinely felt bad for wasting my energy trying to drive the entire interview while they were disengaged. Despite this, I gave my absolute best to design the streaming platform, covering all possible components. This truly was my worst interview experience to date.

Interview Questions (1)

Q1
Design Online Streaming Platform
System Design

I was asked to design an online streaming platform during the system design round.

OLA | SDE 1 | Pune/Banglore
ola logo
Ola
SDE 1Pune/Banglore1 yearsWithdrew
May 22, 202119 reads

Summary

I interviewed for an SDE 1 role at OLA and successfully received an offer, which I later declined due to securing a better opportunity. My interview process involved an online assessment, followed by rounds focused on problem-solving, system design, and managerial discussions.

Full Experience

I applied for the SDE 1 role at OLA through a referral. My background includes a B.Tech in Computer Science from a Tier 3 institution, with 1 year of prior experience at a startup.

Online Test on Moocha

I received the online test link and Round 2 invitation simultaneously. The test lasted 60 minutes and consisted of:

  • SQL (5 mins): An easy SQL question based on joins, where I had to find the max value from a given schema.
  • 3 Coding questions (55 mins): These were of easy-medium difficulty. One was based on LIS, another involved easy array manipulation, and the third was a DP-based question. I managed to solve the first two questions completely. A minor issue was that the platform only supported Java and Python, whereas I usually code in C++.

Round 2 - PSDS (Problem-solving and Data Structure)

This round was 45 minutes long, and I was asked three questions:

  1. Shuffle Songs Without Repetition: I was asked how I would play a list of songs randomly such that no song repeats. My initial thought was a brute-force solution using random number generation. For the follow-up, "Can you do it in constant space?", after receiving some hints, I came up with a solution:
    for i from n to 1
      r = random number from (1 to i)
      play the song
      swap the song with ith song
    
    I was asked to code it, but I forgot the exact C++ random syntax, so I used a pseudo-random generator.
  2. Consecutive Numbers Summing to N: The problem was to find sets of consecutive numbers summing up to a target n, for example, [2,3,4] and [4,5] for n=9. I began explaining a solution using the formula Sum = n*(n+1)/2, but the interviewer asked for a brute-force approach first. I explained the brute force and then offered a few optimizations.
  3. Area Under Histogram Variation: This was a variation of the famous LeetCode "Largest Rectangle in Histogram" problem. I started with a brute-force explanation. The interviewer then prompted me to optimize using a different data structure, so I explained the stack-based solution. When asked how I identified the use of a stack, I elaborated on the concept of a monotonic stack. I was not required to code this problem.

Towards the end of this round, I was also asked "Why do I want to leave my current organization?"

Round 3 - Design Round

In this round, I was asked to design a movie ticket booking site/app, similar to BookMyShow. The discussion was very high-level, focusing on my approach and answering follow-up questions. No coding was involved.

Round 4 - Hiring Manager Round

During this round, two interviewers accidentally joined at the same time, which initially confused me. However, one interviewer was very friendly, introduced himself, and helped me feel comfortable.

  • I was asked to introduce myself and discuss my projects. The interviewer reviewed my resume, and then the rest of the interview involved me explaining my projects and previous work in detail.
  • Since I remembered every detail of my projects, including class names, the interviewer seemed impressed. He then shifted to asking about my other interests and hobbies.
  • With about 15 minutes remaining, I was given a problem that was a variation of the DNF sort. The interviewer asked about the rationale behind using three pointers and the core idea of DNF sort.

I received an email today stating that they are moving forward with my candidature, and I am currently awaiting an official offer. I was also curious about the work culture and work-life balance at OLA, as I'm leaving my current company due to a poor work-life balance.

Outcome: I ultimately declined the offer as I received a better one.

Interview Questions (5)

Q1
Shuffle Songs Without Repetition
Data Structures & AlgorithmsMedium

Given a list of songs, how would you play them randomly (shuffle) such that no song repeats?
Follow up: Can you do this in constant space?

Q2
Consecutive Numbers Summing to N
Data Structures & AlgorithmsMedium

Find the set of consecutive numbers summing up to n. For example, if n = 9, output [2,3,4] and [4,5].

Q3
Area Under Histogram Variation
Data Structures & AlgorithmsHard

A question based on the famous 'Largest Rectangle in Histogram' problem with a slight variation.

Q4
Design Movie Ticket Booking System
System DesignHard

Design a movie ticket booking site/app similar to BookMyShow. The discussion was very high-level, focusing on my approach and follow-up questions, with no coding involved.

Q5
DNF Sort Variation
Data Structures & AlgorithmsMedium

A problem that was a variation of the Dutch National Flag (DNF) sort. I was asked to explain why 3 pointers are used and the underlying idea behind DNF sort.

Ola | SDE2 | Feb 2021 | Pune | Offer
ola logo
Ola
SDE IIPuneOffer
February 28, 202122 reads

Summary

I recently interviewed for an SDE2 position at Ola in Pune during February 2021 and successfully received an offer. The interview process spanned multiple rounds, including problem-solving, system design, and a rigorous hiring manager discussion covering a wide range of technical and behavioral topics.

Full Experience

Interviews Breakdown

I was initially contacted by a recruiter from Ola who was incredibly flexible with scheduling all the interview rounds, providing excellent support throughout the process.

Problem Solving Round 1

This round consisted of two easy Data Structures questions, primarily related to arrays and strings. Unfortunately, since it was about a month ago, I cannot recall the exact problem statements, but they were comparable to LeetCode easy problems.

Problem Solving Round 2

This round, which was 15 days prior, was scheduled for one hour but concluded in about 40 minutes after I addressed both questions successfully.

  • Question 1: Given an array, I had to determine if it could be sorted by reversing any single subarray within it. For example, in [1, 2, 3, 4, 8, 7, 6, 9], reversing the subarray from index 4 to 6 would result in a sorted array.
  • Question 2: This was a variation of the Two Sum problem. I needed to find pairs of numbers in the array [1, 2, 3, 4, 8, 7, 6, 0] that sum up to 6. It was assumed that numbers were positive and distinct, with expected output like [[2,4], [6,0]].

System Design Round

This round took place three days before the offer. It began with a discussion about my current project, where I was asked to draw a block diagram of its various components. Following that, the main task was to design a seat booking system similar to BookMyShow.

  • GetSeatsInfo: This involved designing how to fetch seat information, including grid details, screen layouts, seat categories, and color coding for the UI. I discussed storage mechanisms in the database and the structure of request/response payloads.
  • BookSeats(User u1, array of SeatsNumbers, ScreenId, TheatreId): The core challenge here was managing concurrency and consistency issues during seat booking. This discussion went very smoothly, and it felt like a collaborative effort in building the solution.

Hiring Manager Round

The hiring manager round, held the day after the design round, lasted about 1 hour and 45 minutes and was the most intense. The questions were spontaneous, and the interviewer delved deeply into every detail I mentioned, thoroughly examining my resume.

  • I was asked about the most challenging project I've worked on, including the specific challenges, how I overcame them, and the tech stack used.
  • The interviewer inquired about the rationale behind choosing that particular tech stack and, hypothetically, if I were to rebuild the project from scratch, what new tech stack I'd select and why.
  • Since I mentioned microservices, I had to justify that choice, describe how microservices would be implemented in my current project, and specify the tech stack for each.
  • We discussed flaws in my current project and the problems with NoSQL databases that might lead one to switch to relational ones.
  • A complex scenario involved designing an analytics approach for my project without using a relational DB. I proposed a data pipeline and was then asked to design its workings.
  • Numerous questions followed on messaging systems (RabbitMQ, Kafka, their differences, components, necessity, and real-world use cases), Redis (what it is, if it can be used as a message queue), and caching concepts.
  • My experience with application monitoring tools like Kibana and Grafana was explored, including their internal workings, how I would design such a system, and appropriate database choices (especially Cassandra for write-intensive scenarios).
  • Integration of logging tools, container-specific details, and log pushing mechanisms to Kibana were also discussed.
  • Fundamentals of load balancing, proxy vs. reverse proxy, ZooKeeper, and sharding (when and why it's needed) were covered.
  • Finally, several behavioral questions were posed, such as conflicts with managers/peers and their resolution, best and poor performance feedback received and how I handled it, and my motivation for joining Ola.
  • I also had the opportunity to ask questions at the end.

Interview Questions (31)

Q1
Sort Array by Reversing Single Subarray
Data Structures & Algorithms

Given an array, determine if it can be sorted by reversing exactly one subarray. For example, in [1, 2, 3, 4, 8, 7, 6, 9], reversing the subarray from index 4 to 6 results in a sorted array.

Q2
Two Sum (Specific Target)
Data Structures & AlgorithmsEasy

Find pairs of numbers in the array [1, 2, 3, 4, 8, 7, 6, 0] that sum up to 6 (X). Assume positive numbers and distinct elements. Expected output example: [[2,4], [6,0]].

Q3
Design BookMyShow Seat Booking System
System DesignHard

Design a seat booking system similar to BookMyShow. Key requirements included:

  • GetSeatsInfo: Fetch seat information with grid details, screen, seat categories, seats layout, color coding for UI. Discuss storage in DB, request/response formats.
  • BookSeats(User u1, array of SeatsNumbers, ScreenId, TheatreId): Manage concurrency and consistency issues.

Q4
Most Challenging Project
Behavioral

Discuss the most challenging project you've worked on, detailing the specific challenges and how you overcame them.

Q5
Project Tech Stack
Other

What tech stack did you use in your most challenging project?

Q6
Rationale for Tech Stack Choice
Other

Explain the rationale behind choosing the specific tech stack for your project.

Q7
Rebuilding Project with New Tech Stack
System Design

If you had to recreate this project from scratch, what new tech stack would you choose and what would be your approach? Justify your choices. (My answer involved Microservices)

Q8
Justification for Microservices
System Design

Explain your reasons for choosing a microservices architecture.

Q9
Microservices in Current Project
System Design

Identify and describe the potential microservices within your current project.

Q10
Tech Stack for Each Microservice
System Design

Specify the tech stack for each microservice identified in your current project.

Q11
Flaws in Current Project
Behavioral

Discuss the flaws or shortcomings present in your current project.

Q12
NoSQL to Relational DB Migration Rationale
System Design

Discuss problems encountered with NoSQL databases that would lead you to consider switching to a relational database.

Q13
Designing Data Pipeline for Analytics (without Relational DB)
System DesignHard

Given a project requiring analytics, and a constraint against using relational databases for analytics queries, how would you approach the database design? If a data pipeline is proposed, how would you design and implement it?

Q14
RabbitMQ vs. Kafka and Message Queue Internals
System Design

Explain what RabbitMQ is. Discuss the differences between RabbitMQ and Kafka. Describe the core components of a message queue system.

Q15
Need for Message Queues and Use Cases
System Design

Explain the necessity of message queues and provide scenarios where you have used them in your current project.

Q16
Redis: Capabilities and Message Queue Use
System Design

Explain what Redis is. Can Redis be utilized as a message queue?

Q17
Caching Fundamentals
System Design

Define caching and explain how it contributes to system performance.

Q18
Application Monitoring Tools Experience
Other

Discuss your experience with application monitoring tools like Kibana and Grafana.

Q19
Internal Workings and Design of Monitoring Tools (Kibana/Grafana)
System DesignHard

Explain the internal mechanisms of tools like Kibana and Grafana. If tasked with designing a similar monitoring system, how would you approach it?

Q20
Database Choices for Monitoring Tools
System Design

What type of database would you choose for implementing systems like Kibana and Grafana, and why?

Q21
Cassandra for Write-Intensive Monitoring Systems
System Design

Discuss the suitability of Cassandra for monitoring systems, particularly its advantages in scenarios with extensive write operations.

Q22
Integration and Log Ingestion for Monitoring Tools
System Design

Explain how logging tools are integrated into an environment, how they acquire container-specific details, and the process by which log messages are pushed to systems like Kibana.

Q23
Load Balancing: Concept and Necessity
System Design

Define load balancing and explain its importance in distributed systems.

Q24
Proxy vs. Reverse Proxy
System Design

Distinguish between a proxy and a reverse proxy.

Q25
Apache ZooKeeper Mechanics
System Design

Explain the internal workings and principles of Apache ZooKeeper.

Q26
Sharding: Definition, Need, and Rationale
System Design

Define database sharding, explain when it is necessary, and justify its use.

Q27
Conflict Resolution with Manager/Peers
Behavioral

Describe any conflicts you've experienced with team managers or peers and how you effectively resolved them.

Q28
Best Manager Feedback
Behavioral

Share the most positive feedback you've received from a manager during a performance review.

Q29
Handling Critical Manager Feedback
Behavioral

Describe any constructive or critical feedback you've received from a manager and how you addressed it.

Q30
Why Ola?
Behavioral

Why are you interested in working at Ola?

Q31
Candidate Questions for Interviewer
Behavioral

Do you have any questions for us?

Have a Ola Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Ola.