Step 1 - Recruiter contacted me about opening
Step 2 - Recruiter interviewed and asked typical recruiter questions.
Step 3 - 30 minutes technical interview. Interviewer asked about project that I liked in the past. And asked question related to SQL join.
Step 4 - Onsite interview - 3 hours long.
1-st Hour: asked how to write code for all possible string permutation, you can find answer to this question on internet. Both interviewer has much less experience than me. I didn't expect to get such programming task, so couldn't find a solution.
Then they asked about database related question, how to extend existing database to add more features and how to write SQL queries. The second question relatively easy.
2-nd Hour: Interviewer is more senior than the previous one. Asked how to design a web browser. Then how to convert number 1-99 to word, then how to extend with number up to 999.
3-rd Hour: Hiring manager also asked how to implement different kind of problem, one example how write code to list the UNIX file system, basically how to implement "ls" command.
After the last interview, the recruiter said that they're going to give feedback about the result.
Step 5 - Recruiter got back to me after 2 office days saying that my skills and experience don't match the role they have quite as well as some other candidates.
I'm disappointed about the feedback, I thought I would get a better explanation. I knew that it wasn't a good fit, since I have more experience than all of the people that interviewed me. So, they're looking for people that has done mostly programming (not architecture) in the last few years.