1. Recruiter call followed by a 15min coding challenge - an easy sorting with comparator
2. Phone screen - Talk about experience, interests. followed by coding their own custom problem which involved applying logic similar to finding longest substring with unique characters. Follow up questions on how to scale the problem to run on different nodes, with multiple threads etc..
3. Onsite - 4 rounds.
Round 1 : Coding (their own custom problem) which involved hashmaps, heaps, sorting.
Round 2 : System Design - designing a system similar to finding nearest restaurants given a location.
Round 3 : Behavioral . Challenges faced, Lessons learnt, interesting projects, cultural fit.
Round 4 : This was a very random round. The interviewer didn't show up and a replacement was found after a long wait. He wasn't prepared on what to focus. He threw in a bunch of basic hashmap related coding questions, scaling the algo, resume based etc..
Couple of my interviewers were not on time and they didn't seem well prepared totally.