I was contacted by a recruiter and after a quick call with them was invited to a follow-up screen call. The screen round took 1.5 hours and consisted of 30 min behavioral part ("Tell me about the time...") and 1 hour technical part. Technical part was live coding via Codility, it included two parts: a relatively simple coding task using your language of choice (string manipulation) and a quick SQL exercise (list of employees with max salary from each department).
Couple of days after the screen they invited me to onsite interview. The onsite took about 5 hours and had the following sections, 1 hour each:
- A deep dive in your past experience followed by a whiteboard system design question (Tiny URL)
- 1:1 behavioral with hiring manager (your past experience, difficult situations, etc)
- lunch
- Whiteboard coding round (Create a shipping tracking service)
- A mid-brief with the recruiter (How it's going so far, how serious I am to accept their potential offer and so on)
- Whiteboard database design (DVD renting system)
- Final debrief with the recruiter
During the whole process since the very first call they have been very polite and accommodating, maybe with a rare exceptions in a couple of cases from the onsite when the interviewing engineers were slightly distracted. The company employs a full army of recruiters and tends to switch you from one to another as you proceed further, but in most cases the transition went smooth. Unfortunately, all these good manners seem to disappear if they decide against you: I received a short courtesy call saying that they won't proceed further but can't tell me why. My follow-up question about which area to improve for a better fit in the future was left unanswered, which I think is not very professional.