Initial phone screening done by a recruiter, who also asks very basic technical questions at the end. From there, a hacker rank test is scheduled with 2 problems. You are given 36 hours to do so. The hacker rank questions were 1 fairly easy problem, and 1 moderately difficult problem. Both have time constraints for large file sizes so unless you write high performing code, you will not pass all test cases. I did not pass all 12/12 for each one, however, they still informed me that I passed. From there, I was scheduled to an on site interview.
On site interview consists of 4 1-on-1 interviews, lasting each an hour, for a total of 4 hours. There are two technical. The first one was all algorithms. STUDY YOUR 'CRACKING THE CODING INTERVIEW' BOOK! The examples come out of this book! I was given two questions to write out on a whiteboard. The second interview was behavioral. You are given 3 broad questions that you are expected to give roughly a 10 minute answer for in STAR format. 'Tell me about a time x happened' and how did you resolve it'. They are looking for team players, people who are open, and most importantly, someone they can identify with. I was asked a lot of follow up questions about the real life stories I was giving. You should practice telling these stories and be ready to really sell how you overcame the issue, and how it made you and/or your team better. Ten minutes gives you plenty of time to provide a lot of context and detail, the interviewer wants to relate to you! The third interview was another technical interview. This one was more explain the architecture you worked with in depth. There were a lot of questions that the interviewer just wanted to hear you talk through technically. I believed this was just to get a judgement/feeling of how comfortable/confident you were being able to explain technologies and demonstrate understanding. I was also asked to whiteboard out basic architectural strategy for implementing certain classes. The fourth interview was a case study. This one is important! The case study has no WRONG ANSWERS! Don't overthink it, just ask QUESTIONS! I asked questions endlessly until we had figured out everything that there was to it. It's not meant to be difficult, and it's not meant to overthink, there is no trick either. It's simple engineering. Find out the problems, assess why things were done a certain way, offer solutions etc. I was also given a paper with terribly written code on it, and was asked to clean it up as much as I could.
The interviewers were all incredibly friendly, professional, intelligent, relatable, and most importantly, they helped you along and made you feel comfortable. None of the interviewers were ever condescending which is something I have found time and time again. If you get stuck, they are there to give you hints and help you a long. Even in my code I made a few small mistakes, but when they pointed them out, I was able to clean them up immediately. This really helped my pre-interview anxiety. At no point did I feel uncomfortable, and they also did not ask text book questions, or expected perfect syntax. The interview process from start to finish was well done, and the best that I have been a part of. They truly want to assess the power of your brain, creativity, understanding, and your personality. This may weed out some higher level technical coders that may be poor communicators, but that is there prerogative.
I received an offer the following day. Overall, the interview wasn't difficult, but I think the interviewers have a great sense of who is BS'ing them and who truly knows what they are doing. READ YOUR BOOK! Practice case studies. Practice reciting behavioral questions in the mirror.