First step, a phone call from Person A. Some generic questions to get to know me, nothing special. All companies usually ask the same kind of stuff (experience, education, salary expectations, etc.).
Second step, another phone interview. This time with Person B with more technical questions about my experience. I can remember some were about web security (DDOS and XSS), server administration (which editor I use on the server), an easy CSS question, some challenges I've faced during my work years, etc.
Third step, a face to face meeting with Person A, Person C and Person D, which lasted about one hour, followed by another one with Person B and Person E which lasted between 30 and 45 minutes. During the first interview I was asked more specific questions about why I wanted to work there, if I think it's a stressful environment, my work philosophy, biggest problems I had, biggest weakness, etc. The second part of the meeting was technical, but without any coding questions, just about my experience developing websites.
A week after that I got an email from Person A telling me that I didn't pass to the next stage for reasons I still don't understand. I had a very good feeling after the interview and was sure that I was going to get an offer. Maybe I was asking for too much money? I don't know, the reason I was given weren't convincing.
Everybody was very nice with me and I really enjoyed the process, but being rejected with those specific reasons made me sad.
PS: I've used Person A, B, C, D and E because apparently using their positions is against glassdoor.ca guidelines.