1) Take-home code test
2) Interview + code review (online)
3) Interview with CEO/HR (at the office)
The take-home test was in VueJS. Despite my lack of experience in Vue, I managed to use my ReactJS knowledge to pass it.
The code-interview was alright. The manager and CTO were nice people. The CEO was also a very friendly person too. Overall, it was a pleasant experience throughout the interview process.
I was ultimately rejected after the last interview, on the reason that my "reason for changing job was weak" (message relayed to me by my recruiter). The reason I gave was along the lines of "to improve my financial situation so I can settle down in Japan, get married, buy a house, and raise kids"
I was told at the last interview, that I passed the previous interviews pretty positively. So if I failed to get an offer after all that, my guess is that they're either unwilling to meet my salary demand, or are just looking for a workaholic.
The company expects you to go to the office at least twice a week even during the Covid pandemic, which does indicate something about how they care about their employees. Also, they recently moved to a new office (2 weeks ago), but still don't have enough tables for their full engineer team, and yet expect them to come to the office on alternating days.
I'm a little disappointed that they rejected me based on the "weak reason for changing jobs", but I think I dodged a bullet there. If they can't see their employees as humans with non-work aspirations and needs, they probably won't appreciate you fully as a contributor anyway.