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?
1 Online assessment/coding round
2-4 coding calls each 1 hour
1 System design
1 Behavior
1-2 Another bullshit meet the managers call
Why would you count that as 1 interview? It's always an exhausting 4 hour marathon of algorithms, data structures and systems design rounds with 4 different people, frequently split over a couple of days.
I've also never seen it split over multiple days. Often, pre covid, the company is flying people out and paying for hotel rooms and food at this stage and the interviewee is taking time off from their current job. An extra day adds unnecessary costs to both sides. If I was interviewing somewhere and they tried to split up this step I'd probably get annoyed and potentially cancel the interviewing process.
You could theoretically have ten 1 hour interviews, back to back in 1 day, and call it 1 step in a multistep process, but most people would call it excessive.
Occasionally you’ll get a set of rounds that last 3-4 hours, but it was just as rare back then.
The main difference between big tech companies is the reliance on LC type algo/ds, and the insistence on getting to the optimal solution for anything but the hardest questions. Also 'normal' companies are more likely to ask more domain specific questions... for instance, you might get pairing sessions that stress knowledge of language/framework, SQL query building, etc, and are going to be a bit more permissible of mistakes.