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.

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!