Begins with a written interview that goes over your programming and educational experience. The written interview also touches on Contextual information surrounding Canonical, e.g., what do you think of Canonical's mission statement and your involvement in open source projects.
Following the written interview, there is a short (2hr) technical assessment. After completing that, the hiring lead will figure out what role (if any) best suits you. Assuming they can find a role, you then will have an interview with the hiring lead and your future manager.