From what I recall, most companies did 3-5 rounds with escalating time commitment from both sides as the rounds progressed. A typical process would be:
* short 15-20 minute phone call with a recruiter to discuss your experience and gauge your interest.
* take home coding test. I consider this step to be a low pass filter to weed out candidates who can't code at all.
* phone interview. This would take about 1 hour with 1-2 engineers on the other end, possibly including the hiring manager. Technical questions would get asked here.
* in person interviews. Usually a full day with the company flying you out to their location. This would be a mix of culture fit, tech questions, meeting the team, etc.
That's four rounds. What would you cover in the other 3-4?