Like everyone else, I began by applying online. They don't require a cover letter, but you are dead-on-arrival if you don't take the time to write one. For example, at my university, about 400 people apply in a given year, and 24 are selected for first rounds.
My first round was similar to what else you can read here. I took the Problem Solving Test. I definitely recommend you work through the examples online beforehand. You'll get a sense of the types of questions and data sets you'll be dealing with. The key with the test is to prioritize; I'm pretty some problems are designed to take 10 minutes to solve-- a big waste of your time. You are not penalized for guessing, so only focus on the questions that seem doable.
Next part of the first round was two interviews, each 50 minutes total-- 20 minutes on behavior/experience and 30 minutes on a case. The behavioral questions are often overlooked in the preparation process, but I strongly encourage you to prep well for them. McKinsey wants to see that you've excelled in four key areas: problem-solving, achievement, leadership, and personal impact. I would prepare two answers for each of these categories. McKinsey will go very deep on each experience you share.
During the case portion of my first round, I was given the "good cop, bad cop" treatment. My first interviewer was pretty tough on me, never seeming impressed. He also repeatedly tried to get me to change my answers on questions. The key here is to remain calm, methodically explain and defend your position, without coming across as defensive. If you do this well, you'll get huge points with them. My second interviewer was very genial and helpful, so I had no concerns about that half of the day.
About 24 hours later, I received a call informing I had been selected for a final round, and that I was going to be flown out to a different office. They put me in a nice hotel, took me and the other candidates out for a nice dinner, and all-in-all, were extremely hospitable.
The final round consisted of three interviews in the same format as before. These were with two partners and the office director. I felt like these only went 'OK'; my interviewers were not terribly responsive or supportive with my answers. However, I projected confidence, remained structured with my answers, and didn't really screw up the math. I got a call about an hour after it was all over.
Overall, I was incredibly impressed with how professional the firm was throughout the process. Before each round, I was assigned a case prep 'buddy' (a current BA in the firm) to do a practice case with me. McKinsey strives to help you perform your absolute best during the evaluation process. I've never been treated so well during a recruiting process.
Final thoughts: be thoughtful and structured with your answers during the cases; be ready to go very deep on your past-experience questions; project confidence even if you are less confident about your answers; and above all, try to have fun with the process. The cases are a great example of what it's like to be a consultant, and if you want to become one, you should enjoy the cases at some level.