Zoomcar Interview Experience – ROR developer
I applied via Instahyre. The role was for a Ruby on Rails Software developer. The interviews happened at the Zoomcar office in Bengaluru in the middle of February 2020.
The coding had to be done using pen and paper.
- Find any peak element in array
- It was a simulation problem. I do not remember the problem exactly, but I think it involved different lines in a plane and given some constraints, was expected to find a way to arrange them to have least number of intersections points.
- Assume a list of all possible integers that can be formed by some fixed digits (say 0, 3, 4 and 9 – digits can repeat), where each integer can have at max a million digits. There were multiple queries, with each query giving a specific integer k from this list. The question was to find the rank of this integer if this list was sorted. With some observations it can be achieved by a linear scan from left to right.
It was purely based on Rails. Since I worked on Rails in my previous company, we had a brief discussion over what exactly I worked upon there using Rails. Then I was given some problem statement and was asked to design the code for it. It was mainly to design an error-handling mechanism while calling third-party APIs, with using classes and modules as required. Later I was given another problem statement where I had to first design the schema, then describe the different columns that would be present in the different relations and also the Rails associations between them. It concluded by writing some CRUD apis (routes, controllers, services and model layer) for the same.
It dealt with maintaining a leader board where you need to read data from file systems. Initial solution was to use two maps (frequency and inverse-frequency stores) but then simplified the solution to use a single map and heaps. Later few more constraints were added like the data can be too big for a single process, multiple cores can be used, and so on… the solution kept on changing with those environments. Finally there was some discussion over databases, how performance of queries can be improved, what is the N+1 problem and how it can be resolved in Rails, also how ORMs work and internally translate the queries, etc.
It was the HR round, where there was some basic chit-chat about my previous company, my interests in technologies, how I want to grow my career, compensation.
Result – Selected
The interviewers were very friendly, and discussing about technology in depth is quite interesting, so it was indeed a very good experience for me.