The interview process consisted of three technical interviews and one HR interview. The process was fast, and all the interviewers and recruiters were pleasant.
Technical Interview 1
I solved the first problem optimally. Then, I was asked to solve the second problem. I solved it in time complexity O(N^2), but the interviewer asked me to solve it in O(N). With some guidance from the interviewer, I finally came up with an O(N) solution and wrote code for it.
The recruiter contacted me a few minutes later and informed me that I had received positive feedback from the interview. I then scheduled the second interview round. The recruiter was very nice and worked actively.
Technical Interview 2
I was asked about my previous experience. Then, I was asked one Leetcode hard question (but the interviewer modified the problem to make it easier). I solved it with the optimal solution (I spent about 5-10 minutes to solve it). Lastly, there was a system design question. I played with numbers first and then discussed my design solution.
After the interview, I thought the process might be as fast as the first round, so I was checking my email all the time, but I didn't get any response. A week later, the recruiter contacted me to schedule the third round.
Technical Interview 3
I was asked about my previous experience and what the hardest part I faced before. Then, I had a discussion with the interviewer about the hardest topic mentioned before. I was asked to solve many challenges from that topic. It was about distributed systems. After the topic, I was asked about my passion, motivation, why TikTok, and many other similar questions.
I was contacted by the recruiter a few minutes later and informed that I passed. Then, I scheduled another round.
HR Interview 4
This round was an HR round. So, I was asked many behavioral questions. I didn't prepare well for it, so I felt a little less confident. A few days later, I was informed by the recruiter that I passed all the interviews.