The common case is: (a) a (very nice) recruiter who largely doesn't understand your background calls to ask about which part of the company you should work in, then (b) you have a few phone interviews where you are asked what might as well be trick coding questions ("with some fancy bit manipulation this could be O(n)!") that are mostly collected in a few books or online anyway, and then (c) you do an on-site where you get another three to six of these questions, with maybe a simple "system design" question thrown in.
My hypothesis has been that the hiring process is largely aimed at Computer Science undergraduates with no significant prior work experience, and that the best way to distinguish just graduated CS undergrads is by testing them on the hardest class they are likely to have all taken: Introduction to Algorithms. Or maybe interviewing is just rarely rewarded and thus the lowest priority for engineers? In any case, insight into the design and implementation of this process would be really interesting.