This was for a remote position in the Tokyo office.
The stages were as follows:
1. Back-and-forth with HR
2. Screening interview with Karat on DSAA
3. Code review interview
4. System design interview
5. Resume discussion
6. Two rounds of coding/algorithms interviews
7. Closing interview
8. If above passed, team matching interviews
Stages 3-6 are not necessarily done in that order. They were done on Zoom, and you can choose to do them all on one day, or split over 2 days.
Karat interviews are the absolute worst part of the process. You MUST pass at least 2/3 Leetcode medium problems within 1 hour, no exceptions. You can get screened out here just by being unlucky and getting a problem you aren't familiar with.
In my experience, HR is very friendly, cooperative, and transparent. They share what to expect at each stage as a candidate, and what the interviewers would be expecting from me. The interviews themselves held true to what HR shared, and it genuinely felt like every interviewer was there to help me to succeed.
At the end, I was told that I would be a hire, met a hiring manager, and was told that they would be working on an offer.
This is where stuff went downhill. It seems like they were running into restructuring issues like many other tech companies recently, and were unable to actually secure a position for me. After 2 months of going back-and-forth with HR for updates, I was finally given the concrete decision that at the end of all of that, there was no room to hire me at the current time.
To their credit, they absolutely did not string me along. HR advised me early on that a hiring decision was not the same as a job offer, and to keep up my processes with other companies even despite the hire decision.
It's just a shame as I was quite excited to work here after such an amazing experience with the interviews, and meeting such wonderful people during the process.