I was part of a recruitment drive in Ola’s headquarters in Bangalore. The first row was a Hackerrank test which consisted of a DS question, a SQL statement and a small script to consume a RESTful API. Those who cleared this round proceeded for the face to face interviews.
I had to work through a sorting-based solution and a hashing-based solution for this. Complexity analysis was discussed as well.
2. Game of Nim (DP)
Wrote pseudocode for this, and also discussed the recurrence and why it works. Memoization was also discussed.
1. There is an array of A’s and O’s. A stands for Apple, O stands for Orange. We have m number of spells, each spell allows us to convert an orange into an apple. Find the longest sequence of apples you can make, given an array and the value of m.
I had to code this live on a laptop, and the interviewer tested it using several test cases.
After this, there was a discussion on my project, most of which was essentially a discussion on scheduled task creation, execution and strategies for the same.
This was a pure system design round. We started with some questions on RESTful API design, and later moved on to my project. After I discussed my project, the interviewer cross-questioned me on several corner cases, and listened to how we have handled them.
Then he moved on to sharding and distributed databases, applying it to my project’s scenarios. After this, we discussed load balancers, different algorithms for the same and so on.
Then we discussed consistency and availability in terms of web apps, and cases where a system needs to be consistent in some operations and available in some other operations.
Based on this, the interviewer made me write a skeleton implementation for a distributed database system which supports connections in configurable modes – consistent, available, loosely consistent and loosely available.
This was by far the toughest round I’ve faced in any interview, and it was more than a hour and half in length.
This was the hiring manager round, we mainly discussed the culture at Ola and he wanted to know about how I work in different situations. He also wanted to know how open I am to mentoring other people. Later, we discussed some problems of working in high-velocity development efforts and how to mitigate them. This was a relatively short interview of about 40 minutes.