I applied the job on the company's website.
About 10 days later I got an email from HR manager, she set up a phone interview for me with the engineering manager.
After the phone interview, HR manager set up the on site interview.
The on-site interview took about 2-3 hours.
First, I met the HR manager.
Then a senior software engineer interviewed me.
After that another software engineer interviewed me.
Then the manager interviewed me and showed me around.
Then the Chief Operating Officer interviewed me.
Finally the president interviewed me.
About a week after the on-site interview I got the offer. I did not accept it because I got multiple offers.