I applied through a referral and was followed up with 3 interviews.
The first interview was behavioral, second interview was logical, and the last interview was technical.
First Interview (Duration: 60 minutes)
This interview was purely behavioral. I was asked about my background, and certain questions that pertained to what I had listed on my resume. Furthermore, I was severely grilled about one of my personal projects (motivation behind it, skills used, etc.). Lastly, I was asked a few questions that were relevant to the coursework I'd listed.
Second Interview (Duration: 60 minutes)
This interview comprised of classic logical puzzles and I was asked to explain my thought process and approach to each of these questions. "Thinking aloud" was stressed.
Third Interview (Duration: 60 minutes)
This was a full fledged technical interview with data structures, algorithms and optimisation covered.