I applied online. The process took 3 weeks. I interviewed at Ruangguru.com (Jakarta) in Feb 2020
Interview
I applied for a position as backend engineer. Overall, i must say it was very technical (yes, even when interviewing with the HR)
The interview was divided into 3 main parts with 1 additional parts at the end:
1. Role Matching, a brief 15 - 20 minutes interview with the HR. Discussing on your role, past experience, and some technical case in which you have to provide a solution & complexity analysis. (I did say it was very technical)
2. Live Coding Interview. This is a 1:1 interview with the backend engineer. You were a given a set of problem and were asked to solve it within 30 minutes followed up with time & space complexity analysis
3. System Design Interview. This is a panel interview with some of the engineering leaders including 1 senior engineer, 1 Techlead, and 1 senior engineering manager. You were given a case and were asked to solved it.
4. SVP (Senior vice president) Interview. Non technical interview. If you reach this point, it's likely you'll be getting the offer any time soon.
Not long after i completed the final interview, they sent me the offering letter through email.
Interview questions [3]
Question 1
Advance algorithm and data structure problem with time & space complexity analysis
I applied online. The process took 2 weeks. I interviewed at Ruangguru.com (Jakarta) in Sep 2021
Interview
There were three rounds in the interview process.
The first round was live coding. You will be interviewed by a Software Engineer. At that time, I was allowed to use any IDE that I was familiar with (they will change this soon to their own internal IDE). There were two levels to the live coding test, which you can refer to the interview questions.
The second round of the interview. I was interviewed by two people: One being a Senior Software Engineer, and one supposedly being the Tech Lead. This is a system design interview. In this round of interview, there are two levels as well. On the first level, you will be asked to mention in detail your projects. They will take one that they percieve as being able to be scaled up and have you think about how you will scale this up. The second level, they will ask you about a random system that they want you to make a design of. It may or may not be related to the company. I was lucky that I got something that was kind of related to them in some way.
The third round of interview was with the SVP. They will confirm what you have wrote on your CV with questions of a certain level of depth regarding to the skills that you wrote with respect to the position that you are applying to.
Interview questions [12]
Question 1
Coding Interview:
Level 1
1. Given a dictionary input where it has departments as keys and employee ids as values:
Print out an array of arrays where:
1. Each department that has the same number of employees are put in the same array
2. The arrays are ordered based on how many employees are in the departments that are in the array.
3. The departments appear in their natural ordering.
Sample Input
{"general": [2, 3, 4], "infra": [3, 5], "humor": [4, 6]}
Sample Output
[["infra", "humor"], ["general"]]
Coding Interview
Level 2
Similar to level 1, but we now add an additional input which is an employee id. Only include departments that have this particular employee id in it.
Sample Input:
dictionary: {"general": [2,3,4], "infra": [3,5], "humor": [4,6]}
employeeId: 3
System Design Interview:
Level 1:
Given the Automatic Schedule Generator that you just mentioned. You said that it only has one user and this particular user only comes from one faculty.
System Design Interview:
Level 2:
Ruangguru has this new feature called Tryouts. We want to add a Leaderboards feature to it. This leaderboards feature will tally up all the tryout scores that the students have obtained for that month, and display the top X students in the leaderboards.
SVP Interview:
You are given multiple files which contain integers. The total size of all the files is 1 terabyte. Say you only have 50 megabytes of memory. How would you sort it? ( I cannot answer)
SVP Interview:
Since you don't know how to answer the previous question, let's reduce the input into two files then, Each file is 500 gigabytes. How would you sort it when you have only 50 megabytes of memory (i.e. RAM purely used for the sorting algo)? Assume you have infinite disk space.