I come from a Tier-3 private engineering college based out of Kolkata, India. I got to know about the opportunity at Rakuten through our college placement team. This was a pool campus drive, (for those who are not familiar with pool campus, it is when multiple universities/institutes come together at one common place for a hiring drive by an organisation) for a six months long, well-paid internship program with a PPO offer at the end of it(based on performance during internship).
Round 1: After some presentations and company introduction to a huge crowd of more than 1000+ candidates sitting at the audience, we were called batch-wise for the first round. The first round consisted of 40+ quant, LR, verbal and reasoning MCQs. Along with it, there were four coding questions. The first one was a simple math-based question. The second one was a stack based problem, a modified version of Stock Span problem. The third one was a very interesting medium-hard optimisation problem. The fourth and final problem was an implementation of the popular 2048 tile-based puzzle game.
Round 2: After the first round a handful of around 70-90 candidates were shortlisted. This round was a technical interview where I faced a senior engineer, the questions were really good and it lasted for around 45-50 minutes. The questions were from algorithms and data structures, OOPs and simple low level design and DBMS. I was asked to design a browser (high level backend) involving all kinds of state-management and a few functionalities. The other algorithm questions were majorly from linked lists, graphs, stacks, queues, etc. I was confident of getting selected and was informed the same as well after the interview. The next round was supposed to happen within a few days over Skype call.
There was quite some gap before the third round, and that created a panic subconsciously, which I did not like. Later I got to know that the delay was because of the schedule of the engineer who was supposed to interview me and due to some production issues in their team.
Round 3: This was the second technical interview round. For us it happened over Skype. I faced a Senior Architect and Manager, the questions were of higher difficulty involving concurrency in application development, low level detailed questions of Java, locking in DBMS, other commonly asked DBMS and Java concepts. From data structures there were two questions, one was a performance optimisation problem which I was able to solve using modified implementation of hash-maps and another was a dynamic programming problem. Other questions were example/scenario-based like comparison of NoSQL against RDBMS, exception handling, polymorphism, etc. The interviewer was pretty well versed with the internal working of RDBMS databases and Java, thus the level of questions I faced were pretty tricky, so you can expect to get a bit grilled in this round, to be frank. You need to be honest and calmly solve as many questions as you can. They might also ask you to write SQL queries to design a system from scratch, so do brush-up you SQL commands as well. In the end, he also introduced me the work he was involved with and the complexity of that, the problems they are solving currently, etc.
I honestly thought that I did not perform well enough in this round, thus I had no hope of getting the offer. I asked my 2-3 peers who also appeared for their respective interviews and got to know that they also had a similar experience of getting grilled by the level of questions.
To my surprise I got through and was selected. 🙂
Round 4: This is an optional round for the internship role. This round is a face to face discussion with an HR. It involves basic behavioural and scenario based questions.
Verdict: Selected for the 6 months internship at Rakuten India (Bangalore office).
Later I got to know that about 10-12 interns were selected from eastern India. The internship program had approximately around 80 interns all over the country.
Edit 1: Got Macbook Pro to work on. 😉 Nearly midway through the internship, learnt lots of amazing things here. The learning curve is steep. The culture is great and highly employee-centric management.
Edit 2: Worked on live projects within a real team. Presented my work to the India-CEO at the end of my internship. PPO offered. The internship program was amazing and one of a kind.