Round 1 OA

Very straightforward OA, pretty easy. Had to use chatgpt for the second question to get a very very elegant solution about bits.

Round 2 Interview with engineers

A physical interview at the Rakuten office. The office seems pretty nice, very similar to the foodpanda office, there are a lot of free japanese cup noodles at the pantry lol. When I arrived, I was asked to wait at a holding area with other candidates. While waiting I overheard some chatter among the candidates about the job market lol… classic talk before an interview. One of them was an NUS IS student and the other was an SIM CS student. He was saying how bad SIM CS was, but I was pleasantly surprised that he mentioned one of his schoolmates got into bytedance, but was complaining how everything was done in Chinese :sweats:.

Met the interviewers, was p chill, had a round of self introductions. Interestingly, one of the interviewers, the guy, saw that my CAP was 4.5 and was very impressed (hmmm… is it that good?). They then asked me about my time at Ascenda, the projects that I worked on and also my time at foodpanda. Nothing out of the ordinary here. Interestingly, even though they are a Japanese company the interviewers had great disdain over Ruby LOL.

Afterwards, it was a whiteboarding question, probably a leetcode easy.

In an array of integers, find the positive integer that is missing. Some examples: [1,2,6,3,4] output is 5 [-1,-2,0,1,2,6,3,4] output is 5

My first idea was that we can sort the array then iterate through the array, maintaining a variable to keep track of the previous number that we saw and find one that is missing. Was glad that I managed to explain the idea in point form, then went through my idea with an example, and explained the runtime and spacetime complexity.

The interviewers then probed me and asked me if i could do it without sorting. It took me q a while, but I managed to come up with the second idea using sets. Convert the array into a set then iterate through to find the missing number. Interestingly, I think the main goal of this exercise is to see whether I know what a set is and if I know how to apply it to solve the problem. When I mention sets, the interviewer asked me how does the set look like, to check if I know that there will be no duplicates.

After this whiteboarding exercise, the male interviewer asked me how I can keep updated with new technologies. I mentioned how I like watching some youtube personalities, and gave some examples of theo’s videos lol (thanks theo). The interviewer seems quite impressed. He also gave me some advice. I did not realise but I always say “I don’t know” before starting to answer a question, which reflects very badly on me, and make the interviewer disinterested before I even beginning to answer the question. (very interesting, first advice I was given, will definitely take that)

The lady then asked me about my CS2103T project. She asked me what is LOC lol (hmm I thought it was quite a well know abbreviation). She also asked me how I compare working in a Java codebase as compared to Ruby codebase. I mentioned that I prefer a Java codebase as it is typed and much easier to find where are the implementations of methods as compared to an untyped language like Ruby.

Learnings:

  • Good that I explained my idea in point form, then run it through with an example, before analysing complexity and writing the code
  • Do not start a question with “I don’t know” lol

Round 3 Interview with CTO

After the previous round, I was placed in a holding area, and told that I was going to meet the CTO (yay). Previously, they sent a guy back saying that they will be in touch with him later (he hasn’t met the CTO yet, ig he ain’t getting the job yikes). Waited for a few minutes, then I was escorted to a huge interview room with the CTO.

CTO was a japanese who spoke pretty fluent english, I had no trouble understanding him. Think this was more of a culture fit interview. No technicals at all. He asked me the classic culture fit questions

“Why do you want to join Rakuten?” Think I outlined several points

  • I don’t want to be functionally siloed like in big tech. For big tech companies like shopee and tiktok, you are joining the company as a specific role and specific engineer, be it frontend, backend or SRE. These companies want you to specialise so they can extract the ultimate value, and I mentioned that I don’t know what I like so Rakuten would be a great platform for me to find out, especially since Rakuten has many affiliate companies that I would undoubtedly have to interact with, and this is a great opportunity to find out what I like.
  • The monoculture in chinese big tech (wow idk how I came up with this term “monoculture” lol).
  • The ability to travel and relocate to Japan seems exciting

“What are my future plans?”

  • Finding what I truly like, jumping around teams to find out where i’m more useful in, then specialise in it, and probably a technical PM

Think these were the questions that were memorable. He mentioned that I am a “perfect fit”, wow, first time I felt that the whole interviews were so smooth.

Also some interesting notes:

  • They do not provide housing, but only visa if you want to relocate to japan
  • The office in japan is made up of about 70% non-japanese, wow, that is very surprising, and the official language is english (even in japan, woot!)