I sent in the online application in late October, a bit more than a week before the submission deadline. In mid-November, a recruiter emailed me to schedule phone interviews with current employees. I told him that I had received an offer from another company, and he marked my case as urgent. Because of this, he was able to squeeze me in for my first two interviews the very next week, a third follow-up interview the week after that, and through hiring committee and into an offer after one more week. Throughout the whole process I constantly kept in touch with my recruiter, and overall had a great experience working with him.
As a second-year student, all of my interviews were technical. As such, each interview had the same format - spend five minutes talking about your background, write code in a shared Google Doc for the majority of the time, then use the leftover time to ask questions.
I messed up the first of my back-to-back 45-minute interviews, rushing in and barely scraping together an answer, but slowly and steadily found a good solution to the second interviewer's question. Because of my inconclusive performance, I was asked to come in for a third interview. I managed to find an optimal performance extremely quickly, and we actually ended the call early - the interviewer only had one problem prepared and I didn't have enough questions to fill up the rest of the time. 15 minutes of time.