Applied directly through their job postings and was contacted by email and then by phone to setup interviews.
Initially two phone interviews each 45 minutes in length back-to-back, with a 15 minute break in-between. Later that evening I was contacted to setup a third phone interview. When I completed the third phone screen I was informed that it was for the full time SDE position and not an internship (However I noticed no difference in type or difficulty of questions between it and the previous two phone interviews.)
Each interview consisted of a minor overview of what position my interviewer held in the company followed by some minor questions about my resume. (i.e. questions about the programming languages I was familiar with, questions about the difference between imperative and functional programming since I had experience with prolog, haskell, and scheme). Following those there were two or three warm up questions dealing with high level concepts in OOP and data structures. A few questions asking me how I would solve a given computing problem without actually producing code. A more difficult computing question where I was asked to produce code either on my side dictating it to my interviewer or through a shared editor. Finally a fairly difficult algorithms question about working in a very large problem space (working with large data sets) not producing code but attempting to find the most efficient solution.